共计 2567 个字符,预计需要花费 7 分钟才能阅读完成。
注:以下所有操作均在 CentOS 6.5 x86_64 位系统下完成。
# 准备工作 #
在这之前需要先把 Nginx 和 Tomcat 安装好,具体见:《CentOS 6.5 安装 Nginx-1.6.2 及安全配置》、《CentOS 安装 Tomcat-7.0.57+ 启动配置 + 安全配置 + 性能配置》。
#Nginx+Tomcat7 多站点的配置#
假设现在项目有两个站点,分别是 proj1 和 proj2,其对应的域名分别是 proj1.com 和 proj2.com。
1)首先配置 Tomcat 的 server.xml 文件:
# vim /usr/local/tomcat/conf/server.xml
<Host name="proj1.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Alias>proj1.com</Alias>
<Alias>www.proj1.com</Alias>
<Context path="" reloadable="true" docBase="proj1-dir/proj1" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="proj1_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="proj2.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Alias>proj2.com</Alias>
<Alias>www.proj2.com</Alias>
<Context path="" reloadable="true" docBase="proj2-dir/proj2" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="proj2_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
注:在 Tomcat 的 webapps 目录下存在两个目录 proj1-dir 和 proj2-dir,这两个目录下又分别存放.war 文件解压后的 Web 目录(这里是为了 保证两个 Web 目录不在同一个根目录下面)
2)然后在 Nginx 的配置文件中配置多站点:
# vim /usr/local/nginx/conf/nginx.conf
http {
server {listen 80;
server_name proj1.com www.proj1.com;
index index.jsp;
root /usr/local/tomcat/webapps/proj1-dir/proj1;
location / {proxy_pass http://www.proj1.com:8080;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log /data/logs/proj1.access.log;
}
server {listen 80;
server_name proj2.com www.proj2.com;
index index.jsp;
root /usr/local/tomcat/webapps/proj2-dir/proj2;
location / {proxy_pass http://www.proj2.com:8080;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log /data/logs/proj2.access.log;
}
}
至此,Nginx+Tomcat7 多站点配置完毕。启动 Tomcat 和 Nginx 之后,就可以同时在一个服务器上支持多个域名站点访问。
更多 Nginx 相关教程见以下内容:
CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm
搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm
CentOS 6.3 下 Nginx 性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm
CentOS 6.3 下配置 Nginx 加载 ngx_pagespeed 模块 http://www.linuxidc.com/Linux/2013-09/89657.htm
Ubuntu 16.04 LTS 上安装 Nginx、MariaDB 和 HHVM 运行 WordPress http://www.linuxidc.com/Linux/2016-10/136435.htm
Nginx 安装配置使用详细笔记 http://www.linuxidc.com/Linux/2014-07/104499.htm
Linux(RHEL7.0)下安装 Nginx-1.10.2 http://www.linuxidc.com/Linux/2016-10/136484.htm
Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm
Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/138041.htm