3 回答

TA貢獻1852條經驗 獲得超7個贊
您可以創建 VirtualHosts以在一臺服務器中設置具有多個域名的多個網站。您也可以在 tomcat 7、8 和 9 中進行相同的嘗試。1.編輯您相關的 server.xml 文件并包含虛擬主機,如下所示。
確保重新啟動您的 tomcat 服務器以使應用的更改生效。
<Host name="example.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Alias>www.example.com</Alias>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="example_access_log" suffix=".txt"
pattern="%h %l %u %t %r %s %b" />
<Context path="" docBase="/opt/tomcat/webapps/myapp1"
debug="0" reloadable="true"/>
</Host>
<Host name="mydomain.org" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Alias>www.mydomain.org</Alias>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="mydomain_access_log" suffix=".txt"
pattern="%h %l %u %t %r %s %b" />
<Context path="" docBase="/opt/tomcat/webapps/myapp2"
debug="0" reloadable="true"/>
</Host>
解釋
例如 .com 域,/opt/tomcat/webapps/myapp1 是文檔根目錄(對于您的 web 1)。對于 mydomain.org 域,/opt/tomcat/webapps/myapp2 是文檔根目錄(對于您的 web 1)。

TA貢獻1934條經驗 獲得超2個贊
檢查 tomcat/conf.web.xml 文件中的以下內容
<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
<Listener className="org.apache.catalina.core.JasperListener" />

TA貢獻1776條經驗 獲得超12個贊
這就是我設法解決這個問題的方法。我不知道這是否是最好的方法,但它確實有效。只需執行以下 3 個步驟:
1) 在 %CATALINA_HOME%/conf/server.xml 中:
<Host name="mydomain.com" appBase="webapps" autoDeploy="false" unpackWARs="false"></Host>
2) 然后我必須添加一個文件:%CATALINA_HOME%/conf/mydomain.com/ROOT.xml
<Context displayName="My Website 1" docBase="/home/accountfolder/public_html" reloadable="true">
<Resource
name="jdbc/rhwebDB"
.
.
.
(database connection info, optional)
/>
</Context>
然后在 Apache 端,我必須配置 mod_proxy_ajp 連接器
我編輯了文件:
3) /etc/apache2/conf.d/userdata/std/2/accountfolder/mydomain.com/cp_jkmount.conf
<IfModule mod_jk.c>
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
JkMount /servlets/* ajp13
</IfModule>
<IfModule mod_proxy_ajp.c>
ProxyRequests Off
<Proxy *>
AddDefaultCharset Off
Order deny,allow
Allow from all
</Proxy>
ProxyPass / ajp://mydomain.com:8009/
ProxyPassReverse / ajp://mydomain.com:8009/
我的應用程序/網站位于 /home/accountfolder/public_html/ 并且 %CATALINA_HOME%/webapps/ 目錄中沒有任何內容。對我來說這更好,因為我可以使用 FTP 用戶直接上傳 jsp 或任何直接在應用程序所在的位置。
如果遇到任何問題,請檢查 /home/accountfolder/public_html/ 目錄中的文件夾權限和所有者,Tomcat 需要讀取/執行權限等。如果 Tomcat 無法訪問這些文件和文件夾,將顯示 Tomcat 的 404 錯誤。
正如我在這篇文章中提到的,我的應用程序是“分解的”(如果這是正確的術語),我的意思是,它沒有打包在 WAR 文件中。
添加回答
舉報