如何在CentOS系统中添加虚拟主机?

centos 上添加虚拟主机,需编辑 apache 配置文件(如 httpd.conf 或 sites-available/default),定义 servername、documentroot 等参数,并重启 httpd 服务以应用更改。

CentOS添加虚拟主机详细步骤

centos 添加虚拟主机

在CentOS操作系统上配置虚拟主机,可以通过基于IP、基于IP+端口以及基于域名的三种方式来实现,以下是详细的步骤和注意事项:

一、系统环境准备

1、查看系统版本

   cat /etc/redhat-release

2、查看网络接口信息

   ip ad

二、安装Apache

1、通过YUM安装Apache

   yum install -y httpd

2、启动并设置Apache服务开机自启

   systemctl start httpd
   systemctl enable httpd

3、关闭防火墙并禁用SELinux(如果需要)

   systemctl stop firewalld
   systemctl disable firewalld
   setenforce 0
   vim /etc/selinux/config
   # 修改SELINUX=disabled

三、配置虚拟主机

1. 基于IP的虚拟主机配置

1、创建配置文件

   cd /etc/httpd/conf.d/
   vim virtual.conf

2、添加以下内容到virtual.conf文件

centos 添加虚拟主机
   <VirtualHost 192.168.253.128:80>
       ServerName a.com
       DocumentRoot "/www/a.com"
       ErrorLog logs/a.com-error_log
       CustomLog logs/a.com-access_log common
   </VirtualHost>
   <VirtualHost 192.168.253.129:80>
       ServerName b.com
       DocumentRoot "/www/b.com"
       ErrorLog logs/b.com-error_log
       CustomLog logs/b.com-access_log common
   </VirtualHost>

3、为每个虚拟主机创建网页根目录

   mkdir -p /www/a.com /www/b.com
   echo "<h1>Welcome to a.com</h1>" > /www/a.com/index.html
   echo "<h1>Welcome to b.com</h1>" > /www/b.com/index.html

4、重启Apache服务

   systemctl restart httpd

2. 基于IP+端口的虚拟主机配置

1、创建配置文件

   cd /etc/httpd/conf.d/
   vim virtual_port.conf

2、添加以下内容到virtual_port.conf文件

   Listen 8080
   <VirtualHost *:80>
       ServerName a.com
       DocumentRoot "/www/a.com"
       ErrorLog logs/a.com-error_log
       CustomLog logs/a.com-access_log common
   </VirtualHost>
   <VirtualHost *:8080>
       ServerName b.com
       DocumentRoot "/www/b.com"
       ErrorLog logs/b.com-error_log
       CustomLog logs/b.com-access_log common
   </VirtualHost>

3、为每个虚拟主机创建网页根目录(同上)。

4、重启Apache服务

   systemctl restart httpd

3. 基于域名的虚拟主机配置

1、创建配置文件

centos 添加虚拟主机
   cd /etc/httpd/conf.d/
   vim virtual_domain.conf

2、添加以下内容到virtual_domain.conf文件

   <VirtualHost *:80>
       ServerName a.com
       DocumentRoot "/www/a.com"
       ErrorLog logs/a.com-error_log
       CustomLog logs/a.com-access_log common
   </VirtualHost>
   <VirtualHost *:80>
       ServerName b.com
       DocumentRoot "/www/b.com"
       ErrorLog logs/b.com-error_log
       CustomLog logs/b.com-access_log common
   </VirtualHost>

3、修改物理机的hosts文件(假设物理机访问Apache服务器):

   sudo vim /etc/hosts
   # 添加以下行
   192.168.253.128 a.com
   192.168.253.129 b.com

4、为每个虚拟主机创建网页根目录(同上)。

5、重启Apache服务

   systemctl restart httpd

四、检查配置与测试访问

1、检查配置文件是否正确

   apachectl configtest

2、重启Apache服务

   systemctl restart httpd

3、在浏览器中测试访问

通过IP地址访问:http://192.168.253.128 和 http://192.168.253.129

通过端口访问:http://your_server_ip:8080(假设你的服务器IP是192.168.253.128)

通过域名访问:http://a.com 和 http://b.com(需要在本地hosts文件中添加对应的IP映射)

五、常见问题解答(FAQs)

Q1: 如何更改虚拟主机的根目录权限?

A1: 你可以使用chmod命令来更改目录权限,给予所有用户读取权限:chmod 755 /www/a.com,对于更复杂的权限设置,可以参考Linux权限管理文档。

Q2: 如果虚拟主机无法访问,可能是什么原因?

A2: 可能的原因有:配置文件错误、防火墙未关闭、SELinux未禁用、DNS解析问题等,建议逐一排查这些方面,确保配置文件正确无误,并且网络设置允许外部访问。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1405951.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希的头像未希新媒体运营
上一篇 2024-12-14 07:30
下一篇 2024-04-25 10:53

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入