蓝桉云顶

Good Luck To You!

如何在CentOS上配置Apache虚拟主机?

在CentOS上配置Apache虚拟主机,首先需要安装Apache并启用服务,然后创建目录结构并设置权限,接着为每个虚拟主机创建配置文件,最后通过命令启动或重启Apache服务。

CentOS Apache 虚拟主机配置

一、前言

在 CentOS 上配置 Apache 虚拟主机是实现多站点管理的关键步骤,本文将详细介绍基于端口、基于域名和基于 IP 的三种虚拟主机配置方式,并提供相关配置步骤和注意事项。

二、安装 Apache

确保你的系统中已安装 Apache,如果没有安装,可以使用以下命令进行安装:

yum install -y httpd

安装完成后,启动并设置 Apache 服务开机自启:

systemctl start httpd
systemctl enable httpd

三、创建虚拟主机根目录

创建虚拟主机的根目录,用于存放网站文件:

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

四、配置防火墙

关闭 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 restart httpd

4、访问站点

http://服务器IP:8081

http://服务器IP: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、修改本地 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
    </VirtualHost>
    <VirtualHost 192.168.204.136:80>
        DocumentRoot "/var/wwwroot/site2"
        ErrorLog "logs/site2.error.log"
        CustomLog "logs/site2.access.log" common
    </VirtualHost>

4、重启 Apache 服务

    systemctl restart httpd

5、访问站点

http://192.168.204.135

http://192.168.204.136

八、常见问题及解答 (FAQs)

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

A1: 你可以使用以下命令更改根目录及其子目录的权限:

chown -R apache:apache /var/wwwroot/your_site_directory
chmod -R 755 /var/wwwroot/your_site_directory

确保 Apache 用户对目录具有读写权限。

Q2: 如何测试虚拟主机配置是否正确?

A2: 使用以下命令测试配置文件语法是否正确:

apachectl configtest

如果输出结果显示Syntax OK,则表示配置正确无误,之后可以重启 Apache 服务以应用新的配置。

九、小编有话说

通过以上步骤,你可以在 CentOS 上成功配置基于端口、域名或 IP 的 Apache 虚拟主机,这不仅可以提高服务器的资源利用率,还能方便地管理和扩展多个站点,希望这篇详细的教程对你有所帮助,如果你有任何问题或建议,请随时联系我们!

发表评论:

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

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