tomcat多域名配置

一般从apache官网下载下来的tomcat部署到服务器上时,顶多只能部署两到三个项目,如果想多部署几个需要通过技术手段进行调优。具体方式可参考tomcat性能调优这里不具体说明。

tomcat配置:

具体配置方法是找到tomcat根目录下的conf文件夹里有个server.xml文件,在<Engine name=”Catalina” defaultHost=”localhost”>这个节点里添加如下配置:

      <Host name="www.baidu.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
      	<Context path="" docBase="baidu" reloadable="false" />
      </Host>
      <Host name="www.163.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
      	<Context path="" docBase="163" reloadable="false" />
      </Host>
      <Host name="www.qq.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
      	<Context path="" docBase="qq" reloadable="false" />
      </Host>

这里的host指的是一个虚拟目录,里面的 name属性表示应射的域名 appBase是应用程序在tomcat里的根目录。Context节点表示应用程序的信息,docBase代表应用程序的目录。上面分别应射了三个域名,www.baidu.com,www.163.com,www.qq.com三个域名,它们分别对应三个应用程序baidu,163,qq。

启动tomcat根目录下的startup.sh

nginx配置:

这里可以不用改tomcat的默认8080端口,可以用nginx把域名的80端口中转过来,具休如下:

server {
        listen       80;
        server_name  www.f273c.com;
	index index.html;
	location /
	{
		proxy_pass  http://www.f273c.com:8080/;
		proxy_set_header   Host    $host;
		proxy_set_header   X-Real-IP   $remote_addr;
		proxy_set_header   X-Forwarded-For    $proxy_add_x_forwarded_for;
	}
}

这样就会把域名的80端口中转到tomcat的8080端口,对外防火墙也不需要开8080端口。

重启nginx:nginx -s reload

如果一个服务器上域名过多可以用include命令把一个域名做成一个文件全部包含进来,这样方便进行管理,如下:

include /nginx/conf/vhosts/java/*.conf;
include /nginx/conf/vhosts/php/*.conf;

上面是包含两个目录里的所有以.conf结尾的文件,分别是/nginx/conf/vhosts/java这个目录主要解析java的应用程序,/nginx/conf/vhosts/php目录主要解析php的应用程序

备案号:豫ICP备14002392号-2