介绍
在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)。