nginx 配置深入学习 以正式部署环境为例(前后端分离项目和资源服务及配置ssl证书)

                nginx配置前后端分离项目和资源服务及配置ssl证书

       前景说明:现在web项目,前后端分离已经开始流行,而nginx项目部署非常重要。nginx核心功能主要有代理和负载均衡、http服务器。本文实现的是正式环境下部署,在阿里云服务器实现部署了,其他情况可参考。

一、安装nginx 

       文献参考地址:https://blog.csdn.net/qq_37184877/article/details/94616810  

二、ssl 证书获取和配置

       1.获取ssl证书

              阿里云有免费一年可以,其他情况可参考:https://blog.csdn.net/sky_eyeland/article/details/94383082

       2.配置nginx   

             官方文档:https://help.aliyun.com/knowledge_detail/95491.html

             示例:

server {
		listen 443;
        #域名
		server_name ****;
		ssl on;
		root html;
		index index.html index.htm;
        #证书路径  在安装目录 /usr/local/nginx下建了cret目录 放入了cert.pem和cert.key证书文件
		ssl_certificate   /usr/local/nginx/cert/cert.pem;
		ssl_certificate_key  /usr/local/nginx/cert/cert.key;
		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;

	}

二、配置前端项目和后端项目

  server {
       	listen       80;
		server_name ****;#域名或ip
		# http强制跳转https地址
        		rewrite ^(.*)$ https://$host permanent;
		
		location /{
			root /webDome/dist; #前端项目路径(一般是打包的静态资源)
			index index.html index.htm;
			try_files $uri /index.html;
			
		}
		#配置后端项目转发  这里可以用负载均衡,如何配置可以查资料  这里配置两个后端项目意思
		location /weixin {
			proxy_pass http://127.0.0.1:5000;
        }

		location /web {
			proxy_pass http://127.0.0.1:5000;
			
        }

    }

 

三、配置资源服务

server {
       	listen       3000;
  #域名
        server_name  ****;
		charset utf-8;   

        root         /home/ftp;

        include /etc/nginx/default.d/*.conf;
	
		location ~ .*\.(gif|jpg|jpeg|png)$ {    
        	expires 24h;    
            root /home/ftp;#指定图片存放路径       
            proxy_store on;    
            proxy_store_access user:rw group:rw all:rw;    
            proxy_temp_path         /home/ftp;#图片访问路径    
            proxy_redirect          off;    
            proxy_set_header        Host 127.0.0.1;    
            client_max_body_size    10m;    
            client_body_buffer_size 1280k;    
            proxy_connect_timeout   900;    
            proxy_send_timeout      900;    
            proxy_read_timeout      900;    
            proxy_buffer_size       40k;    
            proxy_buffers           40 320k;    
            proxy_busy_buffers_size 640k;    
            proxy_temp_file_write_size 640k;    
            if ( !-e $request_filename)    
            {    
                 proxy_pass  http://127.0.0.1;#默认80端口    
            }    
		}      

        location / {
        		root         /home/ftp;
		autoindex on;
		autoindex_localtime on;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

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

  四、配置https

server {
		listen 443;
        #域名
		server_name ****;
		ssl on;
		root html;
		index index.html index.htm;
        #证书路径  在安装目录 /usr/local/nginx下建了cret目录 放入了cert.pem和cert.key证书文件
		ssl_certificate   /usr/local/nginx/cert/cert.pem;
		ssl_certificate_key  /usr/local/nginx/cert/cert.key;
		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;
		
        #静态资源路径和nginx转发接口 暂时可不配置,跟项目部署有关
 		location /{
			root /webDome/dist;
		}
		location /weixin/ {
			proxy_pass http://127.0.0.1:5000/;
        	}

		location /web/ {
			proxy_pass http://127.0.0.1:5000/;
			
       		}
		location /res/ {
			proxy_pass http://127.0.0.1:3000/;
       		}

	}

前端访问:https://域名

后端:https://域名/web  或https://域名/weixin

资源服务:https://域名/res

原配置文件:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值