配置Apache虚拟主机
[title]: # 配置Apache虚拟主机
实验环境
- 一台最小化安装的CentOS 7.3虚拟机
配置基础环境
1. 安装apache
yum install -y httpd
2. 建立虚拟主机的根目录
mkdir /var/wwwroot
mkdir /var/wwwroot/site1
mkdir /var/wwwroot/site2
echo -e "site1" >> /var/wwwroot/site1/index.html
echo -e "site2" >> /var/wwwroot/site2/index.html
3. 关闭CentOS的防火墙
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
配置基于端口的虚拟主机
1. 编辑apache配置文件
vim /etc/httpd/conf.d/vhost.conf
2. 添加以下内容
Listen 8081
<VirtualHost *:8081>
DocumentRoot "/var/wwwroot/site1"
ErrorLog "logs/site1.error.log"
CustomLog "logs/site1.access.log" common
<Directory "/var/wwwroot/site1">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
Listen 8082
<VirtualHost *:8082>
DocumentRoot "/var/wwwroot/site2"
ErrorLog "logs/site2.error.log"
CustomLog "logs/site2.access.log" common
<Directory "/var/wwwroot/site2">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
3. 启动apache服务
systemctl start httpd
4. 在宿主机访问两个站点
http://192.168.204.133:8081
http://192.168.204.133:8082
配置基于域名的虚拟主机
1. 编辑apache配置文件
vim /etc/httpd/conf.d/vhost.conf
2. 修改为以下内容
<VirtualHost *:80>
DocumentRoot "/var/wwwroot/site1"
ServerName site1.test.com
ErrorLog "logs/site1.error.log"
CustomLog "logs/site1.access.log" common
<Directory "/var/wwwroot/site1">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/var/wwwroot/site2"
ServerName site2.test.com
ErrorLog "logs/site2.error.log"
CustomLog "logs/site2.access.log" common
<Directory "/var/wwwroot/site2">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
3. 重启apache服务
systemctl restart httpd
4. 在Windows上修改hosts
文件
编辑C:\Windows\System32\drivers\etc\hosts
文件,
添加以下内容(根据实际情况自己修改)
192.168.204.135 site1.test.com
192.168.204.135 site2.test.com
5. 在宿主机访问两个站点
http://site1.test.com/
http://site2.test.com/
配置基于IP的虚拟主机
1. 在虚拟机上增加两个IP地址
ifconfig ens33:1 192.168.204.135
ifconfig ens33:2 192.168.204.136
2. 重新编辑apache配置文件
vim /etc/httpd/conf.d/vhost.conf
3. 修改配置文件为以下内容
<VirtualHost 192.168.204.135:80>
DocumentRoot "/var/wwwroot/site1"
ErrorLog "logs/site1.error.log"
CustomLog "logs/site1.access.log" common
<Directory "/var/wwwroot/site1">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.204.136:80>
DocumentRoot "/var/wwwroot/site2"
ErrorLog "logs/site2.error.log"
CustomLog "logs/site2.access.log" common
<Directory "/var/wwwroot/site2">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
4. 重启apache服务
systemctl restart httpd
5. 在宿主机访问两个站点
http://192.168.204.135/
http://192.168.204.136/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?