首页 > 系统相关 >如何在 Ubuntu 16.04 上将 Nginx 网站根目录移动到新位置

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

时间:2024-10-14 12:19:01浏览次数:8  
标签:Nginx 16.04 etc nginx 文档 服务器 根目录

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

简介

在 Ubuntu 上,默认情况下,Nginx web 服务器将其文档存储在 /var/www/html 目录中,通常位于根文件系统与操作系统的其余部分一起。然而,有时将文档根目录移动到另一个位置会很有帮助,比如一个单独的挂载文件系统。例如,如果您从同一个 Nginx 实例中为多个网站提供服务,将每个站点的文档根目录放在自己的卷上,可以根据特定站点或客户的需求进行扩展。

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

先决条件

要完成本指南,您需要:

  • 一个具有 sudo 权限的非根用户的 Ubuntu 16.04 服务器。您可以在我们的《在 Ubuntu 16.04 上进行初始服务器设置》指南中了解如何设置具有这些权限的用户。

  • 一个 Nginx web 服务器:如果您尚未设置,请参阅深入文章《如何在 Ubuntu 16.04 上安装 Nginx》。

  • 文档根目录的新位置:新的文档根目录位置完全可根据您的需求进行配置。如果您将文档根目录移动到不同的存储设备,您将希望选择设备挂载点下的位置。在本示例中,我们将使用 /mnt/volume-nyc1-01 目录。如果您在 DigitalOcean 上使用块存储,本指南将向您展示如何在继续本教程之前挂载驱动器。

步骤 1 —— 复制文件到新位置

在新安装的 Nginx 上,文档根目录位于 /var/www/html。然而,如果您正在处理现有服务器,可能会有一个包含多个文档根目录的显著不同的设置,包括相应的服务器块指令。

您可以使用 grep 来搜索附加文档根目录的位置。我们将在 /etc/nginx/sites-enabled 目录中进行搜索,以限制我们的关注点到活动站点。-R 标志确保 grep 将在其输出中打印带有 root 指令的行和文件名:

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

结果将看起来类似于下面的输出,尽管现有安装的名称和结果数量可能不同:

/etc/nginx/sites-enabled/default:       root /var/www/html;
/etc/nginx/sites-enabled/default:       # deny access to .htaccess files, if Apache's document root
/etc/nginx/sites-enabled/default:#      root /var/www/example.com;

使用 grep 的反馈来确保您正在复制所需的文件并更新适当的配置文件。

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

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

现在我们准备更新配置。

步骤 2 —— 更新配置文件

Nginx 使用全局和站点特定的配置文件。有关配置文件层次结构的背景信息,请参阅《如何在虚拟专用服务器上配置 Nginx Web 服务器》。

如果您正在处理现有安装,应修改您之前使用 grep 命令找到的文件。在我们的示例中,我们将查看名为 default 的默认配置文件。

在编辑器中打开文件:

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

然后,找到以 root 开头的行,并使用新位置进行更新。

. . .
       # include snippets/snakeoil.conf;
       root /mnt/volume-nyc1-01/html;


       # Add index.php to the list if you are using PHP


       index index.html index.htm index.nginx-debian.html;
       server_name _;
. . .

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

步骤 3 —— 重启 Nginx

完成配置更改后,您可以使用以下命令确保语法正确:

sudo nginx -t

如果一切正常,它应返回:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

如果测试失败,请找出并修复问题。

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

sudo systemctl restart nginx

服务器重新启动后,访问受影响的站点,并确保它们按预期工作。一切都正常后,不要忘记删除原始数据的副本。

sudo rm -Rf /var/www/html

结论

在本教程中,我们介绍了如何将 Nginx 文档根目录更改为新位置。这可以帮助您进行基本的 Web 服务器管理,例如有效地在单个服务器上管理多个站点。它还允许您利用替代存储设备,如网络块存储,这是在网站需求发生变化时扩展网站的重要步骤。

如果您正在管理一个繁忙或不断增长的网站,您可能有兴趣学习如何设置 Nginx 与 HTTP/2 以利用其高传输速度的内容。您还可以通过比较五种改善生产 Web 应用服务器设置的方法来了解更多关于改善生产体验的信息。

