配置域名:web
1.在windows系統文件中配置hosts,apache
添加127.0.0.1 www.nhn-test.comwindows
2.在Apache配置文件中去掉瀏覽器
conf/extra/httpd-vhosts.conf 前面的註解,便可引用httpd-vhosts.conf文件tomcat
3.在httpd-vhosts.conf中加入app
<VirtualHost *:80>
DocumentRoot "E:\myWorkplays\hangame-template-master_hangame-template-master\src\main\webapp\WEB-INF\jsp"
ServerName www.nhn-test.com
</VirtualHost>webapp
便可經過http://www.nhn-test.com:8080/hangame-template/page?name=t 進行訪問jsp
出現問題:網站
Invalid command 'Order', perhaps misspelled or defined by a module not included in the server config .net
開始配置出現上面的報錯信息
解決辦法:
把#LoadModule access_compat_module modules/mod_access_compat.so
前面改爲:
LoadModule access_compat_module modules/mod_access_compat.so
4.以上配置訪問須要加端口,因此須要配置反向代理,才能夠實現域名不帶端口訪問
httpd寫反向代理,把制定域名的80端口映射到8080便可
配置代理:
1.將httpd.conf中
mod_proxy.so
mod_proxy_http.so前面的註釋去掉
開啓代理使apache具有將URL轉發給Tomcat的能力。
2.在httpd-vhosts.conf中添加
ProxyPass / http://www.nhn-test.com:8080/
ProxyPassReverse / http://www.nhn-test.com:8080/
便可不加端口號對資源進行訪問。
糾結了一天的坑以及學到的總結:
經常使用的兩種方式:apache轉發代理或者使用mod_jk
我用的就是第一種方法,Apache HTTP service 和 Tomcat server 整合,通常是但願對於用戶只公佈Apache HTTP server 的網址,而Tomcat的網址則不公佈,達到對網站的保護,訪問Tomcat的HTTP請求,經過Apache轉發給Tomcat,Tomcat處理結束後,將回應的結果返回到Apache,而後Apache HTTP 再回應發回給用戶瀏覽器。
方法:使用mod_jk,不少網站上介紹到apache和tomcat整合的時候,都是接受so的使用,這是一種比較老的方法,並且如今tomcat的官網上已經沒有了對y應so的下載,因此我這邊沒有找到其資源,配置文件都須要改動,因此我不推薦使用。
還有其餘幾種方法https://blog.csdn.net/huhuhuemail/article/details/78183579
我用的是mod_proxy方法,是Apache自帶功能,而且配置比較簡單。