nginx配合tomcat发布多个网站

tomcat的应用都在tomcat的webapps文件夹下面,直接打开tomcat的网址的话,显示的是tomcat的控制台。需要加上应用的路径,才能进入应用里面。

比如有一个应用叫做 test 需要输入 http://localhost:8080/test 才能访问这个应用,如果想直接通过 http://localhost:8080 来访问的话,需要修改tomcat 的服务器配置 server.xml 文件,在标签中指定默认网址


配合nginx则不需要,配置一下nginx的代理规则,在 conf.d 文件夹下添加一个新的文件比如 test.conf 输入

server {
 listen 8081;
 server_name localhost:8080;
 location / {
    proxy_pass http://localhost:8080/test/;
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
 }    
}

重新加载配置 nginx -s reload 或者重启 service nginx restart 访问 http://localhost:8081 就能访问 test 应用

同样,如果需要把tomcat中的多个应用全部都映射端口,多写几个 *.conf文件就好,比如:

//test.conf
server {
 listen 8081;
 server_name localhost:8080;
 location / {
    proxy_pass http://localhost:8080/test/;
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
 }    
}

//test2.conf
server {
 listen 8082;
 server_name localhost:8080;
 location / {
    proxy_pass http://localhost:8080/test2/;
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
 }    
}

这样一来
通过 http//:localhost:8081 访问 test 应用
通过 http//:localhost:8082 访问 test2 应用

你可能感兴趣的:(nginx配合tomcat发布多个网站)