微服务项目nginx配置实例
1.准备好nginx服务我本地版本是nginx-1.18.0.zip
2.将前台代码放入nginx/html目录下
3.将修改config/nginx.conf文件
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
server {
listen 7001;
server_name 192.168.0.50;
index /scm-app/admin/index;
root D:/nginx/nginx-1.18.0/nginx-1.18.0/html/dist;
set $gateway http://172.26.202.83:31999;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;
}
location ~ ^/scm-app/shwz/(.*)(\.js|css|gif|jpg|jpeg|png)$
{
rewrite ^/scm-app/shwz/(.*)$ /shwz/$1;
break;
proxy_pass http://192.168.177.236:7001;
}
location ~ ^/scm-app/shwz/(.*)$
{
rewrite ^/scm-app/shwz/(.*)$ /shwz/index.html;
break;
proxy_pass http://192.168.177.236:7001;
}
location /
{
proxy_pass http://192.168.177.236:7001;
}
#公共静态资源模块
location /common-assets {
root D:/nginx/nginx-1.18.0/nginx-1.18.0/html/dist/scm-app/;
}
#项目地址
location ~ /scm-app/(.*?)/(.*) {
root D:/nginx/nginx-1.18.0/nginx-1.18.0/html/dist/;
#add_header X-uri "$uri";
try_files $uri $uri/ /scm-app/$1/index.html;
}
#项目地址
location /scm-app {
root D:/nginx/nginx-1.18.0/nginx-1.18.0/html/dist/;
}
#后端请求地址,重定向至微服务网关
location ~ ^/api/(.*)$ {
rewrite ^/api/(.*)$ /$1;
break;
client_max_body_size 500m;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 600s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
proxy_next_upstream error timeout;
proxy_next_upstream_timeout 0;
proxy_next_upstream_tries 0;
proxy_pass $gateway;
}
}
}
只需要看重要的点,比如上面配置文件内容的server配置root 值意思是使用192.168.0.50:7001访问时,会自动访问我们放置在nginx服务下root根目录下的文件即D:/nginx/nginx-1.18.0/nginx-1.18.0/html/dist文件目录下文件。
上面配置文件内容的location配置表示,当访问地址被location配备到,将会访问代理地址
http://192.168.177.236:7001 也即是我们启的后台服务