我需要在cPanel
上运行我的Java应用程序。我已经成功安装了Tomcat,
我可以通过将war
文件复制到我的www
文件夹来运行我的应用程序,但问题是它在地址中显示了项目名称(war
文件名),我需要知道如何删除它,以便用户可以访问www.example.com
而不是www.example.com/MyProject/index.jsp
?
答案 0 :(得分:5)
根据one cpanel hosting service命令,出于安全原因,通常会为cpanel关闭访问权限,您必须具体要求它。如果您具有此访问权限,则可以登录并运行unzip命令(使用FileZilla或类似工具上传war文件后)。
根据cpanel,如果您没有命令提示符访问权限,则可以将战争上传到 public_html 目录,但在此之前您需要更改apache配置并添加这是一个“JkMount”(参见下面的“appname”)。
<IfModule mod_jk.c>
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
JkMount /servlets/* ajp13
JkMount /*.do ajp13
JkMount /appname/* ajp13
</IfModule>
当然,除了你的应用名称而不是appname。此更改将指示apache将对顶级URL(即mydomain.com/appname)的调用重定向到您的Tomcat实例(即mydomain.com:8080/appname)。上传战争并更改配置后,您必须重新启动apache。
但是我们说我们没有ssh访问权限,所以我们如何修改该文件。根据{{3}}我们可以编辑/home/username/public_html/.htaccess或只是/public_html/.htaccess并添加以下行:
SetHandler jakarta-servlet
SetEnv JK_WORKER_NAME ajp13
现在,apache将重定向tomcat for mydomain.com/appname而不是mydomain.com:8080/appname。我们如何才能从mydomain.com开始工作?我根本就不知道答案。据我所知,使用将war文件更改为ROOT.war的常用技巧在cpanel中不起作用。
答案 1 :(得分:4)
您必须修复/usr/local/jakarta/tomcat/conf/server.xml中的条目。经过大量调整后的一段时间我使用了它并且它起作用了:
<Host name="domain.com" appBase="/home/username/public_html" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" reloadable="true">
<Alias>www.domain.com</Alias>
<Context path="" reloadable="true" docBase="/home/username/public_html" debug="1" privileged="true" autoDeploy="true" liveDeploy="true" />
<Context path="/manager" debug="0" privileged="true" docBase="/usr/local/jakarta/tomcat/server/webapps/manager">
</Context>
</Host>
答案 2 :(得分:3)
war文件的名称与容器如何呈现项目无关 - 它只是配置问题,默认情况下容器将上下文路径显示为文件名。
使用ROOT.war只是一个愚蠢的技巧,请阅读Tomcat中的Context配置(我假设您使用的是Tomcat)
答案 3 :(得分:2)
有几种方法可以在tomcat中设置应用程序根上下文。所有这些都在服务器的文档中描述。这是另一个
修改tomcat_home\conf\server.xml
。在<Host
标记下
<Context path="" docBase="yourappname" debug="0" reloadable="true" />
您将yourappname.war
放在反映webapps
标记的appBase
属性的<Host
文件夹中。
保存,重启服务器。
答案 4 :(得分:2)
如果您无法编辑server.xml
,那么您可以删除ROOT.war并将war文件重命名为ROOT.war,或者只将您的.war文件解压缩到目录名ROOT。
下次您打开您的网站前 - www.example.com时,将向您显示index.jsp
我在Openshift的网站上做了同样的事情,提供免费的PAAS服务
答案 5 :(得分:-1)
他们只需要在shell中解压缩.war存档。参见:
如何部署.WAR应用程序 - Ubiquity Web Hosting Wiki
我们有超过100个使用过这些说明的用户,效果很好。如果您使用EasyApache部署Tomcat并按照cPanel的设计进行设置,那应该是关于它的。这源于:
http://twiki.cpanel.net/twiki/pub/Al...s08/Tomcat.pdf
http://forums.cpanel.net/f42/how-auto-deploy-war-cpanel-server-55096.html