1. 程式人生 > >ubutu tomcat 啟用80埠步驟

ubutu tomcat 啟用80埠步驟


寫在前面的題記:


1. 80埠對於非root使用者是不開放的,非root使用者只能使用1024埠以上埠
2. tomcat會建立一個名為tomcat的伺服器使用者名稱
3. 80埠不對tomcat開放,因此需要使用iptables的轉發功能,把80埠訊息轉發給其他埠,比如8090,因此8090埠必須是tomcat的指定埠


具體步驟:


1. 修改tomcat的配置檔案server.xml(如果不知道在哪兒,就使用搜索功能:sudo find / -name server.xml)


<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connection Timeout="20000" disableUploadTimeout="true"/> 
 
修改為

<Connector port="80" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connection Timeout="20000" disableUploadTimeout="true"/> 

並新增一個埠:

<Connector port="8090" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connection Timeout="20000" disableUploadTimeout="true"/> 


只需要修改port值就可以了


2. 修改 /etc/default/tomcat7檔案,並將檔案底部的AUTHBIND=no修改為AUTHBIND=yes 


3. 繫結ip轉發,將80埠轉發到8090埠
   iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8090


    注:如果以前使用過iptables轉發80埠,那麼需要把其他轉發規則先刪除掉:


    以下命令用於檢視所有與80埠相關的轉發:


    iptables -t nat -L -n  | grep 80


    結果有:


    [email protected]
:~# iptables -t nat -L -n  | grep 80
    REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 redir ports 8000
    REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 redir ports 8000
    REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 redir ports 8090


    刪除除8090埠以外的所有轉發,使用iptables -t nat -L -n --line-numbers命令將轉發規則以數字序號排列,好刪除


   
[email protected]
:~# iptables -t nat -L -n --line-numbers
    Chain PREROUTING (policy ACCEPT)


    num  target     prot opt source               destination         
    1    REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 redir ports 8000
    2    REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 redir ports 8000
    3    REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 redir ports 8000
    4    REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 redir ports 8090


    除第1條轉發
    [email protected]:~# iptables -t nat -D PREROUTING 1


    只剩下:


    [email protected]:~# iptables -t nat -L -n  | grep 80
    REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 redir ports 8090


    轉發就完成了!


3.  轉發完成後,如果伺服器是阿里雲,那麼 要在阿里雲的安全組策略中啟用80埠


4.  使用lsof -i:80命令檢視80埠是否被其他程序佔用,如果是aliyundun那麼沒有關係,不會結束程序,如果是其他程序那麼使用 (kill -9 程序ID) 殺掉程序


5.  直接開啟tomcat(ubuntu : service tomcat start)