在本教程中,我们将向您展示如何设置 Nginx 虚拟主机。 对于那些不知道的人,Nginx 等虚拟主机用于仅使用一台服务器运行两个或多个域或网站,您可以在本托管基础课程中了解更多信息。 这是一个简短的教程,向您展示如何在 Nginx Web 服务器上创建虚拟主机或服务器块。
本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo
‘ 到命令以获取 root 权限。 我将向您展示在您的 Linux 服务器上逐步设置 Nginx 虚拟主机。
先决条件
- 运行以下操作系统之一的服务器:基于 RHEL,例如 CentOS、AlmaLinux 或 Rocky Linux。
- 建议您使用全新的操作系统安装来防止任何潜在问题。
- 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
- 一种
non-root sudo user
或访问root user
. 我们建议充当non-root sudo user
,但是,如果您在充当 root 时不小心,可能会损害您的系统。
设置 Nginx 虚拟主机
步骤 1. 在继续之前,请更新您的 Fedora 操作系统以确保所有现有软件包都是最新的。 使用此命令更新服务器包:
sudo dnf upgrade sudo dnf update
步骤 2. 安装 Nginx
默认情况下,Nginx 在默认基础存储库中可用。 然后我们可以使用以下命令安装 Nginx:
sudo dnf install nginx
使用以下命令验证安装:
nginx -v
输出:
nginx version: nginx/1.20.2
现在安装完成后我们需要启动Nginx服务器开始运行。 我们使用以下命令执行此操作:
sudo systemctl start nginx sudo systemctl enable nginx
步骤 3. 设置虚拟主机(服务器块)。
我们需要做的第一件事是为每个虚拟主机创建一个目录来存储不同的网站内容:
cd /var/www sudo mkdir -p idroot.us/{public_html,logs,stats} sudo mkdir -p idroot.org/{public_html,logs,stats}
接下来,为域创建 Nginx 虚拟主机(服务器块) idroot.us
.
nano /etc/nginx/conf.d/idroot.us.conf
添加以下文件:
server { listen 80; server_name idroot.us www.idroot.us; access_log /var/www/idroot.us/logs/access.log ; error_log /var/www/idroot.org/logs/error.log ; location / { root /var/www/idroot.us/public_html; index index.php index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/idroot.org/public_html; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; root /var/www/idroot.us/public_html; fastcgi_param SCRIPT_FILENAME /var/www/idroot.us/public_html$fastcgi_script_name; include fastcgi_params; } location ~ /.ht { deny all; } }
Save 和 close 文件。 之后,我们为域创建 Nginx 虚拟主机(服务器块) idroot.org
.
nano /etc/nginx/conf.d/idroot.us.conf
添加以下文件:
server { listen 80; server_name idroot.org www.idroot.org; access_log /var/www/idroot.org/logs/access.log ; error_log /var/www/idroot.org/logs/error.log ; location / { root /var/www/idroot.org/public_html; index index.php index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/idroot.org/public_html; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; root /var/www/idroot.org/public_html; fastcgi_param SCRIPT_FILENAME /var/www/idroot.org/public_html$fastcgi_script_name; include fastcgi_params; } location ~ /.ht { deny all; } }
编辑完虚拟主机文件后,请务必保存文件。 最后,如果没有发现问题,重新启动 Nginx 服务以应用更改:
nginx -t sudo systemctl restart nginx
笔记: 请确保所有域名都已传播并正确定向到您服务器的 IP 地址,否则您将无法检查您的新配置是否有效。
恭喜! 您已成功安装服务器块 Nginx。 感谢您使用本教程在 Linux 系统上安装虚拟主机 Nginx。 如需更多帮助或有用信息,我们建议您查看 Nginx 官方网站.