【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 "%r" %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 "%r" %s %b" resolveHosts="false"/>
</Host>
接着导入你的sql文件,建立到数据库的连接。
绑定域名之后即可通过域名直接访问到应用。完成了应用的部署。
这里需要注意的一点是,我们的服务器80端口不能被占用否则Tomcat会报JVM_BIND异常。关闭IIS(WINDOWS SERVER),Apache(linux/windows)或者修改其绑定端口可以解决这个问题。