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的应用程序