如果你只有一臺(tái)服務(wù)器,你可以安裝兩臺(tái)tomcat蜂莉,請(qǐng)參考:服務(wù)器上安裝多臺(tái)tomcat
另外本文還用到了子域名贰逾,請(qǐng)參考:子域名設(shè)置
由于這臺(tái)服務(wù)器同時(shí)運(yùn)行著一個(gè)網(wǎng)站,運(yùn)行在nginx上骑冗,配置如下:
server{
listen 80;
server_name dev-heaven.com;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
下面開(kāi)始轉(zhuǎn)發(fā)配置:
upstream api.dev-heaven.com{
server 127.0.0.1:8081;
server 127.0.0.1:8082;
}
server{
listen 80;
server_name api.dev-heaven.com;
location / {
proxy_pass http://api.dev-heaven.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
為了不影響主站赊瞬,需要把主站的配置做修改:
server{
listen 80;
server_name dev-heaven.com www.dev-heaven.com;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
這樣做是為了用www.dev-heaven.com和dev-heaven.com能同時(shí)訪問(wèn)到主站。
注:server_name匹配規(guī)則如下:
- 精準(zhǔn)匹配沐旨,如:
server {
listen 80;
server_name dev-heaven.com www.dev-heaven.com;
}
- 以*通配符開(kāi)始的字符串森逮,如:
server {
listen 80;
server_name *.dev-heaven.com;
}
- 以*通配符結(jié)束的字符串,如:
server {
listen 80;
server_name www.*;
}
- 匹配正則表達(dá)式磁携,如:
server{
listen 80;
server_name ~^(?.+)\.domain\.com$;
}
upstream命名應(yīng)該和server_name保持一致褒侧,location中的proxy_pass的值必須以 http:// 開(kāi)頭,同時(shí)http://后面的值應(yīng)該和upstream 后面的值保持一致谊迄。
為了測(cè)試闷供,把tomcat webapps目錄中ROOT中的index.jsp換成自己的index.jsp,內(nèi)容分別是 “這是tomcat的第一個(gè)實(shí)例M撑怠M嵩唷!”和“這是tomcat的第二個(gè)實(shí)例A改亍P鍪А!”啄寡,這樣就完成了豪硅。效果如下:
QQ截圖20151118131412.png
QQ截圖20151118131434.png