您的位置:首页 > 运维架构 > Tomcat

如何正确的将J2ee项目部署到Tomcat

2015-08-20 11:06 585 查看
前提.首先保证你的Tomcat按照是没有任何问题的。如有问题则可能按照本教程也无效。

1.打开配置文件(我的如下:C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\server.xml),找到:

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


修改如下:

<Connector port="80" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" />
<Connector port="80" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" />


把port:8080,修改成port:80就可以了,其他的参数不变。这样客户机在访问服务器时直接输入IP或域名就可以了

2.修改tomcat的字符[b]集对应乱码问题[/b]

<Connector port="80" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" />
<Connector port="80" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" />


修改为

<Connector port="80" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
<Connector port="80" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>


修改tomcat发布路径(默认路径:C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\ROOT)
打开配置文件(我的在:C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\server.xml),找到:

<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost"   appBase="webapps"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>


在<host></host>标签之间添加上:

<Context path="" docBase="rms" debug="0" reloadable="true" />
<Context path="" docBase="项目路径" debug="0" reloadable="true" />


docBase是虚拟目录的路径,它默认的是$tomcat/webapps/ROOT目录,现在我在webapps目录下建了一个photo目录,让该目录作为我的默认目录。debug和reloadable一般都分别设置成0和true。
这样,再访问服务器时就找$tomcat/webapps/rms下的页面了.

3.多域名绑定

<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost"   appBase="webapps"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>


A:多个工程在不同的目录下

<Engine name="Catalina" defaultHost="pic.jb51.net">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="xixi.jb51.net"   appBase="abcapps"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">

</Host>
<Engine name="Catalina" defaultHost="pic.jb51.net">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="xixi.jb51.net"  appBase="abcapps"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
<Host name="haha.jb51.net"   appBase="D:\Program Files\Tomcat\test"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
<Host name="lala.jb51.net"   appBase="webapps"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
<Host name="haha.jb51.net"  appBase="D:\Program Files\Tomcat\test"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">

</Host>
<Host name="lala.jb51.net"  appBase="webapps"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>


测试在C:\WINDOWS\system32\drivers\etc下的hosts文件中添加如下内容:
127.0.0.1 xixi.jb51.net
127.0.0.1 lala.jb51.net
127.0.0.1 haha.jb51.net

按照上面的配置:
1. http://xixi.jb51.net 访问 ${tomcat}\ abcapps\ROOT 下的网站
2. http://haha.jb51.net 访问 D:\Program Files\Tomcat\test\ROOT 下的网站
3. http://lala.jb51.net 访问 ${tomcat}\webapps\ROOT 下的网站.

Engine的dafaultHost:表示访问该tomcat默认进入的主机,注意一定不能是localhost,不然别人通过你的ip访问,就会默认进入tomcat的管理界面.
Host 的 name:表示该主机绑定的域名,如果绑定localhost则可以通过在浏览器中输入localhost访问该Host.
Host的 appBase:表示该主机绑定的文件存放路径,可以使用相对路径或绝对路径.

B:多个工程在同一目录webapps下,即在不同的<host></host>里面配<Context>

<Engine name="Catalina" defaultHost="xixi.jb51.net">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="xixi.jb51.net"   appBase="webapps"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="test1" debug="0" reloadable="true" />
</Host>
<Host name="haha.jb51.net"   appBase="webapps"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="test2" debug="0" reloadable="true" />
</Host>
<Host name="lala.jb51.net"   appBase="webapps"
unpackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="test3" debug="0" reloadable="true" />
</Host>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: