debian

Debian Nginx多站点配置实例

小樊
46
2025-07-23 04:59:48
栏目: 智能运维

在Debian系统上配置Nginx以支持多个站点是一个常见的任务。以下是一个基本的实例,展示了如何配置两个不同的站点。

前提条件

  1. 已经安装了Nginx。
  2. 有两个域名或子域名,例如 example.comexample.org

步骤

1. 创建站点配置文件

/etc/nginx/sites-available 目录下创建两个新的配置文件。

sudo nano /etc/nginx/sites-available/example.com
server {
    listen 80;
    server_name example.com www.example.com;

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

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

    error_page 404 /404.html;
    location = /404.html {
        root /var/www/example.com;
    }
}
sudo nano /etc/nginx/sites-available/example.org
server {
    listen 80;
    server_name example.org www.example.org;

    root /var/www/example.org;
    index index.html index.htm;

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

    error_page 404 /404.html;
    location = /404.html {
        root /var/www/example.org;
    }
}

2. 启用站点配置

使用 ln 命令创建符号链接,将站点配置文件链接到 /etc/nginx/sites-enabled 目录。

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/example.org /etc/nginx/sites-enabled/

3. 测试Nginx配置

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

sudo nginx -t

如果输出显示配置文件语法正确,继续下一步。

4. 重新加载Nginx

重新加载Nginx以应用新的配置。

sudo systemctl reload nginx

5. 配置DNS

确保你的域名解析指向你的服务器IP地址。你可以在你的域名注册商的管理面板中进行设置。

6. 创建网站根目录

创建每个站点的根目录,并添加一些基本文件。

sudo mkdir -p /var/www/example.com
sudo mkdir -p /var/www/example.org

echo "Welcome to Example.com" | sudo tee /var/www/example.com/index.html
echo "Welcome to Example.org" | sudo tee /var/www/example.org/index.html

验证

打开浏览器,访问 http://example.comhttp://example.org,你应该能看到相应的欢迎信息。

HTTPS配置(可选)

如果你想为你的站点配置HTTPS,可以使用Let’s Encrypt提供的免费SSL证书。

安装Certbot

sudo apt install certbot python3-certbot-nginx

获取并安装证书

sudo certbot --nginx -d example.com -d www.example.com
sudo certbot --nginx -d example.org -d www.example.org

按照提示完成证书的获取和安装过程。

通过以上步骤,你应该能够在Debian系统上成功配置Nginx以支持多个站点。

0
看了该问题的人还看了