ubutu tomcat 启用80端口步骤

来源:互联网 发布:当前网络热门话题 编辑:程序博客网 时间:2024/05/16 17:10

写在前面的题记:


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


    结果有:


    root@iZuf61lsoerlt7jzpge8ywZ:~# 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命令将转发规则以数字序号排列,好删除


    root@iZuf61lsoerlt7jzpge8ywZ:~# 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条转发
    root@iZuf61lsoerlt7jzpge8ywZ:~# iptables -t nat -D PREROUTING 1


    只剩下:


    root@iZuf61lsoerlt7jzpge8ywZ:~# 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)
原创粉丝点击