在Debian系统上配置Nginx以支持多个站点是一个常见的任务。以下是一个基本的实例,展示了如何配置两个不同的站点。
example.com 和 example.org。在 /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;
}
}
使用 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/
在重新加载Nginx之前,测试配置文件是否有语法错误。
sudo nginx -t
如果输出显示配置文件语法正确,继续下一步。
重新加载Nginx以应用新的配置。
sudo systemctl reload nginx
确保你的域名解析指向你的服务器IP地址。你可以在你的域名注册商的管理面板中进行设置。
创建每个站点的根目录,并添加一些基本文件。
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.com 和 http://example.org,你应该能看到相应的欢迎信息。
如果你想为你的站点配置HTTPS,可以使用Let’s Encrypt提供的免费SSL证书。
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以支持多个站点。