nginx配置多个前端项目映射多个后台

Andy 2022年09月26日 783次浏览

多个前端项目都放在html文件夹里面
nginx.conf:
第一种:只有一个nginx端口,多个location:

#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;

sendfile        on;

keepalive_timeout  65;




	#upstream  gansu {   
	#	server    http://192.168.1.61:3333  weight=1; 
	#	server    http://192.168.1.61:3334  weight=2;  
	#} 

server {
	# 需要被监听的端口号,前提是此端口号没有被占用,否则在重启 Nginx 时会报错
	listen       8089;
	# 服务名称,无所谓
	server_name  localhost;

	# 打包好的VUE项目
	root html;
	# 项目根目录中指向项目首页
	index index.html index.htm;

	#增加nginx最大文件上传容量和请求接口容量
	client_max_body_size 50m; 
	client_body_buffer_size 128k;

	# 根请求会指向的页面
	location / {
	  # 此处的 @router 实际上是引用下面的转发,否则在 Vue 路由刷新时可能会抛出 404
	  try_files $uri $uri/ @router;
	  # 请求指向的首页
	  index index.html;
	}
	# 由于路由的资源不一定是真实的路径,无法找到具体文件
	# 所以需要将请求重写到 index.html 中,然后交给真正的 Vue 路由处理请求资源
	location @router {
	  rewrite ^.*$ /index.html last;
	}
	#配置请求转发
	#注意地址里的几个"/","http://localhost:8888/api/"转发到"http://localhost:8023/"
	location /gansu/ {
		  # 后端的真实接口
		  proxy_pass http://192.168.1.61:3333/gansu/;
		  proxy_redirect off;
		  proxy_set_header Host $host;
		  proxy_set_header X-Real-IP $remote_addr;
		  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		  proxy_set_header   Cookie $http_cookie;
		  # 加大请求缓存
		  proxy_buffer_size  128k;
		  proxy_buffers   32 32k;
		  proxy_busy_buffers_size 128k;
	}
	
	location /jiaotong/ {
		  # 后端的真实接口
		  proxy_pass http://192.168.1.61:4444/jiaotong/;
		  proxy_redirect off;
		  proxy_set_header Host $host;
		  proxy_set_header X-Real-IP $remote_addr;
		  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		  proxy_set_header   Cookie $http_cookie;
		  # 加大请求缓存
		  proxy_buffer_size  128k;
		  proxy_buffers   32 32k;
		  proxy_busy_buffers_size 128k;
	}
}

}

第二种:多个前端端口:

#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;

sendfile        on;

keepalive_timeout  65;




	#upstream  gansu {   
	#	server    http://192.168.1.61:3333  weight=1; 
	#	server    http://192.168.1.61:3334  weight=2;  
	#} 

server {
	# 需要被监听的端口号,前提是此端口号没有被占用,否则在重启 Nginx 时会报错
	listen       8089;
	# 服务名称,无所谓
	server_name  localhost;

	# 打包好的VUE项目
	root html;
	# 项目根目录中指向项目首页
	index index.html index.htm;

	#增加nginx最大文件上传容量和请求接口容量
	client_max_body_size 50m; 
	client_body_buffer_size 128k;

	# 根请求会指向的页面
	location / {
	  # 此处的 @router 实际上是引用下面的转发,否则在 Vue 路由刷新时可能会抛出 404
	  try_files $uri $uri/ @router;
	  # 请求指向的首页
	  index index.html;
	}
	# 由于路由的资源不一定是真实的路径,无法找到具体文件
	# 所以需要将请求重写到 index.html 中,然后交给真正的 Vue 路由处理请求资源
	location @router {
	  rewrite ^.*$ /index.html last;
	}
	#配置请求转发
	#注意地址里的几个"/","http://localhost:8888/api/"转发到"http://localhost:8023/"
	location /gansu/ {
		  # 后端的真实接口
		  proxy_pass http://192.168.1.61:3333/gansu/;
		  proxy_redirect off;
		  proxy_set_header Host $host;
		  proxy_set_header X-Real-IP $remote_addr;
		  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		  proxy_set_header   Cookie $http_cookie;
		  # 加大请求缓存
		  proxy_buffer_size  128k;
		  proxy_buffers   32 32k;
		  proxy_busy_buffers_size 128k;
	}
	

}

	server {
	# 需要被监听的端口号,前提是此端口号没有被占用,否则在重启 Nginx 时会报错
	listen       8090;
	# 服务名称,无所谓
	server_name  localhost;

	# 打包好的VUE项目
	root html;
	# 项目根目录中指向项目首页
	index index.html index.htm;

	#增加nginx最大文件上传容量和请求接口容量
	client_max_body_size 50m; 
	client_body_buffer_size 128k;

	# 根请求会指向的页面
	location / {
	  # 此处的 @router 实际上是引用下面的转发,否则在 Vue 路由刷新时可能会抛出 404
	  try_files $uri $uri/ @router;
	  # 请求指向的首页
	  index index.html;
	}
	# 由于路由的资源不一定是真实的路径,无法找到具体文件
	# 所以需要将请求重写到 index.html 中,然后交给真正的 Vue 路由处理请求资源
	location @router {
	  rewrite ^.*$ /index.html last;
	}
	#配置请求转发
	#注意地址里的几个"/","http://localhost:8888/api/"转发到"http://localhost:8023/"

	
	location /jiaotong/ {
		  # 后端的真实接口
		  proxy_pass http://192.168.1.61:4444/jiaotong/;
		  proxy_redirect off;
		  proxy_set_header Host $host;
		  proxy_set_header X-Real-IP $remote_addr;
		  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		  proxy_set_header   Cookie $http_cookie;
		  # 加大请求缓存
		  proxy_buffer_size  128k;
		  proxy_buffers   32 32k;
		  proxy_busy_buffers_size 128k;
	}
}

}