前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何在Nbuntu 18.04上将Nginx Web Root移动到新位置

如何在Nbuntu 18.04上将Nginx Web Root移动到新位置

原创
作者头像
所有的酒都不如你
修改于 2018-10-22 03:30:47
修改于 2018-10-22 03:30:47
1K00
代码可运行
举报
运行总次数:0
代码可运行

介绍

Ubuntu上,Nginx Web服务器将其文档存储在/var/www/html中,该文档通常位于其余具有操作系统部分的根文件系统上。但有时,将文档根移动到另一个位置(例如单独安装的文件系统)会很有帮助。例如,如果您从同一个Nginx实例提供多个网站,则将每个网站的文档根目录放在其自己的卷上,这样您就可以根据特定网站或客户端的需求进行扩展。

在本指南中,您将Nginx文档根目录移动到新位置。

先决条件

要完成本指南,您需要:

我们将在本教程中使用域名example.com,但您应将其替换为您自己的域名。

  • 文档根目录会有一个新的位置。在本教程中,我们将使用该/mnt/volume-nyc3-01目录作为新位置。您的新文档根位置可根据您的需要进行配置。如果要将文档根目录移动到其他存储设备,则需要在设备的挂载点下选择一个位置。

第1步 - 将文件复制到新位置

在全新安装Nginx时,文档根目录位于/var/www/html。但是,通过遵循先决条件指南,您创建了一个新的文档根目录/var/www/example.com/html。您可能还有其他文档根。在此步骤中,我们将建立文档根目录的位置,并将相关文件复制到新位置。

您可以使用搜索文档根目录的位置grep。让我们在/etc/nginx/sites-enabled目录中搜索以限制我们对活动网站的关注。该-R标志确保grep将同时出打印带有root指令的行和输出中的完整文件名:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grep -R "root" /etc/nginx/sites-enabled

如果您在新服务器上遵循先决条件教程,结果将如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/etc/nginx/sites-enabled/example.com:           root /var/www/example.com/html;
/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提供详细输出,以便您可以跟踪同步的进度:

注意:确保目录上没有尾部斜杠,如果使用制表符完成,则可以添加斜杠。当有斜杠时,rsync会将目录的内容转储到挂载点,而不是将其转移到包含html的目录中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo rsync -av /var/www/example.com/html /mnt/volume-nyc3-01

您将看到如下输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sending incremental file list
created directory /mnt/volume-nyc3-01
html/
html/index.html
​
sent 318 bytes  received 39 bytes  714.00 bytes/sec
total size is 176  speedup is 0.49

有了我们的文件,让我们继续修改我们的Nginx配置以反映这些变化。

第2步 - 更新配置文件

Nginx使用全局和特定于站点的配置文件。我们将为我们的example.com项目修改我们的服务器块文件:/etc/nginx/sites-enabled/example.com

注意:请记住,在你的情况中,example.com将是your_domain_name,那么你将会修改第一步中你运行grep命令时输出的服务器块文件。

首先在编辑器中打开/etc/nginx/sites-enabled/example.com

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo nano /etc/nginx/sites-enabled/example.com

找到以新root位置开头的行并使用新的根位置进行更新。在我们的例子中,这将是/mnt/volume-nyc3-01/html

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
​
        root /mnt/volume-nyc3-01/html;
        index index.html index.htm index.nginx-debian.html;
        . . .
}
. . .

请留意您在步骤1中grep输出的原始文档根路径的任何其他位置,包括别名或重写。您还需要更新这些内容以反映新文档的根位置。

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

第3步 - 重新启动Nginx

完成配置更改后,可以重新启动Nginx并测试结果。

首先,确保语法正确:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo nginx -t

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

如果测试失败,请跟踪并解决问题。

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl restart nginx

服务器重新启动后,请访问受影响的站点并确保它们按预期工作。一旦你觉得一切都井然有序,不要忘记删除数据的原始副本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo rm -Rf /var/www/example.com/html

