前兩天晚上饲宿,解決了這兩個(gè)問(wèn)題涝动,記錄一下吧迈勋,萬(wàn)一哪天要是用到了呢。
1: tomcat更改默認(rèn)端口號(hào)
-
tomcat默認(rèn)的端口號(hào)是8080端口醋粟,但網(wǎng)站更改域名后靡菇,在后面再帶上80感覺(jué)很奇怪,所以需要把默認(rèn)的端口從8080更改為80端口米愿。
window下直接修改server.xml文件厦凤,<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
將8080端口修改為80端口,然后重啟服務(wù)器育苟。
-
但是在linux服務(wù)器上较鼓,并不能實(shí)現(xiàn)這個(gè)效果,因?yàn)橹姘幔趌inux里笨腥,由于內(nèi)核的限制,普通用戶不能使用1024一下的端口勇垛。所以在linux里改成80脖母,用普通用戶是啟動(dòng)不了的。
解決方案:
1: 第一步:重將Tomcat的端口(server.xml)由80改回8080闲孤。
2: 通過(guò)Iptables端口實(shí)現(xiàn)80到8080的轉(zhuǎn)發(fā)谆级,命令為:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
若出現(xiàn)錯(cuò)誤,使用sudo來(lái)運(yùn)行讼积。
2: 修改tomcat的sever.xml文件設(shè)置tomcat的默認(rèn)路徑
- 打開(kāi)server.xml,在</Host>的上一行添加內(nèi)容格式如下
<Context path="" reloadable="true" docBase="<項(xiàng)目名>"/>
如:
<Context path="" docBase="gps" debug="0" reloadable="true"/>
dosBase里寫(xiě)的是你要設(shè)置為默認(rèn)項(xiàng)目的名稱肥照。
注:通過(guò)上面的設(shè)置有一個(gè)問(wèn)題就是項(xiàng)目會(huì)重復(fù)加載兩次.
原因分析
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="gps" reloadable="true"/>
1.當(dāng)為 Host 容器 設(shè)置了 appBase 屬性時(shí), Tomcat 會(huì)在啟動(dòng)時(shí)自動(dòng)加載 appBase 指定目錄下的所有合法工程勤众;
2.由于同時(shí)又通過(guò) Context 的docBase 屬性設(shè)置了Tomcat 默認(rèn)工程舆绎, 所以,指定的 gps工程又會(huì)被加載一次
基于以上兩點(diǎn)们颜,造成了 gps工程的重復(fù)加載吕朵。
解決辦法
- 新建一個(gè)目錄專門(mén)用于存放工程猎醇, 如: G:\apache-tomcat-6.0.20\project
- 將工程存放到以上目錄下:即:G:\apache-tomcat-6.0.20\project\gps
- 在 Context 容器中設(shè)置 docBase 屬性, 如:
<Context path="" docBase="G:\apache-tomcat-6.0.20\project\gps" />
至此問(wèn)題解決,重啟Tomcat服務(wù)器就可以通過(guò)不加項(xiàng)目名訪問(wèn)此項(xiàng)目.
注意:記得把webapps目錄下的原項(xiàng)目刪除