Nginx+Tomcat多站點部署
Tomcat配置:
添加多域名:
Engine節(jié)點下:
添加域名1
<Host name="test1.java.com" appBase="webapps1"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="/var/lib/tomcat8/webapps/test1" debug="0" reloadable="true" crossContext="true" />
</Host>
添加域名2
<Host name="test1.java.com" appBase="webapps2"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="/var/lib/tomcat8/webapps/manage" debug="0" reloadable="true" crossContext="true" />
</Host>
注意啃憎,還需要一個默認語句须眷,即name="localhost"的域名,否則tomcat偶爾會報空指針錯誤,導(dǎo)致無法使用
<Host name="localhost" appBase="webapps0"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="/var/lib/tomcat8/webapps/manage" debug="0" reloadable="true" crossContext="true" />
</Host>
至此,配置完成,重啟tomcat:
sudo /etc/init.d/tomcat8 stop
sudo /etc/init.d/tomcat8 start
或
sudo /etc/init.d/tomcat8 restart
若域名解析完成臂港,則可在瀏覽器中進行測試
http://test1.java.com:8080
http://test2.java.com:8080
若正確,則可正常訪問
配置Nginx
進入Nginx根目錄(以ubuntu 16.04為準(zhǔn))
cd /etc/nginx
進入sites-available目錄
cd sites-available
創(chuàng)建配置文件(已test1.java.com為例)
vi test1.java.com
輸入配置內(nèi)容
server{
listen 80;
server_name test1.java.com;
server_name_in_redirect off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://test1.java.com:8080;
}
}
esc后:wq進行保存
創(chuàng)建軟連接已進行使用
ln -s /etc/nginx/sites-available/test1.java.com /etc/nginx/sites-enabled/test1.java.com
重啟Nginx
/etc/init.d/nginx stop
/etc/init.d/nginx start
或
/etc/init.d/nginx restart
至此 配置完成
還有一些其他的配置方法视搏,比如tomcat可配置為多端口對應(yīng)多站點审孽,但我配置后發(fā)現(xiàn)速度明顯變慢,未找到原因浑娜,而此配置已經(jīng)能滿足要求佑力,特此記錄。