美文网首页
关于tomcat更改默认端口及设置运行的路径问题

关于tomcat更改默认端口及设置运行的路径问题

作者: 艾石溪 | 来源:发表于2017-05-07 16:14 被阅读423次

前两天晚上,解决了这两个问题,记录一下吧,万一哪天要是用到了呢。

1: tomcat更改默认端口号

  • tomcat默认的端口号是8080端口,但网站更改域名后,在后面再带上80感觉很奇怪,所以需要把默认的端口从8080更改为80端口。
    window下直接修改server.xml文件,

    <Connector port="8080" protocol="HTTP/1.1"           connectionTimeout="20000" redirectPort="8443" />
    

将8080端口修改为80端口,然后重启服务器。

  • 但是在linux服务器上,并不能实现这个效果,因为,在linux里,由于内核的限制,普通用户不能使用1024一下的端口。所以在linux里改成80,用普通用户是启动不了的。
    解决方案:
    1: 第一步:重将Tomcat的端口(server.xml)由80改回8080。
    2: 通过Iptables端口实现80到8080的转发,命令为:

    iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
    

若出现错误,使用sudo来运行。

2: 修改tomcat的sever.xml文件设置tomcat的默认路径

  • 打开server.xml,在</Host>的上一行添加内容格式如下
    <Context path="" reloadable="true" docBase="<项目名>"/>
    如:
    <Context path="" docBase="gps" debug="0" reloadable="true"/>
    dosBase里写的是你要设置为默认项目的名称。

注:通过上面的设置有一个问题就是项目会重复加载两次.

原因分析
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

<Context path="" docBase="gps" reloadable="true"/>

1.当为 Host 容器 设置了 appBase 属性时, Tomcat 会在启动时自动加载 appBase 指定目录下的所有合法工程;

2.由于同时又通过 Context 的docBase 属性设置了Tomcat 默认工程, 所以,指定的 gps工程又会被加载一次
基于以上两点,造成了 gps工程的重复加载。

解决办法

  1. 新建一个目录专门用于存放工程, 如: G:\apache-tomcat-6.0.20\project
  2. 将工程存放到以上目录下:即:G:\apache-tomcat-6.0.20\project\gps
  3. 在 Context 容器中设置 docBase 属性, 如:
    <Context path="" docBase="G:\apache-tomcat-6.0.20\project\gps" />

至此问题解决,重启Tomcat服务器就可以通过不加项目名访问此项目.
注意:记得把webapps目录下的原项目删除

相关文章

网友评论

      本文标题:关于tomcat更改默认端口及设置运行的路径问题

      本文链接:https://www.haomeiwen.com/subject/nowutxtx.html