在即安裝有tomcat,又安裝有nginx的服務器上(典型阿里雲駐雲java鏡像),系統默認配置nginx占用80端口,tomcat占用8080端口。
如果想要便於用戶可以直接通過IP或者域名訪問到tomcat下的web項目,就需要將tomcat的端口調整為80端口。
正常情況寫的解決方法有以下兩種:
1,直接更改tomcat默認端口8080為80
打開tomcat安裝目錄下的conf文件夾,找到server.xml文件,編輯修改“8080”為80.
<connectionTimeout="20000" redirectPort="8443" />
運行項目,可能會發現80端口已經被其他軟件或者服務占掉,這是就需要卸載其他軟件或者停止占用軟件或者服務。
2.利用iptables將80端口請求轉接到8080端口
linux服務器,只有root用戶才有修改80端口的權限。因此,我們常常會發現利用第一種方法配置8080端口為80端口后,及時沒有任何軟件占用80端口依然項目報錯。
解決方法是:
第一步,重將Tomcat的端口(server.xml)由80改回8080。
第二步,通過Iptables端口實現80到8080的轉發,命令為:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
如果上邊命令執行報錯,使用sudo獲得root權限再進行就可以了。