Linux 安装 Nginx

2023-09-01 20:33:20 浏览数 (1)

安装依赖

代码语言:javascript复制
# 安装 gcc
[root@t2 local]# yum install gcc-c  
 
# 安装 PCRE pcre-devel
[root@t2 local]# yum install -y pcre pcre-devel
 
# 安装 zlib
[root@t2 local]# yum install -y zlib zlib-devel
 
# 安装 Open SSL
[root@t2 local]# yum install -y openssl openssl-devel

安装 Nginx

下载

代码语言:javascript复制
[root@t2 nginx]# wget http://nginx.org/download/nginx-1.23.0.tar.gz

解压

代码语言:javascript复制
# 创建文件夹
[root@t2 local]# mkdir nginx

[root@t2 nginx]# cd nginx

# 解压缩包
[root@t2 nginx]# tar -xvf nginx-1.23.0.tar.gz

安装

代码语言:javascript复制
# 进入nginx目录
[root@t2 local]# cd /usr/local/nginx

# 进入目录
[root@t2 nginx-1.23.0]# cd nginx-1.23.0 

# 编译 执行命令 考虑到后续安装ssl证书 添加两个模块  如不需要直接执行./configure即可
[root@t2 nginx-1.23.0]# ./configure --with-http_stub_status_module --with-http_ssl_module

# 执行make命令(要是执行不成功请检查最开始安装的四个依赖有没有安装成功)
[root@t2 nginx-1.23.0]# make

# 执行make install命令
[root@t2 nginx-1.23.0]# make install

启动

代码语言:javascript复制
[root@t2 local]# cd /usr/local/nginx/sbin

# 默认配置文件启动
[root@t2 sbin]# ./nginx

# 指定配置文件启动
[root@t2 sbin]# ./nginx -c  /usr/local/nginx/conf/nginx.conf

在浏览器中输入服务器 ip 即可看见 Nginx 启动成功.

停止重启

代码语言:javascript复制
[root@t2 local]# cd /usr/local/nginx/sbin

# 停止指令
[root@t2 sbin]# ./nginx -s stop
# 或
[root@t2 sbin]# ./nginx -s quit

# 重启命令
[root@t2 sbin]# ./nginx -s reload

# 查看nginx进程
[root@t2 sbin]# ps -ef|grep nginx

设置开机自启动

代码语言:javascript复制
#编辑
[root@t2 local]# vim /etc/rc.local
 
# 最底部增加这一行
/usr/local/nginx/sbin/nginx

配置 SSL 证书

先申请好证书,在/usr/local/nginx/conf/目录下创建文件夹 cert:

代码语言:javascript复制
[root@t2 conf]# mkdir cert

# 查看上传的证书
[root@t2 cert]# ll
-rw-r----- 1 root root 4101 Jul  3 17:13 tansci.com_bundle.crt
-rw-r----- 1 root root 4101 Jul  3 17:13 tansci.com_bundle.pem
-rw-r----- 1 root root 1012 Jul  3 17:13 tansci.com.csr
-rw-r----- 1 root root 1702 Jul  3 17:13 tansci.com.key

上传证书文件至 /usr/local/nginx/conf/cert 目录下。

修改 nginx.conf 文件:

代码语言:javascript复制
    # HTTPS server
    server {
        listen       443 ssl;
        server_name  www.tansci.com;

        # 证书配置
        ssl_certificate      cert/tansci.com_bundle.crt;
        ssl_certificate_key  cert/tansci.com.key;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   /usr/web;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }

        # 静态文件代理
        location /static {
            root /usr/web;
            autoindex on;
        }

        # api 接口代理
        location /api/ {
            proxy_pass http://localhost:8080/;
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Credentials' 'true';
            add_header 'Access-Control-Allow-Methods' 'GET, POST';
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Port $server_port;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
        }
    }

0 人点赞