当我们需要在一台服务器上托管多个网站时,Nginx 可以帮助我们实现此目的。Nginx 是一个开源的高性能 HTTP 和反向代理服务器,也可以用作负载均衡器和邮件代理服务器。在这篇博客中,我将向您展示如何配置 Nginx 以托管多个域名。
步骤 1:安装 Nginx
首先,我们需要安装 Nginx。在 Ubuntu 或 Debian 系统上,可以使用以下命令来安装:
sudo apt update
sudo apt install nginx
如果你使用的是 CentOS/RHEL 系统,则可以使用以下命令来安装:
sudo yum update
sudo yum install nginx
安装完成后,您可以通过访问 IP 地址来测试它是否正常工作。例如,如果您的服务器 IP 地址是 192.168.0.1,那么您可以打开浏览器并输入 "[http://127.0.0.1](http://127.0.0.1/)" 来测试是否成功。
步骤 2:创建网站根目录
接下来,我们需要创建每个网站的根目录。根据惯例,每个网站的文件应该位于 /var/www/
目录下,并以相应的域名命名。例如,如果您要托管 example.com
和 test.com
两个网站,则应分别创建两个目录:
sudo mkdir /var/www/example.com
sudo mkdir /var/www/test.com
步骤 3:配置网站
在这一步中,我们需要创建两个简单的 HTML 文件,并将其放入相应的网站根目录中。为了测试服务器是否正常工作,可以在这些文件中添加一些文本内容。
echo "Hello, this is example.com" | sudo tee /var/www/example.com/index.html
echo "Hello, this is test.com" | sudo tee /var/www/test.com/index.html
步骤 4:创建 Nginx 配置文件
现在我们需要为每个网站创建一个 Nginx 配置文件。默认情况下,这些文件应放置在 /etc/nginx/sites-available/
目录下。
在这个例子中,我们将使用 example.com
和 test.com
两个域名。在 /etc/nginx/sites-available/
目录下创建两个配置文件:
/etc/nginx/sites-available/example.com.conf
/etc/nginx/sites-available/test.com.conf
然后通过以下命令来编辑 example.com.conf
文件:
sudo nano /etc/nginx/sites-available/example.com.conf
将以下内容添加到文件中:
server {
listen 80;
listen [::]:80;
root /var/www/example.com;
index index.html;
server_name example.com www.example.com;
location / {
try_files $uri $uri/ =404;
}
}
该文件指定了监听端口、网站的根目录、默认页面名称以及网站的域名。如果您有多个域名,则可以在 server_name
指令中添加更多的域名。
接下来,编辑 test.com.conf
文件:
sudo nano /etc/nginx/sites-available/test.com.conf
将以下内容添加到文件中:
server {
listen 80;
listen [::]:80;
root /var/www/test.com;
index index.html;
server_name test.com www.test.com;
location / {
try_files $uri $uri/ =404;
}
}
步骤 5:启用 Nginx 配置文件
现在,我们已经创建了两个 Nginx 配置文件。但是这些文件还没有被 Nginx 加载和启用。
为了启用这些配置文件,我们需要在 /etc/nginx/sites-enabled/
目录下创建符号链接。通过以下命令来完成:
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/test.com.conf /etc/nginx/sites-enabled/
步骤 6:测试 Nginx 配置
现在我们已经完成了所有的配置工作,接下来我们需要测试 Nginx 是否正常工作。
为了测试 Nginx,我们可以打开浏览器并输入 http://example.com
或 http://test.com
来访问网站。如果一切正常,您应该能够看到先前创建的 HTML 文件中的文本内容。
如果您无法访问网站,则可能需要检查防火墙设置或 Nginx 配置文件中的语法错误。您可以使用以下命令来检查配置文件:
sudo nginx -t
如果存在语法错误,则将在终端上显示错误消息。如果没有错误,则会显示 “syntax is ok” 的消息。
步骤 7:重载 Nginx 配置
如果我们对 Nginx 配置进行了更改,则需要重新加载配置才能使更改生效。通过以下命令来重新加载 Nginx 配置:
sudo systemctl reload nginx
这将重新加载 Nginx 配置,使我们所做的更改生效。
结论
在本博客中,我们介绍了如何配置 Nginx 以托管多个域名。通过遵循这些简单的步骤,您可以轻松地在同一台服务器上托管多个网站,并确保它们都可以正常工作。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于