nginx反向代理配置一个域名映射到不同端口的项目
现在域名必须是绑定80端口,如果我们直接使用服务器的80端口发布服务的话,需要外网访问的项目都需要放到同一个web服务器下,
但是有些项目由于开发语言不同等等原因不能放在一个web服务器一起发布,都有外网域名访问的需求,使用nginx反向代理配置可以解决。
微信的H5链接必须域名才能正常访问,其他端口的项目通过nginx映射即可
首先下载nginx 我下载的是1.13.1版本 下载后找到 ..\nginx\nginx-1.13.1\conf\nginx.conf配置文件 修改配置
我直接把我的配置贴出来 大家参考
#================begin=========================
#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;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 10;
proxy_connect_timeout 10;
# proxy_read_timeout 1;
# proxy_send_timeout 1;
#gzip on;
server {
listen 80; #这个nglnx监听的端口
server_name 127.0.0.1:8098; #这是我服务器上tomcat的8098端口
location /wsyyPlatform { #wsyyPlatform为该tomcat发布的项目
proxy_pass http://127.0.0.1:8098;
}
server_name 127.0.0.1:8085;#这是我服务器上tomcat的8085端口
location /wsyy { #wsyy为该tomcat发布的项目
proxy_pass http://127.0.0.1:8085;
}
}
}
#================end=========================
相信大家看一下 server的配置已经知道怎么配置了,
server_name 127.0.0.1:8098; #这是我服务器上tomcat的8098端口
location /wsyyPlatform { #wsyyPlatform为该tomcat发布的项目
proxy_pass http://127.0.0.1:8098;
}
要映射到的项目通过这几行配置搞定。。。
window启动nginx
cmd G:
cd G:\workSoft\nginx\nginx-1.13.1
启动 start nginx
停止 nginx.exe -s stop
如果没有nginx我们必须把wsyyPlatform,wsyy放到一个容器下发布 ,如果2个程序开发语言不同放一个容器发布不了,
我这里服务器域名为pes.bsoft.com.cn,通过nginx反向代理配置后我们通过浏览器
访问http://pes.bsoft.com.cn/wsyyPlatform会自动映射到http://127.0.0.1:8098/wsyyPlatform;
访问http://pes.bsoft.com.cn/wsyy会自动映射到http://127.0.0.1:8085/wsyy
这个只有服务器有一个域名 我们可以把程序部署在多个容器 只要映射好可以通过域名访问了,