您现在已成功将Nginx文档根目录移动到新位置。

结论

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

更多Ubuntu教程请前往腾讯云+社区学习更多知识。


参考文献:《How To Move an Nginx Web Root to a New Location on Ubuntu 18.04》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
Hexo博客集成码云评论系统
    使用码云的issues作为评论系统,就要使用码云来登录评论,所以需要在码云上配置第三方应用。
試毅-思伟
2019/07/26
8860
Hexo博客集成码云评论系统
github pages/hexo搭建精致博客
进入一个文件夹(你想把工程放到哪个文件夹就进入哪个文件夹,我的是 ),初始化一个工程
神葳
2021/01/22
4210
Hexo博客集成Gitment评论
Tips:前导必备 Gitment 是一位作者实现的一款基于 GitHub Issues 的评论系统。支持在前端直接引入,不需要任何后端代码。可以在页面进行登录、查看、评论、点赞等操作,同时有完整的 Markdown / GFM 和代码高亮支持。尤为适合各种基于 GitHub Pages 的静态博客或项目页面。 ---- 1、注册 OAuth Application 注册一个新的 OAuth Application ➡️ OAuth Application Application name 应
試毅-思伟
2019/07/26
4880
Hexo博客集成Gitment评论
Gitment评论插件的使用
现在开始添加博客的评论插件Gitment。这里的话我是使用hexo添加gitment插件,如果不是使用hexo,请到官网指定这里。
Johnson木木
2019/08/21
1.3K0
Gitment评论插件的使用
Gitment评论插件的使用
现在开始添加博客的评论插件Gitment。这里的话我是使用hexo添加gitment插件,如果不是使用hexo,请到官网指定这里。
Johnson木木
2019/08/22
7340
Gitment评论插件的使用
Gitment评论功能实战 顶
多说关闭了,影响了很多人,正好在v2ex上看到,可以使用GitHub issues来实现博客的评论功能。
用户2146693
2019/08/08
6990
Gitment评论功能实战 
                                                                            顶
