nginx配合tomcat发布多个网站

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

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

<Context path="" docBase="{应用绝对路径}" crossContext="true" debug="0" reloadable="true" trusted="false" >

配合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 应用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容