httpd服务器功能演示
- 一、虚拟主机配置
- 虚拟主机技术全景
- 虚拟主机目录规范
- 1. 基于端口的虚拟主机(8080/8081)
- 2. 基于IP的虚拟主机(192.168.1.100/192.168.1.101)
- 3. 基于域名的虚拟主机(site1.com/site2.com)
- 二、网页重定向配置
- 命令总结表格
- 功能作用详解
- 1.虚拟主机类型对比
- 2. 虚拟主机配置要点
- 3. 重定向功能解析
一、虚拟主机配置
虚拟主机技术全景
虚拟主机目录规范
/var/www/
├── site1.com
│ ├── public_html
│ ├── logs
│ └── cgi-bin
└── site2.com├── public_html├── logs└── tmp
1. 基于端口的虚拟主机(8080/8081)
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
Listen 8080
Listen 8081<VirtualHost *:8080>DocumentRoot "/var/www/port8080"ErrorLog "/var/log/httpd/port8080-error.log"
</VirtualHost><VirtualHost *:8081>DocumentRoot "/var/www/port8081"ErrorLog "/var/log/httpd/port8081-error.log"
</VirtualHost>
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
2. 基于IP的虚拟主机(192.168.1.100/192.168.1.101)
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
<VirtualHost 192.168.1.100:80>DocumentRoot "/var/www/ip100"ServerName 192.168.1.100
</VirtualHost><VirtualHost 192.168.1.101:80>DocumentRoot "/var/www/ip101"ServerName 192.168.1.101
</VirtualHost>[root@localhost ~]
3. 基于域名的虚拟主机(site1.com/site2.com)
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
<VirtualHost *:80>ServerName site1.comDocumentRoot "/var/www/site1"
</VirtualHost><VirtualHost *:80>ServerName site2.comDocumentRoot "/var/www/site2"
</VirtualHost>
[root@localhost ~]
[root@localhost ~]
二、网页重定向配置
HTTP 跳转至 HTTPS
[root@localhost ~]
LoadModule rewrite_module modules/mod_rewrite.so
[root@localhost ~]
<VirtualHost *:80>ServerName site1.comRewriteEngine OnRewriteCond %{HTTPS} offRewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>[root@localhost ~]
命令总结表格
演示命令 | 功能描述 | 关键参数/文件 |
---|
mkdir -p /var/www/{port8080,port8081} | 创建端口虚拟主机目录 | -p 递归创建目录 |
vi /etc/httpd/conf.d/port-vhost.conf | 配置端口虚拟主机 | Listen 8080 定义监听端口 |
ip addr add 192.168.1.101/24 dev eth0 | 添加临时IP地址 | dev eth0 指定网卡 |
vi /etc/httpd/conf.d/ip-vhost.conf | 配置IP虚拟主机 | <VirtualHost 192.168.1.100:80> IP绑定 |
echo "127.0.0.1 site1.com" >> /etc/hosts | 本地DNS解析 | /etc/hosts 域名映射 |
vi /etc/httpd/conf.d/domain-vhost.conf | 配置域名虚拟主机 | ServerName site1.com 域名标识 |
vi /etc/httpd/conf.d/redirect.conf | 配置HTTP跳转HTTPS | RewriteRule (.*) https://... [R=301,L] 301重定向 |
功能作用详解
1.虚拟主机类型对比
类型 | 标识方式 | 适用场景 | 配置核心指令 |
---|
基于端口 | 不同端口(如 80/8080) | 测试环境多应用隔离 | Listen 8080 + <VirtualHost *:8080> |
基于IP | 不同IP地址 | 多IP服务器托管独立网站 | <VirtualHost 192.168.1.100:80> |
基于域名 | 不同域名(如 site1.com) | 单IP多域名网站托管(生产常用) | ServerName site1.com |
2. 虚拟主机配置要点
Listen 8080
<VirtualHost *:8080>DocumentRoot "/var/www/port8080"
</VirtualHost>
<VirtualHost *:80>ServerName site1.comDocumentRoot "/var/www/site1"
</VirtualHost>
<Directory "/var/www/site1">Require all granted Options -Indexes
</Directory>
3. 重定向功能解析
RewriteEngine On
RewriteCond %{HTTPS} off # 检测非HTTPS请求
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^old.com$ [NC]
RewriteRule ^(.*)$ http://new.com/$1 [R=301,L]