如果要将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 "%r" %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 "%r" %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。
这样就可以直接通过域名访问你的项目了。