标签:Nginx,16.04,etc,nginx,文档,服务器,根目录
From: https://blog.csdn.net/rubys007/article/details/142794721

相关文章

  • 如何在 Ubuntu 16.04 上将 Apache Web 根目录移动到新位置
    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。简介在Ubuntu上,默认情况下,Apache2Web服务器将其文档存储在/var/www/html目录中,通常位于与操作系统其余部分相同的根文件系统上。然而,有时将文档根目录移动到另一个位......
  • Docker-nginx数据卷挂载
    数据卷(volume)是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。以Nginx为例,我们知道Nginx中有两个关键的目录:html:放置一些静态资源conf:放置配置文件如果我们要让Nginx代理我们的静态资源,最好是放到html目录;如果我们要修改Nginx的配置,最好是找到conf下的nginx.conf文件......
  • datart前端单独部署到nginx
    这里假设你的本地可以正常跑起来前端项目,服务器为centos7且已经部署了nginx构建前端工程(frontend文件夹下是前端工程)npmrunbuild:all将构建出来的build文件夹放到服务器一个路径下配置nginx.conf,这里只写了http节点下的server节点怎么配置server{listen3000;......
  • nginx搭建视频下载站
    目录1.前言与介绍 2.atuoindex模块介绍 3.主要的功能 4.下载站基本要求5.具体配置6.做完如上的配置重载服务 7.创建密码文件 8.在windows主机上做域名解析 9.查看统计结果1.前言与介绍 前面的学习中根据nginx的简单的配置实现了根据IP端口和域名实现......
  • Web集群服务-Nginx
    1.web服务1. WEB服务:网站服务,部署并启动了这个服务,你就可以搭建一个网站2. WEB中间件:等同于WEB服务3. 中间件:范围更加广泛,指的负载均衡之后的服务4. 数据库中间件:数据库缓存,消息对列2. 极速上手指南nginx官网: nginxdocumentation2.1 配置yum源vim......
  • prometheus+grafana 监控nginx
    一:安装插件1.1 查看nginx已启用tub_status模块nginx-V2>&1|grep-owith-http_stub_status_module如果在终端输出with-http_stub_status_module,说明nginx已启用tub_status模块在nginx的配置文件添加如下配置location/nginx_status{stub_statuson;......
  • 自定义 http header 名称中带下划线时,可能会被 nginx 忽略删除
    在设计自定义header时,会发现如user_id这样的header无法被后端读取到想来中间有一层nginx搜了一下果然是它的影响,具体情况就不记录了,可以看参考链接。简单记录是因为下划线可能会导致一些兼容性问题,所以nginx默认不允许header名称带下划线,但也允许手动开启。解决方......
  • 解决Gerrit+Nginx+Git LFS传大文件失败的问题
    首先有两个位置要放开限制:一是nginx这边上传文件大小要放开。编辑/etc/nginx/conf.d/gerrit.conf:client_max_body_size500m二是gerrit这边lfs的大小限制要放开。拉取All-Projects仓库,执行$gitfetchoriginrefs/meta/config$gitcheckoutFETCH_HEAD然后添加一个lfs.c......
  • nginx刷新reload不生效问题排查
    问题现象有个项目现场同事说他修改了nginx的配置,也执行了reload命令,但是就是不生效,而且能够正常访问nginx,不清楚为什么。怎么办,什么年代了,当然是让他问问AI看怎么肥事。他说问了几个AI,也照着试了,把配置文件都给AI看了,都说没啥问题,AI让重启,让检查网络问题,让查看日志输出。很好,......
  • 在Ubuntu上升级Nginx
    1、安装先决条件:sudoaptinstallcurlgnupg2ca-certificateslsb-releaseubuntu-keyring2、导入官方的nginx签名密钥,以便apt可以验证软件包的真实性。获取密钥:curlhttps://nginx.org/keys/nginx_signing.key|gpg--dearmor|sudotee/usr/share/keyrings/nginx......