温馨提示×

Apache2 Ubuntu如何设虚拟主机

小樊
39
2026-09-23 12:16:29
栏目: 云计算

在 Ubuntu 上用 Apache2 配置虚拟主机(Virtual Host),一般按下面步骤来即可。


一、前提条件

  • 已安装 Apache2
sudo apt update
sudo apt install apache2
  • 有 root 或 sudo 权限
  • 域名(如 example.com)或本地测试用 localhost

二、创建网站目录

sudo mkdir -p /var/www/example.com/public_html
sudo chown -R $USER:$USER /var/www/example.com
sudo chmod -R 755 /var/www/example.com

创建测试页面:

nano /var/www/example.com/public_html/index.html

内容示例:

<h1>Welcome to example.com</h1>

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

Apache 虚拟主机文件通常在:

/etc/apache2/sites-available/

新建配置文件:

sudo nano /etc/apache2/sites-available/example.com.conf

示例配置(最基础):

<VirtualHost *:80>
    ServerAdmin admin@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html

    <Directory /var/www/example.com/public_html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
    CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>

四、启用虚拟主机

sudo a2ensite example.com.conf

如需禁用默认站点(可选):

sudo a2dissite 000-default.conf

五、检查并重载 Apache

sudo apache2ctl configtest
sudo systemctl reload apache2

六、本地测试(无真实域名)

编辑本地 hosts 文件:

sudo nano /etc/hosts

添加:

127.0.0.1 example.com

浏览器访问:

http://example.com

七、常见扩展

1️⃣ 配置 HTTPS(Let’s Encrypt)

sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d example.com -d www.example.com

2️⃣ 多虚拟主机

每个域名一个 .conf 文件,重复上述步骤即可。

3️⃣ 指定端口(如 8080)

<VirtualHost *:8080>

并确保:

sudo nano /etc/apache2/ports.conf
Listen 8080

如果你是要 本地开发 / 多项目 / Laravel / PHP / 反向代理,可以告诉我具体场景,我可以给你更合适的配置示例。

0