# centOS中Nginx的安装

# 一:Nginx准备环境的安装

# gcc的安装

gcc是linux下的编译器,所以需要安装。

# 查看版本
gcc -v
1
2
# 查看没查看到就安装
yum -y install gcc
1
2

# pcre安装

pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。

# 安装
yum install -y pcre pcre-devel
1
2

# zlib安装

zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装。

# 安装
yum install -y zlib zlib-devel
1
2

# openssl安装

openssl是web安全通信的基石,所以需要。

# 安装
yum install -y openssl openssl-devel
1
2

# 二:开始安装Nginx

Nginx下载地址:http://nginx.org/en/download.html

# Nginx下载

下载方式分为两种:

  • 手动下载,自己用工具上传。
  • 命令下载,此处以命令方式距离。
# 下载nginx安装包
wget http://nginx.org/download/nginx-1.18.0.tar.gz

# 注意:提示没有wget命令,用下面命令安装
yum -y install wget
1
2
3
4
5

下载完成后,将安装包移动到 /usr/local/nginxhere 下,如果没有文件夹请创建,具体命令如下:

# 切换目录
cd /usr/local

# 创建文件夹
mkdir nginxhere

# 移动文件
mv /usr/local/nginx-1.18.0.tar.gz /usr/local/nginxhere/nginx-1.18.0.tar.gz 

1
2
3
4
5
6
7
8
9

# Nginx解压安装

  1. 解压
tar -zxvf nginx-1.18.0.tar.gz 
1
  1. 进入文件夹
cd nginx-1.18.0
1
  1. 运行如下三个命令
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-file-aio \
--with-http_realip_module
 
 
 
make



 
make install
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
  1. 进入nginx目录
cd /usr/local/nginx/sbin
1
  1. 然后运行如下命令启动:

./nginx
1
2
  1. 查看运行状态

ps -ef | grep nginx
1
2

# 将Nginx配置进环境变量

# 第一步
vi /etc/profile

# 第二步
PATH=$PATH:/usr/local/nginx/sbin
export PATH

# 第三步
source /etc/profile

#第四步
nginx -s reload
1
2
3
4
5
6
7
8
9
10
11
12

# 尝试修改Nginx配置文件

  1. 尝试修改端口为5678
# 进入目录
cd /usr/local/nginx/conf

# 输入
vi nginx.conf

# 找到80修改成5678即可
1
2
3
4
5
6
7
  1. 访问测试
  • 虚拟机内访问:
curl 192.168.199.229:5678
1
  • 还可以在主机浏览器访问,主机浏览器访问记得放行端口,或者直接关闭防火墙。
# 关闭防火墙
systemctl stop firewalld.service

# 放行端口
firewall-cmd --zone=public --add-port=5678/tcp --permanent  
1
2
3
4
5

# 常用命令

  1. 停止Nginx
./nginx -s stop
1

# Nginx配置SSL证书

创建一个文件夹放你下载的证书压缩包


cd /usr/local/nginx

mkdir cert

cd cert
1
2
3
4
5
6

然后将证书压缩包上传到该文件夹下,并解压,完成后应该是下面这个样子

unzip 你的zip压缩包
1

这样

里面应该是这些文件,记住位置后开始修改配置文件 这些文件

修改完成后的配置文件如下:

worker_processes  1;
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen 80;  # 监听 80 端口
        server_name docs.superkusch.fun; # 二级域名地址
        root  html/ROOT; # 映射项目地址
        index index.html index.htm index.jsp; # 映射项目地址入口
        return 301 https://$server_name$request_uri; # 重定向至 https 协议的域名地址(新增的)
    }
    server {
        listen       443 ssl;        # 监听 443 端口
        server_name  docs.superkusch.fun; # 二级域名地址

        ssl_certificate      /usr/local/nginx/cert/docs.superkusch.fun_nginx/docs.superkusch.fun_bundle.crt;      # ssl_certificate 对应路径
        ssl_certificate_key  /usr/local/nginx/cert/docs.superkusch.fun_nginx/docs.superkusch.fun.key;             # ssl_certificate_key 对应路径

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;    # 加密算法
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;                                                        # 安全链接可选的加密协议
        ssl_prefer_server_ciphers on;                                                               # 使用服务器端的首选算法

        location / {
            root html/ROOT;            # 映射项目地址
            index index.html index.htm index.jsp; # 映射项目地址入口
        }
        location /doc-kusch/ {    		
            proxy_pass https://docs.superkusch.fun/;
        }
    }
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
最后更新时间: 8/18/2022, 5:53:38 PM