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

javaniu 发布于 2011/07/11 10:58
阅读 4K+
收藏 0

我用的是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 怎么确定访问的是哪个项目,谢谢

加载中
0
红薯
红薯
把 proxy.conf 贴出来看看
0
j
javaniu
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;
0
肥皂泡2
肥皂泡2

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

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

0
j
javaniu
谢谢,加上root应该不起作用的,因为用了代理了
 server {
        listen       80;
        server_name  *.cn.cnmet.cn;
        location / {
         proxy_pass   http://tomcats; #反向代理
         root html/cn/ROOT/;  #不起作用
         include proxy.conf;
    }
  }
0
颖辉小居
颖辉小居

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

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

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

返回顶部
顶部