在Debian上配置Nginx的多站点(虚拟主机)可以通过以下步骤实现。以下是一个基本的指南,假设你已经安装了Nginx。
首先,为每个站点创建一个目录来存放网站的文件。
sudo mkdir -p /var/www/site1.com/html
sudo mkdir -p /var/www/site2.com/html
确保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
在/etc/nginx/sites-available
目录下为每个站点创建一个配置文件。
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;
}
}
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;
}
}
使用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/
在重新加载Nginx之前,测试配置文件是否有语法错误。
sudo nginx -t
如果配置文件没有问题,重新加载Nginx以应用更改。
sudo systemctl reload nginx
确保你的域名(例如site1.com
和site2.com
)的DNS记录指向你的服务器IP地址。
最后,在每个站点的目录中创建一些基本的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.com
和http://site2.com
来查看你的站点。
通过以上步骤,你可以在Debian上成功配置Nginx的多站点。