Web网站服务
一、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