`
shuai1234
  • 浏览: 971590 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

Linux安装apache及其简单的反向代理配置

    博客分类:
  • java
 
阅读更多

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! 字样,即运行中状态。
    • 通过命令行查看
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+php

    3. **设置反向代理**:配置 Nginx 将用户请求代理到 Apache 服务器。 4. **监控和调整**:通过监控系统资源和响应时间,动态调整负载均衡策略。 在实际部署中,还要考虑 SSL 加密、会话保持、健康检查等高级特性,...

    linux(nginx) + mysql + apache 配置

    同时,不断学习和熟悉Linux命令行操作、Apache/Nginx配置语法以及MySQL管理,将有助于你更高效地完成配置工作。 在配置过程中,可能会遇到权限问题、依赖冲突、服务启动失败等问题,这就需要通过日志分析和搜索引擎...

    反向代理负载均衡HAPROXY最佳实践

    接下来,我们将详细介绍如何在两台虚拟机上安装部署HAPROXY,以及如何配置基本的反向代理负载均衡。 ##### 环境准备 - **虚拟机配置**:这里提供了两台虚拟机的配置示例。两台虚拟机均运行在x86_64架构上,内核...

    Apache Web服务器安装部署手册 for Linux(CentOS 5.4)

    由于默认情况下Apache可能不支持中文字符,因此需要进行以下配置来解决中文乱码问题: - **修改httpd.conf**:在Apache的主配置文件`httpd.conf`中添加`AddDefaultCharset GB2312`或者`AddDefaultCharset UTF-8`,...

    Linux-Apache-Nginx-MySQL-PHP

    **Nginx**:Nginx是一款高性能的反向代理服务器和负载均衡器,以其高效的并发处理能力、低内存占用和稳定的性能而闻名。与Apache相比,Nginx更适用于高流量、静态内容多的网站,可以处理大量的并发连接。 **MySQL**...

    nginx反向代理服务器1

    【Nginx反向代理服务器】是Web服务领域中一种重要的技术,主要用于处理高并发的静态资源请求和实现负载均衡。Nginx以其高效的性能、低资源占用和丰富的功能深受IT行业的青睐。以下是对Nginx及其相关知识点的详细解释...

    Linux 安装 yum 指定源 源代码 lnmp环境搭建

    首先,我们需要安装Nginx,Nginx是一款轻量级、高效的HTTP和反向代理服务器,它的配置文件灵活且易于扩展。安装Nginx可以通过`yum install nginx`命令完成,但在指定源后可能需要先执行`yum clean all`清理缓存,...

    安装apche需要的依赖

    在配置过程中,可能还需要根据你的需求添加或修改配置文件(通常位于`/etc/httpd/conf`或`/etc/apache2`目录下)。完成配置后,执行`apachectl start`或`systemctl start apache2`命令启动Apache服务器,即可开始...

    linux环境安装工具包.zip

    下面将详细介绍这些组件的功能、安装步骤及其在实际应用中的重要性。 1. Apache ActiveMQ: 是Apache软件基金会的一个项目,提供了一个开源的消息中间件。ActiveMQ允许应用程序之间进行异步通信,支持多种协议,如...

    mod_jk各个版本 apache与tomcat 整合

    mod_jk 是一个负载均衡器和反向代理,它能够帮助我们在多个应用服务器之间分发 HTTP 请求。本文将详细介绍 mod_jk 的不同版本及其与 Apache 和 Tomcat 的整合方法。 #### mod_jk 版本概述 mod_jk 是 Apache Tomcat...

    Linux服务器的运维

    Linux服务器的运维知识点广泛,涵盖从基础系统安装后的优化到具体服务的配置和管理,再到高级功能如数据同步和监控等。这里,我们将详细探讨给定文件中提到的Linux服务器运维相关知识点。 1. Linux安装后基本优化 ...

    搭建nginx+apache+mysql+php+memcached+squid服务器集群.zip_nginx正向代理

    安装nginx.txt"),并配置为反向代理,设置负载均衡策略。 4. 安装MySQL("4.安装MySQL、memcache.txt"),并进行数据安全和性能优化。 5. 安装Memcached,与PHP集成("5.安装Apache、PHP、eAccelerator、...

    Apache Server 系统管理员手册

    1. **安装与配置**:了解如何在不同的操作系统(如Linux、Windows或macOS)上安装Apache服务器,包括下载源码、编译和安装过程。理解httpd.conf配置文件的结构和各个指令的作用,如ServerRoot、Listen、DocumentRoot...

    在Linux下部署的大致所有jar包

    在Linux环境下部署应用程序通常涉及到多个组件的安装与配置,这些组件包括数据库、缓存系统、服务器软件等。这里提到的压缩包文件包含了多种常见的IT工具和库,如Redis、Ruby、Zlib、Zookeeper、Nginx、OpenSSL等。...

    Linux系统案例分析详解

    - **Apache服务配置**:掌握Apache基本配置文件httpd.conf中的各项参数含义及其调整方法。 - **安全加固**:学习如何通过SSL证书实现HTTPS加密传输,提高数据安全性。 - **性能优化**:了解Nginx反向代理、缓存机制...

    linux下自动化部署安装工具;支持mysql服务、redis服务、nginx服务、tomcat服务、weavescope服务

    本工具专为Linux系统设计,能够帮助管理员快速、高效地安装和配置多种服务,包括MySQL数据库服务、Redis缓存服务、Nginx反向代理服务器、Tomcat应用服务器以及WeaveScope监控工具。以下将详细讲解这些服务及其在自动...

    Apache+MySQL.zip

    例如,mod_proxy可以设置反向代理,使得Apache可以转发客户端请求到后端的MySQL服务器。mod_php和mod_perl则让Apache可以直接解释PHP或Perl代码,与数据库进行通信。 在学习Apache和MySQL的过程中,你可能会接触到...

    linux局域网设置

    例如,配置Apache的VirtualHost来托管多个网站,或者在Nginx中进行反向代理和负载均衡。 3. **DNS设置**:DNS(Domain Name System)是互联网的名称解析系统。在Linux中,常用的DNS服务器软件是BIND。配置DNS包括...

Global site tag (gtag.js) - Google Analytics