如何在 Ubuntu 16.04 上将 Nginx 网站根目录移动到新位置

介绍

在Ubuntu上,默认情况下, Nginx Web 服务器将其文档存储在 /var/www/html 中,该文档通常位于 root 文件系统上与操作系统的其余部分一起,但有时将文档 root 移动到另一个位置有帮助,例如单独安装的文件系统。

在本指南中,我们将向您展示如何将 Nginx 文档根移动到新的位置。

前提条件

要完成本指南,您将需要:

您可以了解更多关于如何设置具有这些特权的用户在我们的 初始服务器设置与Ubuntu 16.04]指南。

  • An Nginx Web Server:如果您还没有设置一个,深入的文章, How To Install Nginx on Ubuntu 16.04,可以指导您。
  • ** 您的文档根的新位置**:新文档根位置完全可根据您的需求配置。 如果您正在将文档根移动到另一个存储设备,您将希望在设备的安装点下选择一个位置。

步骤 1 – 将文件复制到新位置

在新的 Nginx 安装中,文档根位于 /var/www/html. 如果您正在使用现有服务器,但是,您可能有一个显著不同的设置,包括多个文档根在相应的服务器块指令中。

您可以使用grep搜索其他文档根的位置。我们将在/etc/nginx/sites-enabled目录中搜索,以限制我们的关注到活跃的网站。

1grep "root" -R /etc/nginx/sites-enabled

结果将看起来有点像下面的输出,尽管在现有安装中,结果的名称和数量可能会有所不同:

1[secondary_label Output]
2/etc/nginx/sites-enabled/default:       root /var/www/html;
3/etc/nginx/sites-enabled/default:       # deny access to .htaccess files, if Apache's document root
4/etc/nginx/sites-enabled/default:#      root /var/www/example.com;

使用grep的反馈,确保您正在复制所需的文件并更新相应的配置文件。

现在我们已经确认了我们的文档根的位置,我们将将文件复制到新的位置使用rsync。使用-a旗帜将保留权限和其他目录属性,而-v则提供无语音的输出,以便您可以跟踪进展。

<$>[注] 注: 请确保目录上没有后续缩减,如果您使用 tab completion 将其添加到目录中。

1sudo rsync -av /var/www/html /mnt/volume-nyc1-01

现在我们已经准备好更新配置了。

步骤 2 – 更新配置文件

Nginx 使用全球和网站特定的配置文件. 有关配置文件等级的背景,请参阅 How To Configure The Nginx Web Server On a Virtual Private Server

如果您正在使用现有安装,您应该使用grep命令更改您之前发现的文件,在我们的示例中,我们将看看称为默认的默认配置文件。

在编辑器中打开文件:

1sudo nano /etc/nginx/sites-enabled/default

然后,找到以开头的行,并将其更新到新的位置。

<$>[注] 注: 您应该寻找原始路径出现的其他地方,并将其更改到新位置。

 1[label /etc/nginx/sites-enabled/default]
 2. . .
 3       # include snippets/snakeoil.conf;
 4       root /mnt/volume-nyc1-01/html;
 5
 6       # Add index.php to the list if you are using PHP
 7
 8       index index.html index.htm index.nginx-debian.html;
 9       server_name _;
10. . .

完成所有必要的更改后,保存并关闭文件。

步骤 3 – 重新启动 Nginx

完成配置更改后,您可以通过此命令确保语法正确:

1sudo nginx -t

如果一切顺利,它应该返回:

1[secondary_label Output]
2nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
3nginx: configuration file /etc/nginx/nginx.conf test is successful

如果测试失败,请跟踪并修复问题。

通过测试后,重新启动 Nginx:

1sudo systemctl restart nginx

当服务器重新启动时,请访问受影响的网站并确保它们按预期工作. 一旦您感到舒适,一切顺序,请不要忘记删除数据的原始副本。

1sudo rm -Rf /var/www/html

结论

在本教程中,我们涵盖了如何将 Nginx 文档根更改到一个新的位置,这可以帮助您进行基本的 Web 服务器管理,例如在单个服务器上有效管理多个网站。

如果您正在管理繁忙或日益增长的网站,您可能对学习(如何使用 HTTP/2)(https://andsky.com/tech/tutorials/how-to-set-up-nginx-with-http-2-support-on-ubuntu-16-04)来利用其高传输速度的内容感兴趣,您还可以在这篇比较中了解更多有关提高生产体验的信息(https://andsky.com/tech/tutorials/5-ways-to-improve-your-production-web-application-server-setup)。

Published At
Categories with 技术
comments powered by Disqus