2015-06-19 30 views
3

前一個詢問AskUbuntu: https://askubuntu.com/questions/630897/apache-httpd-backed-by-both-tomcat-and-php 但沒有答案,所以我決定在這裏問。如何在同一個服務器環境下運行PHP和Tomcat?

再說一遍 - 比方說,我可以通過某些域名訪問服務器,例如, http://mywebapp.com/

我想安裝該服務器上的以下內容:

  • http://mywebapp.com/blog*所有請求都由PHP服務器處理(WordPress的博客引擎是具體的)
  • 所有其他請求http://mywebapp.com/*被處理通過Apache Tomcat

我認爲這可以通過把Apache HTTPD服務器位於TomcatPHP服務器前面,但無法找到配置來實現此目的。

有人可以請提供任何提示如何實現這一點?

回答

3

你可以做到這一點的mod_jk:

1)在你的Apache Web服務器的httpd.conf啓用模塊 「mod_jk的」。取消註釋此行,通過刪除導致哈希:

LoadModule jk_module modules/mod_jk.so 

如果你是在Linux類型:

sudo apt-get install libapache2-mod-jk 
sudo a2enmod jk 

2)編輯[TOMCAT_DIR] /conf/server.xml。添加一個 「的jvmRoute」 屬性爲 「發動機」 的元素:

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

取消對AJP連接器(在HTTP連接器可以被禁用):

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 

3)創建文件 「workers.properties」 ,在「httpd.conf」旁邊。添加此內容,並設置右IP /端口:

worker.list=tomcat 

worker.tomcat.type=ajp13 
worker.tomcat.host=127.0.0.1 
#This is the port from the AJP connector, not HTTP! 
worker.tomcat.port=8009 
worker.tomcat.lbfactor=10 

4)的httpd.conf的末尾添加該映射,並通過絕對路徑替換[PATH_TO_DIR]:

<IfModule jk_module> 

    JkWorkersFile [PATH_TO_DIR]\workers.properties 
    JkLogFile [PATH_TO_DIR]\mod_jk.log 
    JkLogLevel INFO 
    JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories 

    SetEnvIf Request_URI "/error/*" no-jk 
    SetEnvIf Request_URI "/blog*" no-jk 

    JkMount /     tomcat 
    JkMount /*     tomcat 

</IfModule> 

5)啓動Tomcat並重新啓動Httpd。

+0

嗨Stefan,我想按照你的指示,你可以請檢查這個問題:http://serverfault.com/questions/740534/apache-webserver-tomcat-runing-multiple-tomcat-webapps-and-apache -webserver/740569?noredirect = 1個#comment926117_740569 –

相關問題