我試圖配置我的(內部)測試服務器來運行2個tomcat應用程序(實際上是同一個並排的2個版本)。我們使用Apache2.4和mod_jk & Tomcat8。目前我正在嘗試向下工作,因此我嘗試的第一步是使當前(嵌入式)tomcat應用程序繼續在端口80上正常運行,並且最初無法在端口81上運行不存在的應用程序。將Apache mod_jk AJP連接器配置爲指向2個不同端口上的tomcat應用程序
所以目前它使用一個應用程序工作在
http://LOCALSERVERNAME
我的改變有它
1) http://LOCALSERVERNAME
和
工作(相同的應用程序),但我希望它繼續工作,因爲是1和運行2
不同的應用程序,這樣我修改httpd.conf文件,聽取上的兩個端口
Listen 80
Listen 81
隨着現有jkMount設置此
JkMount /* worker1
JkMount /localhost:80 worker1
JkMount /localhost:80/* worker1
JkMount /127.0.0.1:80 worker1
JkMount /127.0.0.1:80/* worker1
打開兩個端口上的tomcat的應用程序(而不是其他端口),使聽衆指令都在工作。我認爲這只是使用JkMount/* worker1。
我修改了這個在此期間通過評論說出來,並試圖均低於(單獨)的選項
#JkMount /* worker1
#JkMount /*:80/* worker1
JkMount /194.66.181.17:80/* worker1
我已經設置了服務器名登錄到本地服務器名稱
ServerName LOCALSERVERNAME
這是給我一個身份驗證所需的登錄彈出& 401錯誤,儘管在Apache服務器上沒有密碼保護。我假設這是配置中的錯誤。
我修改了worker.properties文件,並從瀏覽器中找到了解決方案,我想我可能誤解了它的用途。它使用了一個平衡器(與前面提到的相同),我修改了它,認爲我會用它來爲不同端口的tomcat應用程序提供服務(8009 & 8011)。我看到有人說worker.properties文件只是用作負載平衡器,所以這可能是一個錯誤?
worker.list=worker1, worker2
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker2.port=8011
worker.worker2.host=localhost
worker.worker2.type=ajp13
我的httpd-vhosts.conf文件是這樣的,雖然我已經嘗試了很多事情在第2項,我不認爲他們是曾經拿起 - 我認爲最接近我有它不得不工作當兩個端口都運行到(相同)現有的應用程序並且可能剛剛使用了第一個條目時。
<VirtualHost [IP-address]:80 localhost:80>
servername LOCALSERVERNAME
DocumentRoot "E:/Production/Apache/htdocs"
<Directory "E:/Production/Apache/htdocs">
Options +FollowSymLinks
AllowOverride All
</Directory>
JkOptions +ForwardURICompatUnparsed
ProxyRequests off
JkMount /* worker1
</VirtualHost>
<VirtualHost [IP-address]:81>
servername LOCALSERVERNAME
DocumentRoot "E:/Production/Apache/dummy"
</VirtualHost>
因此......我的問題是我可以在我的本地域服務器上使用apache來運行2個使用mod_jk的嵌入式tomcat應用程序嗎?如果有的話,任何人都可以指出我的配置出錯了嗎?我假設我在某個地方走錯了方向,而不是需要稍微調整一下?
謝謝你給我一點時間,我已經暫時轉移到其他東西,所以可能需要幾個星期才能檢查出來! – gringogordo