所需工具,能看懂标题的人就知道要什么工具(Apache2.4+Tomcat)
运行Tomcat需要jdk,学java的小伙伴都知道吧。
昨天学的知识。现在总结一下并把配置过程发出来。当个记录以后自己忘了可以看。
在学校大佬讲的太乱了,一直在debug。好多人都睡着了,大佬牛逼是牛逼,但是对于我们这些新手他一直在debug我们实在看不懂。
最后大佬弄出来了,给我们总结了一下。他讲的过程我也没怎么听。跟不上节奏,记不住。。。
隔天早上就开始上网找资料去配置,发现找的资料没一个能配置成功的,乱七八糟。有些配置后apache都运行不了了。(写文章的人能不能负点责,自己测试过没问题后再发出来)
okok,进入主题。
先来了解一下什么是反向代理?
当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务
所谓的反向代理就是你访问的目标不是直接访问的,中间是有一个代理给你转发的。
那么它的作用是什么?
比如我们现在要访问的站点端口是8080并不是默认的80,而又不想手动在后面输入自己特定的端口8080。此时就可以用apache的反向代理映射到8080端口
而此时我们访问的127.0.0.1 其实就是127.0.0.1:8080
这是一张简单的流程图。看图就很容理解了(虽然画的很丑)。
现在就开始配置。
--------------------------------------------------------------------------------------
首先tomcat发布一个项目,但我们知道tomcat发布后访问的地址是localhost:8080或127.0.0.1:8080
为了逼格高点。我们修改一下本机的host和tomcat的server.xml配置文件。
host路径:C:WindowsSystem32driversetc
server.xml路径:Z:apache-tomcat-9.0.0.M20conf
如果是最高权限管理员还是没法修改就把host文件复制到桌面,修改完后再覆盖掉原来的host就可以了。
hsot添加:
127.0.0.1 baidu.com
不解释那么多了。注意访问的时候不要加www
然后再修改server.xml文件添加一个元素就可以了
server.xm添加:
<Host name="baidu.com" autoDeploy="true" unpackWARs="true" appBase="e:\baidu.com"> </Host>
在你的E盘创建有baidu.com文件夹把项目放里面,启动tomcat就可以用baidu.com访问了。
--------------------------------------------------------------------------------------
这里才是配置apache的
其实用apache做反向代理的话只要稍微修改一下就好了,并不用像网上的一样设置一大堆乱七八糟的。
在网上看的配置都出错,我就直接去apache官网看了一下。找到一段代码复制过去就配置成功了。
<VirtualHost baidu.com:80>
ServerAdmin webmaster@host.example.com
DocumentRoot "e:\baidu.com"
ServerName baidu.com
ErrorLog "logs/baidu.com"
TransferLog "logs/baidu.com"
ProxyPreserveHost On
ProxyPass / http://baidu.com:8080/
ProxyPassReverse / http://baidu.com:8080/
</VirtualHost>
这是我用baidu.com这个例子改的,如果你的本地域名不是baidu.com换成你自己本地域名就好了
那么这段代码要添加到哪里呢,放到httpd-vhosts.conf
httpd-vhosts.conf路径:Z:Apache24confextra
添加到末尾就行了。
配置到这里就差修改一个配置文件了:httpd.conf
httpd.conf路径:Z:Apache24conf
找到这三句代码,把注释去掉就ok了
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
Include conf/extra/httpd-vhosts.conf
--------------------------------------------------------------------------------------
此时运行你的apache用baidu.com访问是不是项目出来了,也不用在后面输入8080端口了。
按步骤来肯定是可以成功的。
这里提醒一下,直接访问baidu.com后面不加任何项目名的话在baidu.com目录下新建一个ROOT文件夹放一个名为index的页面进去就会自动找这个页面显示
最后看一下成功的效果是什么样的
想了解更多的话去官方文档看吧。
2.4官网链接:鼠标点一下带你飞过去