从零开始搭建Nginx代理服务

注:本文仅针对Centos系统,其他系统的安装步骤类似。

1、安装Nginx

(1)下载Nginx安装包

根据需要在官网上下载所需版本的Nginx(本次以1.24.0为例):

https://nginx.org/en/download.html

(2)解压Nginx安装包

tar -zxvf nginx-1.24.0.tar.gz

(3)切换路径至解压后的Nginx文件夹

cd nginx-1.18.0

(4)安装OpenSSL库

yum -y install openssl openssl-devel

(5)安装依赖库gcc、gcc-c++、ncurses-devel

yum -y install make gcc gcc-c++ ncurses-devel

(6)安装依赖库pcre-devel

yum -y install pcre-devel

(7)添加添加这个ssl模块

./configure --with-http_ssl_module

(8)配置安装路径

注意:需要将 “/www/install/nginx” 目录修改为自己的安装路径

./configure --prefix=/www/install/nginx

(9)编译Nginx

make

(10)安装编译后的Nginx

make install

2、启动服务

(1)切换至Nginx安装目录sbin下

注意: “/home/nginx/sbin” 目录为自己的Nginx安装路径

cd /www/install/nginx/sbin

(2)启动nginx服务

./nginx

3、测试运行

(1)查看服务是否启动

ps -ef | grep nginx

(2)查看是否能访问nginx代理

注意:将 “192.168.231.128” 修改为部署Nginx服务器的IP地址

curl http://192.168.231.128

4、添加Nginx反向代理服务

(1)修改nginx.conf配置文件

修改worker_processes 1; 为:

worker_processes auto;

(2)添加网址配置路径(根据需要可不配置)

若需配置多个代理服务,为使配置简洁明了,建议采用此方式进行配置。
配置项目配置文件地址(/www/nginx_config/.conf;此处根据个人文件存放位置修改)

include /www/nginx_config/*.conf;

5、更新配置文件

(1)切换至Nginx文件路径

cd /home/nginx/sbin

(2)校验修改后的nginx.conf是否符合语法

./nginx -t

(3)重启nginx服务

./nginx -s reload

6、完整配置文件分享

(1)nginx.conf文件示例

#user  nobody;
worker_processes  auto;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    # 配置项目配置文件地址
    include /www/nginx_config/*.conf;	# Linux配置
    #include conf.prj/*.conf;	# Windows配置

}

(2)SSL服务配置示例

server {
         listen  80;
         server_name www.XXX.com;
         rewrite ^(.*)$ https://$host$1 permanent;   #将所有HTTP请求通过rewrite重定向到HTTPS。
      }

    # HTTPS server
    
    server {
        listen 443 ssl;
        server_name  www.XXX.com;

         ssl_certificate /www/service/nginx_config/cert/www.XXX.com.pem;  #将www.XXX.com.pem替换成您证书的文件名称。
         ssl_certificate_key /www/service/nginx_config/cert/www.XXX.com.key; #将www.XXX.com.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   /www/wwwroot/www.XXX.com/dist;
            index  index.html index.htm;
	    proxy_connect_timeout 600;
            try_files  $uri $uri/ /index.html;
        }
	
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

(3)网页前端代理配置示例

    server {
        listen 1080;

            location / {
                root   /www/wwwroot/www.XXX.com/dist;
                index  index.html index.htm;
                proxy_connect_timeout 600;
                try_files  $uri $uri/ /index.html;
            }
	
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

(4)端口服务代理示例

server {
        listen  80;
        server_name www.XXX.com;
        client_max_body_size 1000m;

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        location / {
            proxy_pass http://127.0.0.1:36000;
            proxy_connect_timeout 600;
            proxy_read_timeout 600;
        }
      }

7、其他问题

(1)无法访问VMware虚拟机上的Nginx

关闭本机防火墙(注意将 “3032/tcp” 修改为你要开放的端口和协议类型)

firewall-cmd --permanent --add-port=3032/tcp
firewall-cmd --reload

关闭防火墙

systemctl stop firewalld.service
  • 25
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值