温馨提示×

centos lamp怎么设置虚拟主机

小樊
43
2026-10-17 21:24:41
栏目: 云计算

在 CentOS 上搭建 LAMP(Linux + Apache + MySQL/MariaDB + PHP)环境后,配置 Apache 虚拟主机(Virtual Host) 是非常常见的需求。下面以 CentOS 7/8 + Apache(httpd) 为例,一步步说明。


一、前提条件

确保已安装 LAMP:

yum install httpd mariadb-server php php-mysql -y
systemctl start httpd
systemctl enable httpd

二、创建网站目录

假设我们要建两个站点:

  • www.a.com → /var/www/a
  • www.b.com → /var/www/b
mkdir -p /var/www/a
mkdir -p /var/www/b

echo "A Site" > /var/www/a/index.html
echo "B Site" > /var/www/b/index.html

三、创建虚拟主机配置文件

Apache 虚拟主机配置一般放在:

/etc/httpd/conf.d/

1️⃣ 配置 a.com

vi /etc/httpd/conf.d/a.conf

内容:

<VirtualHost *:80>
    ServerName www.a.com
    DocumentRoot /var/www/a
    <Directory /var/www/a>
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog /var/log/httpd/a_error.log
    CustomLog /var/log/httpd/a_access.log combined
</VirtualHost>

2️⃣ 配置 b.com

vi /etc/httpd/conf.d/b.conf

内容:

<VirtualHost *:80>
    ServerName www.b.com
    DocumentRoot /var/www/b
    <Directory /var/www/b>
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog /var/log/httpd/b_error.log
    CustomLog /var/log/httpd/b_access.log combined
</VirtualHost>

四、检查并重启 Apache

httpd -t
systemctl restart httpd

五、本地测试(无 DNS 时)

修改本地 hosts 文件(Windows / Linux / macOS):

服务器IP www.a.com
服务器IP www.b.com

示例:

192.168.1.100 www.a.com
192.168.1.100 www.b.com

浏览器访问:

http://www.a.com
http://www.b.com

六、常见问题

1️⃣ 403 Forbidden

  • 目录权限问题
chown -R apache:apache /var/www/a
chmod -R 755 /var/www/a

2️⃣ 使用 PHP

确保 index.php 在目录中,并测试:

<?php phpinfo(); ?>

3️⃣ 防火墙

firewall-cmd --permanent --add-service=http
firewall-cmd --reload

七、扩展(可选)

  • ✅ 配置 HTTPS(Let’s Encrypt)
  • ✅ 配置 伪静态(.htaccess)
  • ✅ 配置 多端口虚拟主机

如果你说明:

  • CentOS 版本
  • Apache 还是 Nginx
  • 是否用 HTTPS

我可以给你更精确的配置示例。

0 踩