『开发技巧』解决hexo gitment 的object ProgressEvent问题,汉化等问题
演示界面如下:http://deepmiss.cn/2019/09/07/Icarus_quick_start/
小宋是呢
2022/03/07
3810
如何在 VitePress 站点中集成 Gitalk 评论插件及其关键注意事项
VitePress 是一个静态站点生成器 (SSG),非常适合用于个人博客或编写技术文档,深受很多开发者的喜爱。不过它缺少一个重要的功能——评论。
陈明勇
2024/09/26
3322
如何在 VitePress 站点中集成 Gitalk 评论插件及其关键注意事项
基于Github issues + umi 搭建一个免费的带评论功能的博客(一)
作为一个工作了好几年的前端搬砖狗,搭建一个属于自己的博客是很有必要的,一来可以总结自己的开发学习经验,二来可以分享和记录下自己的学习轨迹,可谓好处多多,那么今天我就给大家介绍一种搭建博客的新方式。
astonishqft
2022/05/10
7330
基于Github issues + umi 搭建一个免费的带评论功能的博客(一)
gitalk
在搭建个人博客时,我们经常面临一个小难题:评论系统用什么好? 传统方案如 Disqus 虽然功能强大,但加载慢、隐私问题多;国内的评论系统则可能存在稳定性和接入成本。
阿超
2025/03/28
480
Fluid -10- Waline 添加 GitHub 社交登录
官网文档:https://waline.js.org/guide/server/socials.html#github
为为为什么
2022/08/06
5410
Fluid -10- Waline 添加 GitHub 社交登录
Gridea 小白上手教程 —— 小白也可以用的 GitHub Pages 搭建工具
如果你使用过 Hexo 等工具基于 Github 做个人博客,那么恭喜你,你可以很轻松的上手使用Gridea
Xcnte
2021/12/14
1.2K0
Gridea 小白上手教程 —— 小白也可以用的 GitHub Pages 搭建工具
comment.js:一个纯JS实现的静态站点评论系统
介绍我用纯JS实现的一个静态站点评论系统,以及实现过程中的心得体会。 前言 我的博客最早是使用 Disqus 来实现评论功能的。Disqus 被墙了之后,改成了多说。今年年初,多说也正式关闭了,于是我被逼着又开始寻找其他的替代评论系统。 我先是试用了网易云跟贴、畅言等几种类似的社会化评论系统。畅言要求站点必须备案,而我实在没有为了评论去申请备案的动力。网易云跟贴的管理后台上有很多不明觉厉的功能,但好像都没多大用处。最致命的问题是我不小心把我的站点绑定到了另一个网易账户,而不是我常用的微博账户。这样的话,我每
HaHack
2018/07/03
2.7K0
Hexo系列(2.1) - NexT主题美化与博客功能增强 · 第二章
网上有不少相关的帖子,不过版本会比较旧,而不同版本可能存在代码不同的问题,不过大部分还是大同小异,本系列就不啰嗦重复了,基本只会按照本人所使用的版本以及个人所使用到的内容来进行介绍。
雨临Lewis
2022/01/12
8770
Hexo系列(2.1) - NexT主题美化与博客功能增强 · 第二章
为博客添加 Gitalk 评论插件结语
前言 由于 Disqus 对于国内网路的支持十分糟糕,很多人反映 Disqus 评论插件一直加载不出来。而我一直是处于访问外国网站状态的~(话说你们做程序员的都不访问外国网站用Google的吗?,哈哈
BY
2018/05/11
1.4K0
hexo主题之hexo-theme-yilia-plus
    此项目是根据hexo-theme-yilia主题做了一些优化和改动,写这个项目的初衷就是深入学习Hexo。使用yilia主题可以快速迁移到yilia-plus
試毅-思伟
2019/07/26
1.7K1
hexo主题之hexo-theme-yilia-plus
第三方登录(2)---GitHub登录
上一篇介绍了如何实现第三方QQ登录,其实都不涉及后端。在前端使用js就可以实现第三方QQ登录。然后如果有数据库操作可以发起ajax请求将登录得到的用户信息发给后端,在后端对用户信息进行保存。第三方登录(1)---qq登录 。今天,我要讲讲第二种第三方登录方式:GitHub登录。很多人已经都听过GitHub这个IT开源平台,而且其实如果我们网站用户主要面向于IT类的,这时候使用GitHub第三方登录就会极度简化用户注册操作。接下来说说如何实现GitHub第三方登录。我们先看看具体流程:
创译科技
2019/06/02
1.8K0
Linux下使用 github+hexo 搭建个人博客05-next主题接入评论系统 来必力畅言Valine获取 livere_uid在Next主题配置浏览器访问数据
而评论系统是最常用于和网站用户交流的,因此本章讲解在 next 主题,如何接入评论系统。
踏歌行
2020/10/15
1.2K0
Linux下使用 github+hexo 搭建个人博客05-next主题接入评论系统
    




        来必力畅言Valine获取 livere_uid在Next主题配置浏览器访问数据
如何用 GitHub Issues 搭建一个轻博客系统:Path Meme 项目实战
一直想随便写点什么东西,但是不想发朋友圈和微博,也没那么多的内容可以写一篇长文章,还想让内容有自主性,不担心随便说话被删,前几天正好试用了一下 Cursor,正好用它按自己的想法写一个可以随便说话的轻博客系统。 Path Meme —— 一个利用 GitHub Issues 作为 CMS 的现代化博客系统。今天,我和大家分享如何从零开始搭建这样一个博客系统。
goodspeed
2024/11/02
1750
Github 博客评论插件:Gitalk/gitment 集成
为了给博客加个第三方评论插件,首先选择了 github 开源项目 Gitment,然后种种原因原作者不再更新服务器api跨域转发失败;所以 Gitment 暂时不能用
2Broear
2024/03/12
1700
推荐阅读
相关推荐
Hexo博客集成码云评论系统
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档