Apache简介
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行,由于其跨平台和安全性。被广泛使用,是最流行的Web服务器软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。 --摘自维基百科
各种安装
为了安装apache,需要依赖apr、apr-util、pcre。而apr-util在1.6的版本之后不再集成expat,所以如果使用apr-util1.6之后的版本,还要额外先安装expat。
吐槽一下:不得不说,linux的各种包之间的依赖关系真的挺麻烦的,apache这个还算少的了。
- 安装expat
wget https://nchc.dl.sourceforge.net/project/expat/expat/2.2.5/expat-2.2.5.tar.bz2
tar jxf expat-2.2.5.tar.bz2
cd expat-2.2.5
./configure --prefix=/usr/local/expat
make && make install
用tar解压bz2格式的文件,需要依赖于bzip2,如果没有安装则可以通过
yum install bzip2
进行安装。
- 安装apr
wget http://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.6.3.tar.gz
tar -zxf apr-1.6.3.tar.gz
cd apr-1.6.3
./configure --prefix=/usr/local/apr
make && make install
- 安装apr-util
wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
tar -zxf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1
./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config --with-expat=/usr/local/expat/
make && make install
- 安装pcre
wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz
tar -zxf pcre-8.41.tar.gz
cd pcre-8.41
./configure --prefix=/usr/local/pcre
make && make install
如果安装的是pcre2的话,在安装apache的时候会报pcre配置文件找不到的错误。
- 安装apache
wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.29.tar.gz
tar -zxf httpd-2.4.29
cd httpd-2.4.29
./configure --prefix=/usr/local/apache2.4.29 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre
make && make install
apache启停
通过apache安装目录下的bin/apachectl执行文件来控制apache的启停。
- apache启动服务
sh /usr/local/apache2.4.29/bin/apachectl start
- apache停止服务
sh /usr/local/apache2.4.29/bin/apachectl stop
- apache重启服务
sh /usr/local/apache2.4.29/bin/apachectl restart
- 查看apache运行状态
- 通过url查看
在没有修改任何配置的情况,apache的默认端口是80,通过访问 http://localhost:80 ,看到 It works! 字样,即运行中状态。 - 通过命令行查看
- 通过url查看
ps -ef | grep httpd
会看到有好几行/usr/local/apache2.4.29/bin/httpd -k start
这样的,如果是重启的服务,那就会看到/usr/local/apache2.4.29/bin/httpd -k restart
就是运行中状态。
apache反向配置
这里只是做一个简单的反向代理配置。
找到apache的安装目录下的conf/httpd.conf文件,如果你的安装目录是按照上面的配置来的话,那就是 /usr/local/apache2.4.29/conf/httpd.conf。
- 配置监听端口
Listen 80
这一行是用来配置监听端口的,默认配置是80,你可以随意修改为你喜欢的端口号。
该配置项可以同时配置多个,实现同时监听多个端口。
- 启动反向代理
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
在文件中找到上面这两行,把前面的 # 号注释去掉。
- 添加代理转发规则
ProxyPass / http://localhost:8888/
ProxyPassReverse / http://localhost:8888/
添加上面这两行即可实现拦截全部请求反向代理至http://localhost:8888/
。
- ProxyPass详解
ProxyPass path url 是用来配置转发规则,path不支持正则。以path打头的请求都会被拦截,然后转发至url这个路径去。
有一点要注意,就是path只是用来匹配拦截规则而已,在转发之后是不会一并带过去的。
举个栗子:
ProxyPass /example http://localhost:8888/
这样配置的话,当拦截到 /example/abc 这样的请求时,转发至目标url时是 http://localhost:8888/abc ,而不是 http://localhost:8888/example/abc 。
- ProxyPassReverse详解
ProxyPassReverse path url 指令一般与ProxyPass path url配合使用,且其path和url都与ProxyPass是一样的。
其作用是当相应请求是重定向请求时,替换其目录路径为代理服务器路径。
举个栗子:
ProxyPass /example http://localhost:8888/
假设代理服务器的地址是abc.com,如果用户请求的是abc.com/example/abc ,请求到达apache后,被转发至http://localhost:8888/abc 。
假设该请求结果是需要重定向到login.html,如果没有配置ProxpassReverse的话,客户端将会重定向至http://localhost:8888/login.html 这个路径,这时候肯定会请求失败;
如果配置了ProxpassReverse的话,则apache会在返回之前将这个重定向请求修改为abc.com/example/login.html ,那么客户端发起的重定向请求也会经过apache转发至http://localhost:8888/login.html。
结束语
至此,linux上apache的安装及其简单的反向代理配置全部完成。
相关推荐
linux下安装apache的及反向代理配置完整过程
linux下安装apache的及反向代理配置完整过程.pdf
linux下安装apache的及反向代理配置完整过程[归类].pdf
linux apache反向代理配置,写的有点乱,但是可以用,里面有说明文档 先弄 apache和tomcat整合 把80端口给apache 举例 tomcatA 8080 tomcatB 8081 在apache的httpd.conf里写反向代理,用户名指向tomcat的端口,具体...
apache for linux安装文件,本人正在使用中,很稳定,推荐给同行们。
详细介绍Apache安装步骤,并且介绍了配置反向代理的步骤
NULL 博文链接:https://xuehaipeng.iteye.com/blog/677953
Linux下安装APACHE, 详细步骤
windows下apache+tomcat反向代理模式配置负载均衡
windows下配置Apache双向认证和反向代理(Apache+配置文档)
linux离线安装apache 真的麻烦 安装gcc g++ pcre open-ssl krb5 然后初始化 编译 apr
linux下安装apache+php+mysql的最简步骤
介绍如何使用apache进行反向代理的配置,以及配置中遇到的一些问题如何解决
什么是反向代理呢?其实,反向代理也就是通常所说的WEB服务器加速,它是一种通过在繁忙的WEB服务器和Internet之间增加一个高速的WEB缓冲服务器(即:WEB反向代理服务器)来降低实际的WEB服务器的负载。
分别讲解windows和linux两种系统下的配置方法。有详细过程。
怎样在linux下安装apache2,具体的安装方法,和安装过程中遇到的问题
本文着重介绍在企业防火墙上安装具有代理和重写规则功能的Web服务器——Apache的方法,以及编译和设置Apache的具体步骤。在成功安装后,弹性的虚拟主机设置可以允许外部用户通过防火墙访问内部局域网上多个Web服务器...
Linux下Apache+PHP+Mysql安装与配置
部署应用时,考虑到WebLogic的负载负担和访问安全性,一般在WebLogic的前端架构一个反向代理服务器,将他们整合起来使用。而大多数采用的是开源的WEB服务器(Apache)。架构方式是将Apache置于前端作为WebLogic的...