蓝桉云顶

Good Luck To You!

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

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

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文件

   <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、创建配置文件

   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解析问题等,建议逐一排查这些方面,确保配置文件正确无误,并且网络设置允许外部访问。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接