debian

Debian上Nginx的多站点配置怎么实现

小樊
37
2025-07-03 00:12:42
栏目: 智能运维

在Debian上配置Nginx的多站点(虚拟主机)可以通过以下步骤实现。以下是一个基本的指南,假设你已经安装了Nginx。

1. 创建站点目录

首先,为每个站点创建一个目录来存放网站的文件。

sudo mkdir -p /var/www/site1.com/html
sudo mkdir -p /var/www/site2.com/html

2. 设置目录权限

确保Nginx用户(通常是www-data)对这些目录有读写权限。

sudo chown -R www-data:www-data /var/www/site1.com
sudo chown -R www-data:www-data /var/www/site2.com

3. 创建站点配置文件

/etc/nginx/sites-available目录下为每个站点创建一个配置文件。

Site 1

sudo nano /etc/nginx/sites-available/site1.com

添加以下内容:

server {
    listen 80;
    server_name site1.com www.site1.com;

    root /var/www/site1.com/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    error_page 404 /404.html;
    location = /404.html {
        root /var/www/site1.com/html;
    }
}

Site 2

sudo nano /etc/nginx/sites-available/site2.com

添加以下内容:

server {
    listen 80;
    server_name site2.com www.site2.com;

    root /var/www/site2.com/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    error_page 404 /404.html;
    location = /404.html {
        root /var/www/site2.com/html;
    }
}

4. 启用站点配置

使用ln命令将站点配置文件链接到sites-enabled目录。

sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/site2.com /etc/nginx/sites-enabled/

5. 测试Nginx配置

在重新加载Nginx之前,测试配置文件是否有语法错误。

sudo nginx -t

6. 重新加载Nginx

如果配置文件没有问题,重新加载Nginx以应用更改。

sudo systemctl reload nginx

7. 更新DNS记录

确保你的域名(例如site1.comsite2.com)的DNS记录指向你的服务器IP地址。

8. 创建站点文件

最后,在每个站点的目录中创建一些基本的HTML文件来测试站点。

echo "<h1>Welcome to Site 1</h1>" | sudo tee /var/www/site1.com/html/index.html
echo "<h1>Welcome to Site 2</h1>" | sudo tee /var/www/site2.com/html/index.html

现在,你应该能够通过访问http://site1.comhttp://site2.com来查看你的站点。

注意事项

通过以上步骤,你可以在Debian上成功配置Nginx的多站点。

0
看了该问题的人还看了