【Tomcat】绑定80端口发布web应用到互联网          返回主页

我们使用Tomcat发布应用时,默认是绑定在8080端口,这种情况一般在测试后使用。

如果应用需要部署到服务器上则需要修改端口为80,并通过域名直接访问。具体如何做呢?

打包应用为war

首先打包应用为.war文件,具体步骤为点击File->Export选择web->war file下一步之后选择要打包的应用,重命名为发布名称,比如test.wa确定之后即打包。

我们把War包传到主机上去,放到Tomcat的webapps下,启动tomcat的startup.bat,会自动解压项目;到了这里,还不够。我们只能通过 http://外网IP:8080/项目名称访问; (http://外网IP:8080/项目名称访问;)

我们现在要干两个事情,第一个是去掉端口,第二个是去掉项目名称。

配置容器

找到tomcat安装包下的conf文件夹下的server.xml文件;

找到Connector节点;

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

更改port为80并保存

我们在最后 找到Host节点:

<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!‐‐ SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html ‐‐>
<!‐‐
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
‐‐>
<!‐‐ Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" ‐‐>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>

在host内部添加一个节点

<Context path="" docBase="C:\apache-tomcat-7.0.11-windows-x86\apache-tomcat-
    7.0.11\webapps\Test" debug="0" reloadable="true" />

此处的docBase为我们的war包部署后的所在webapp的绝对路径

最后的效果为

<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
    <!‐‐ SingleSignOn valve, share authentication between web applications
    Documentation at: /docs/config/valve.html ‐‐>
    <!‐‐
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    ‐‐>
    <Context path="" docBase="C:\apache‐tomcat‐7.0.11‐windows‐x86\apachetomcat‐7.0.11\webapps\BaiduYun" debug="0" reloadable="true" />
    <!‐‐ Access log processes all example.
    Documentation at: /docs/config/valve.html
    Note: The pattern used is equivalent to using pattern="common" ‐‐>
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
    prefix="localhost_access_log." suffix=".txt"
    pattern="%h %l %u %t &quot;%r&quot; %s %b" resolveHosts="false"/>
</Host>

接着导入你的sql文件,建立到数据库的连接。

绑定域名之后即可通过域名直接访问到应用。完成了应用的部署。

这里需要注意的一点是,我们的服务器80端口不能被占用否则Tomcat会报JVM_BIND异常。关闭IIS(WINDOWS SERVER),Apache(linux/windows)或者修改其绑定端口可以解决这个问题。