怎么nginx访问tomcat里的多个项目?

发布于 2021-12-05 03:11:48 字数 2409 浏览 748 评论 5

我用的是windows2003,tomcat和nginx参考了oschina的配置.

问题是:如果tomcat里启动了多个项目,那该怎么配置nginx访问呢,

tomcat配置
<Server port="9005" shutdown="SHUTDOWN">
  <Service name="Catalina">
    <Executor name="tomcatThreadPool" namePrefix="HTTP-9081-exec-"
        maxThreads="200" minSpareThreads="10" maxIdleTime="60000"/>

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" executor="tomcatThreadPool"/>
    <Engine name="Catalina" defaultHost="aaa.abc.com">
    
	
	 <Host name="aaa.abc.com"  appBase="aaa"
            unpackWARs="false" autoDeploy="false"
            xmlValidation="false" xmlNamespaceAware="false">
     </Host>

	   
	 <Host name="bbb.abc.com"  appBase="bbb"
            unpackWARs="false" autoDeploy="false"
            xmlValidation="false" xmlNamespaceAware="false">
     </Host>
	
    </Engine>
  </Service>
</Server>

nginx的配置

 

#user  nobody;
worker_processes  1;

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  65;
	
   # 集群中的所有后台服务器的配置信息
    upstream tomcats { 
	 server 127.0.0.1:8080 weight=10;
    } 

    include gzip.conf;
    
    server { 
        listen       80;
        server_name  localhost;
        location / {
	   deny all;
	}

	location /nginxStatus {
           stub_status on; #nginx status watch
           access_log off;
	   allow   127.0.0.1;
	   deny    all;
        }
    }
    
    server {
        listen       80;
        server_name  aaa.abc.com bbb.abc.com;
        location / {
	     proxy_pass   http://tomcats; #反向代理
	     include proxy.conf;
	}
	
	error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }	
    }
  
} 

现在是一个tomcat的两上项目,现在配置 servce_name 怎么确定访问的是哪个项目,谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

乞讨 2021-12-06 13:14:54

请教一下,一个网站的三个二级域名,www.xxx.com(门户)、bk.xxx.com(博客)、lt.xxx.com (论坛)对应一个tomcat下的三个应用,怎么配置Nginx呢?三个工程按照这篇文章

https://my.oschina.net/seava/blog/505281?p=2&temp=1488778872944

配置是不是就可以session共享了。

心舞飞扬 2021-12-06 13:05:42

谢谢,加上root应该不起作用的,因为用了代理了

 server {

        listen       80;

        server_name  *.cn.cnmet.cn;

        location / {

         proxy_pass   http://tomcats; #反向代理

         root html/cn/ROOT/;  #不起作用

         include proxy.conf;

    }

  }

勿忘初心 2021-12-06 11:44:02

有个root 属性可以配路径 如:

server {
            listen       80;
            server_name  cqscripts.3158.cn;
            index index.html index.htm index.shtml index.php;
            root  E:/apachetomcat6/webapps/ROOT/scripts;
        }

疾风者 2021-12-06 08:43:31

proxy.conf 也是用的oschina 上面的

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;

client_max_body_size    10m;

client_body_buffer_size 128k;

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;

不再见 2021-12-06 00:47:50

把 proxy.conf 贴出来看看

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文