如果你想在一台服务器上运行多个网站,Nginx 服务器块是一个令人难以置信的工具。它允许您为不同的域名定义单独的设置,从而使您能够在一台服务器上托管多个域。
使用 Nginx 服务器块,您还可以配置单独的安全策略,例如不同的 SSL 证书。
在本文中,我们将指导您如何在自己的 Ubuntu 20.04 服务器上设置 Nginx 服务器块。
先决条件:
在继续设置之前,请确保满足以下要求:
1- 你应该已经在你的服务器上安装了 Nginx。
2-您应该有一个公共服务器 IP 的域名
3- 您应该拥有服务器的 root 权限。
步骤 1. 创建目录
您可以在您选择的任何位置创建目录。在您选择的位置,创建一个具有以下结构的目录:
/var/www/
-> first-domain.com
-> public_html
-> second-domain.com
->public_html
您在上述结构中看到的 public_html 文件夹将包含您网站的公共 HTML 文件。您可以使用以下命令创建目录:
sudo mkdir -p /var/www/first-domain.com/public_html
在 public_html 文件夹中,放置现有网站的文件,或者您可以制作一个临时的“index.html”文件来检查设置。
将以下代码放在临时 index.html 文件中:
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”utf-8″>
<title>Nginx Server block</title>
</head>
<body>
<h1>Success</h1>
</body>
</html>
第 2 步 – 更改权限
步骤 1 中创建的目录和文件是使用 sudo 命令完成的,因此归 root 所有。我们将使用以下命令更改这些文件的权限和所有权:
sudo chown -R www-data: /var/www/first-domain.com
第 3 步 – 创建服务器块
Ubuntu 服务器上的 Nginx 服务器块配置文件位于 /etc/nginx/sites-available 文件夹中。您可以通过在 /etc/nginx/sites-enabled 文件夹中放置指向它们的链接来启用这些配置。Nginx 在启动时读取此文件夹。
在 /etc/nginx/sites-available 文件夹中,为您的网站创建一个配置文件并将以下代码粘贴到其中:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/public_html;
index index.html;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
}
第 4 步 – 启用配置
您可以使用以下命令启用上面创建的服务器块:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
此命令创建指向配置文件的符号链接。这将在启动期间由 Nginx 读取。
第 5 步 – 测试设置
现在,您已完成配置。您可以使用以下命令检查它是否正常工作:
sudo nginx -t
如果设置成功,则输出不会包含任何错误。
现在,您可以使用此命令重新启动 Nginx 服务以启动服务器块:
sudo systemctl restart nginx
恭喜!Nginx 服务器块现在应该按预期工作。