nginx 如何实现同一域名统一端口,根据url中的路径访问不同项目

需求实现:
www.test.com/pro1 访问项目project1
www.test.com/pro2 访问项目project2

希望,能提供配置文件实例

这个就是url重定向就可以了。你的两个项目在不同的ip的服务器上么?

使用nginx url重定向,例如
location /pro1/ {
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_pass http://ip:port/; #你project1项目的访问地址
index index.html index.htm;
proxy_max_temp_file_size 0;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
client_max_body_size 512M;
client_body_buffer_size 512M;
client_body_temp_path /tmp/nginx;

}

worker_processes 1;

events {
worker_connections 1024;
}

http {
client_max_body_size 50m;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 300;
server_names_hash_bucket_size 128;

server {

listen 80;
server_name www.test.com;
location /pro1/ {
proxy_pass **http://項目1路徑; **
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
}

location /pro2/ {
proxy_pass **http://項目2路徑; **
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
}

            }

提问者你好!

我想你问的是反向代理服务

准备两个tomcat;一个端口为8080,另一个为8081

实现:根据路径不同转发到不同服务器

地址中带有edu的时候分发给8080服务器处理

   地址中带有vod的时候分发给8081服务器处理

添加配置

在  /usr/local/nginx/conf  nginx.conf 文件下

listen 80 // 监听的端口号

~/edu  ~vod/ 为 正则表达式

server_name 192.168.17.129; 这个ip是你的linux网络ip

看了以上还是不明白的话请移步

https://blog.csdn.net/lhcdate/article/details/109584738\