Apache Web服务器部署与配置
Apache基础
安装部署
yum -y install httpd #yum安装即可,-y表示自动同意安装
systemctl start httpd #开启服务
systemctl enable httpd #开机自启
httpd -v #查看Apache HTTP Server版本信息还可用systemctl status httpd查看状态

使用curl或者浏览器测试网页是否正常
echo "Hello World!" > /var/www/html/index.html
curl -I 127.0.0.1curl # 发送HTTP请求
-I # 只查看响应头(不下载网页内容)
127.0.0.1 # 访问本机上的Web服务
相关文件
| 文件 | 说明 |
|---|---|
| /etc/httpd/conf/httpd.conf | 主配置文件 |
| /etc/httpd/conf.d/ | 存放虚拟主机配置文件 |
| /etc/httpd/conf.modules.d/ | 存放模块配置文件 |
| /etc/httpd/modules/ | 存放模块文件 |
| /var/log/httpd/ | 存放日志文件 |
| /var/www/html/ | 存放默认的网页文件 |
主配置文件
vim /etc/httpd/conf/httpd.conf主配置项
| 主配置项 | 说明 |
|---|---|
| ServerRoot | 配置文件所在目录 |
| Listen | 监听端口 |
| ServerName | 服务器主机名 |
| Include | 包含其他配置文件 |
| User | 运行用户 |
| Group | 运行用户组 |
| ServerAdmin | 管理员邮箱 |
| Documentroot | 默认网站根目录 |
| Directory | 虚拟主机配置 |
| IfModule | 模块配置 |
| ErrorLog | 错误日志 |
| LogLevel | 日志级别 |
| CustomLog | 自定义日志 |
| StartServers | 初始子进程数 |
| EnableSendfile | 开启sendfile |
| AddDefaultCharset | 默认字符集 |
虚拟主机配置文件
vim /etc/httpd/conf/httpd.conf 
案例分析
修改默认网址目录为:/data/www/html
修改 ServerName 为:test.mysite.com
修改 Listen 为:8090
#先创建目录
mkdir -pv /data/www/html
#再创建默认首页文件
touch /data/www/html/index.html
#修改主配置文件
vim /etc/httpd/conf/httpd.conf 


httpd -t #检查配置文件语法是否有误
持久连接
默认情况下,HTTP请求完成后,TCP连接是否立即断开,由 KeepAlive 控制。
案例分析
开启/关闭 Keepalive 进行测试验证
- 观察客户端TCP连接是否复用?
- [扩展] 使用压测工具进行测试观察响应延时?
# 默认为开启,测试验证
curl -v http://127.0.0.1 http://127.0.0.1 http://127.0.0.1
#连续请求三次
ss -tan | grep 80 #查看TCP连接状态HTTPS
SSL加密
对称加密:加密和解密时使用同一个密钥
非对称加密:
密钥成对出现
公钥可公开,私钥仅自己保存
公钥加密私钥解密,私钥解密公钥加密
数字签名
私钥对数据签名,公钥验证签名
发送方:将数据和数据的摘要一起发送过去,同时使用自己的私钥对摘要进行加密(这时候任何人就无法篡改加密后的摘要)
接收方:接受以后在本地进行计算数据的摘要1,同时发送方的公钥解密摘要2,对比摘要1和摘要2是否相同,如果相同则可证明书记没有被篡改并来自发送方
TLS
MPM 多路处理模块
多进程和多线程的区别