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的安装及其简单的反向代理配置全部完成。
相关推荐
3. **设置反向代理**:配置 Nginx 将用户请求代理到 Apache 服务器。 4. **监控和调整**:通过监控系统资源和响应时间,动态调整负载均衡策略。 在实际部署中,还要考虑 SSL 加密、会话保持、健康检查等高级特性,...
同时,不断学习和熟悉Linux命令行操作、Apache/Nginx配置语法以及MySQL管理,将有助于你更高效地完成配置工作。 在配置过程中,可能会遇到权限问题、依赖冲突、服务启动失败等问题,这就需要通过日志分析和搜索引擎...
接下来,我们将详细介绍如何在两台虚拟机上安装部署HAPROXY,以及如何配置基本的反向代理负载均衡。 ##### 环境准备 - **虚拟机配置**:这里提供了两台虚拟机的配置示例。两台虚拟机均运行在x86_64架构上,内核...
由于默认情况下Apache可能不支持中文字符,因此需要进行以下配置来解决中文乱码问题: - **修改httpd.conf**:在Apache的主配置文件`httpd.conf`中添加`AddDefaultCharset GB2312`或者`AddDefaultCharset UTF-8`,...
**Nginx**:Nginx是一款高性能的反向代理服务器和负载均衡器,以其高效的并发处理能力、低内存占用和稳定的性能而闻名。与Apache相比,Nginx更适用于高流量、静态内容多的网站,可以处理大量的并发连接。 **MySQL**...
【Nginx反向代理服务器】是Web服务领域中一种重要的技术,主要用于处理高并发的静态资源请求和实现负载均衡。Nginx以其高效的性能、低资源占用和丰富的功能深受IT行业的青睐。以下是对Nginx及其相关知识点的详细解释...
首先,我们需要安装Nginx,Nginx是一款轻量级、高效的HTTP和反向代理服务器,它的配置文件灵活且易于扩展。安装Nginx可以通过`yum install nginx`命令完成,但在指定源后可能需要先执行`yum clean all`清理缓存,...
在配置过程中,可能还需要根据你的需求添加或修改配置文件(通常位于`/etc/httpd/conf`或`/etc/apache2`目录下)。完成配置后,执行`apachectl start`或`systemctl start apache2`命令启动Apache服务器,即可开始...
下面将详细介绍这些组件的功能、安装步骤及其在实际应用中的重要性。 1. Apache ActiveMQ: 是Apache软件基金会的一个项目,提供了一个开源的消息中间件。ActiveMQ允许应用程序之间进行异步通信,支持多种协议,如...
mod_jk 是一个负载均衡器和反向代理,它能够帮助我们在多个应用服务器之间分发 HTTP 请求。本文将详细介绍 mod_jk 的不同版本及其与 Apache 和 Tomcat 的整合方法。 #### mod_jk 版本概述 mod_jk 是 Apache Tomcat...
Linux服务器的运维知识点广泛,涵盖从基础系统安装后的优化到具体服务的配置和管理,再到高级功能如数据同步和监控等。这里,我们将详细探讨给定文件中提到的Linux服务器运维相关知识点。 1. Linux安装后基本优化 ...
安装nginx.txt"),并配置为反向代理,设置负载均衡策略。 4. 安装MySQL("4.安装MySQL、memcache.txt"),并进行数据安全和性能优化。 5. 安装Memcached,与PHP集成("5.安装Apache、PHP、eAccelerator、...
1. **安装与配置**:了解如何在不同的操作系统(如Linux、Windows或macOS)上安装Apache服务器,包括下载源码、编译和安装过程。理解httpd.conf配置文件的结构和各个指令的作用,如ServerRoot、Listen、DocumentRoot...
在Linux环境下部署应用程序通常涉及到多个组件的安装与配置,这些组件包括数据库、缓存系统、服务器软件等。这里提到的压缩包文件包含了多种常见的IT工具和库,如Redis、Ruby、Zlib、Zookeeper、Nginx、OpenSSL等。...
- **Apache服务配置**:掌握Apache基本配置文件httpd.conf中的各项参数含义及其调整方法。 - **安全加固**:学习如何通过SSL证书实现HTTPS加密传输,提高数据安全性。 - **性能优化**:了解Nginx反向代理、缓存机制...
本工具专为Linux系统设计,能够帮助管理员快速、高效地安装和配置多种服务,包括MySQL数据库服务、Redis缓存服务、Nginx反向代理服务器、Tomcat应用服务器以及WeaveScope监控工具。以下将详细讲解这些服务及其在自动...
例如,mod_proxy可以设置反向代理,使得Apache可以转发客户端请求到后端的MySQL服务器。mod_php和mod_perl则让Apache可以直接解释PHP或Perl代码,与数据库进行通信。 在学习Apache和MySQL的过程中,你可能会接触到...
例如,配置Apache的VirtualHost来托管多个网站,或者在Nginx中进行反向代理和负载均衡。 3. **DNS设置**:DNS(Domain Name System)是互联网的名称解析系统。在Linux中,常用的DNS服务器软件是BIND。配置DNS包括...