温馨提示×

debian怎样设apache2虚拟

小樊
41
2026-09-30 14:49:37
栏目: 云计算

下面以 Debian / Ubuntu 上的 Apache2 为例,说明如何配置 虚拟主机(Virtual Host),常用于一台服务器跑多个网站。


一、准备目录和文件

假设你有一个站点:example.com

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

创建测试页面:

echo "<h1>example.com works</h1>" | sudo tee /var/www/example.com/public_html/index.html

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

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 文件(仅本机生效):

Linux / macOS

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 文件并 a2ensite 即可。

3️⃣ 使用端口(非80)

<VirtualHost *:8080>

并在 /etc/apache2/ports.conf 中监听端口。


如果你说的是 “虚拟目录” 或 “基于端口/基于IP的虚拟主机”,可以告诉我,我给你对应配置。

0 踩