通过Tomcat发布Web项目到互联网

如果要将Web项目发布到互联网,必须准备一台服务器,推荐阿里云,性能好,学生的话更优惠。另外还需要购买域名,也可以在阿里云买,并将域名解析指向我们布置服务的服务器空间IP。

第一步,先搭建环境,在服务器安装jdk、配置环境变量、安装Tomcat、安装Mysql数据库。注意:记得打开端口的防火墙。

第二步,将项目打成war包放到Tomcat的webapps目录下,启动Tomcat的startup.bat会自动解压。

接下来需要去掉端口和项目名。

第三步,修改Tomcat的conf目录下的server.xml文件。

修改Connector标签的port为80

<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding= "utf-8" maxHttpHeaderSize="102400"/>

找到Engine节点中defaultHost原localhost改为申请到的域名。

<Engine name="Catalina" defaultHost="localhost">

找到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的name属性为你的域名,比如blog.java.com:

<Host name="你的域名"  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" />

        <Context path="" docBase="C:\Java\Tomcat7.0\webapps\b2b2c" debug="0" reloadable="false" crossContext="true" />   
</Host>

属性解释:

path:web应用的context路径。catalina将每个URL的起始和context path进行比较,选择合适的web应用处理该请求。特定Host下的context path必须是惟一的。如果context path为空字符串,这个context是所属Host的缺省web应用,用来处理不能匹配任何context path的请求。

docBase:既可以是你的项目所在服务器的本机的绝对路径,也可以是相对路径,示例中是windows系统的绝对路径,相对路径基于webapps目录,例如webapps/myWeb,则docBase=”myWeb”。

debug:设定debug level,0表示提供最少的信息,9表示提供最多的信息,这是tomcat日志调试信息,数越高越详细,默认是0。

reloadable:设置为true的话,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。在开发阶段将reloadable属性设为true,有助于调试servlet和其它的class文件,但这样用加重服务器运行负荷,在项目发布阶段,不推荐设置为true。

crossContext:运行Session共享,当然只是同一个Host下的应用可以共享,缺省值为false。

这样就可以直接通过域名访问你的项目了。

猜你喜欢

转载自blog.csdn.net/WYA1993/article/details/82867238