配置域名: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自带功能,而且配置比较简单。