一、Apache 网站服务基础

1.Apache简介

Apache HTTP Server,通常简称为Apache,是一个开源的Web服务器软件,由Apache软件基金会维护。它是最广泛使用的Web服务器之一,因其稳定、可靠和灵活性而受到青睐。以下是关于Apache的一些关键点:

### 1. 开源和社区支持

Apache是完全开源的,这意味着任何人都可以自由地使用、修改和分发它。它拥有一个活跃的开发社区,不断改进和修复问题。

### 2. 广泛使用

由于其稳定性和灵活性,Apache被许多大型网站和组织采用,包括雅虎、Facebook和维基百科等。

### 3. 模块化设计

Apache采用模块化设计,允许用户根据需要启用或禁用特定功能。这种设计使得Apache非常灵活,可以轻松扩展以满足特定需求。

### 4. 配置灵活性

Apache的配置文件(通常是`httpd.conf`或`apache2.conf`)允许管理员进行详细的定制。它支持使用`.htaccess`文件在目录级别进行配置,这为托管多个网站提供了便利。

### 5. 虚拟主机支持

Apache支持基于IP、基于名称或基于端口的虚拟主机,使得在同一服务器上托管多个网站成为可能。

### 6. 安全性

Apache提供了多种安全特性,包括SSL/TLS支持(通过`mod_ssl`模块)、访问控制(通过`mod_access`模块)和防火墙集成等。

### 7. 性能优化

Apache提供了多种性能优化选项,如内容压缩(`mod_deflate`)、缓存(`mod_cache`)和负载均衡(`mod_proxy`)等。

### 8. 兼容性和可扩展性

Apache支持广泛的HTTP协议特性,并且可以通过安装额外的模块来扩展其功能,以适应不断变化的Web技术。

### 9. 平台兼容性

Apache可以在多种操作系统上运行,包括各种版本的Unix/Linux、Windows、Mac OS X等。

### 结语

Apache HTTP Server因其强大的功能、灵活性和稳定性,成为了Web服务器领域的佼佼者。无论是小型个人网站还是大型企业级应用,Apache都能提供一个可靠和可定制的解决方案。随着互联网技术的不断进步,Apache也在持续更新,以满足现代Web服务的需求。

二、Apache 安装与部署

准备工作:

关闭防火墙

systemctl stop firewalld

关闭SELINUX

vim /etc/selinux/config

# 找到 SELINUX=** 这一行,并且将其替换成SELINUX=disabled

1.rpm安装方式

首先前往官网下载Apache源码包

下载 - Apache HTTP 服务器项目(点击转跳官网)

# 例如我这里用的是 httpd-2.4.62.tar.gz 版本的源码包,将其解压至/usr/src
tar -zxvf httpd-2.4.62.tar.gz -C /usr/src

# 进入解压后的目录
cd /usr/src/httpd-2.4.62

# 配置
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi

# 编译安装
make && make install

#########################
# 接 configure 选项说明
# 选项:
--prefix=/usr/local/apache     指定安装目录
--enable-mpms-shared=all --with-mpm=event    开启动态MPM切换        
--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util  指定依赖包apr apr-util安装路径
--enable-so      打开 so 模块,so 模块是用来提 dso 支持的 apache 核心模块
--enable-remoteip     支持基于客户端IP做访问控制                        
--enable-proxy --enable-proxy-fcgi --enable-proxy-uwsgi    启用代理支持PHP Python网站
--enable-deflate=shared                         开启压缩
--enable-expires=shared                         开启客户端缓存
--enable-rewrite=shared                         开启URL重写
--enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache 开启服务器缓存    
--enable-static-support                        支持静态连接
--enable-static-ab          使用静态连接编译 ab - apache http 服务器性能测试工具
--disable-userdir              禁用用户主目录提供页面访问
--enable-nonportable-atomics   对新式CPU支持,支持原子的比较交换(compare-and -swap, CAS)操作指令
--disable-ipv6               禁用IPV6
--with-sendfile              开启sendfile 0复制机制
#########################

优化执行路径(添加到搜索路径中,方便用户使用)

ln -s /usr/local/httpd/bin/* /usr/local/bin/

添加httpd为系统服务(可通过chkconfig工具控制开机自启)

vim /etc/init.d/httpd

# chkconfig:35 82 21 /服务识别参数,指定3、5级别顺序启动标识号
# description:Startup script for the Apache HTTP Server

# 将 httpd 添加为系统服务
chkconfig --add httpd

# 查看 httpd 自启状态
chkconfig --list httpd	

# 开启 httpd 服务
/etc/init.d/httpd start

# 查看 httpd 服务默认端口是否启用
netstat -utpln |grep httpd

文件开头添加chkconfig识别配置,不添加chkconfig添加服务时报错

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

Apache的目录说明:

主配置文件:/usr/local/httpd/conf/httpd.conf

网页目录:/usr/local/httpd/htdocs/

服务脚本:/usr/local/httpd/bin/apachectl

执行程序:/usr/local/httpd/bin/httpd

访问日志: /usr/local/httpd/logs/access_log

错误日志: /usr/local/httpd/logs/error_log

2.yum安装方式

安装依赖

yum install -y pcre-devel libxml2 expat-devel gcc*

安装 httpd

yum install -y httpd

启动 httpd

service httpd start

设置 httpd 允许开机自启动

systemctl enable httpd.service