- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Hexo博客部署到腾讯云服务器全过程由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
说来也惭愧,博客已经搭建很久了,一直免费的部署在 Coding 和 Github Pages 上,前者迁移到腾讯云 Serverless,导致原有的配置始终有问题,没时间仔细研究,刚好腾讯服务器有羊毛可以褥,果断作出迁移,至于选择腾讯云,是因为当初备案在腾讯云,但是购买域名是在阿里,感觉好拧巴,但是整体互不相关,没啥影响.
环境 | |
---|---|
本地环境 | MacOS Monterey 12.0.1 |
服务器环境 | CentOS Linux release 8.2.2004 (Core) |
hexo 本地搭建过程网上太多了,这里不再赘述,这里只是做一点链接服务器的准备工作 。
生成 Git 密钥 。
一路回车,这时你应该可以在 ~/.ssh/ 目录下看到两个刚刚生成好的密钥文件:
我们一会需要把公钥的内容拷贝到服务器上 。
服务器非常纯净,什么也没有,所以我们要一点点安装我们所需的内容 。
强烈建议你重置腾讯云服务器的默认密码, 再进行下面操作 。
Git 安装和配置 。
切换到 root 用户(输入你刚刚重置的密码就好) 。
首先需要安装包的依赖 。
进入指定目录(这里选择 usr/local/src)选择最新版本 Git (这里使用 2.34.1)下载并解压 。
解压出来的 Git 文件都是源文件,我们需要进行编译,进入 Git 解压目录,进行编译和安装, 安装位置(这里选择 usr/local/git), 整个过程可能需要一定等待...... 。
安装好后,我们需要配置环境变量,打开环境变量配置文件:
在文件底部添加 Git 安装目录信息,给不熟悉 Vim 的同学快速操作步骤,按照下面依次按字母就可以了(这个保姆服务有没有很到位) 。
G (光标快速到文件末尾) 。
o (添加新空白行并进入 Insert 模式) 。
粘贴下面内容 。
Esc (进入 Normal 模式) 。
:wq(保存并退出) 。
刷新环境变量,使之生效 。
此时 Git 应该已经安装完成,可以查看 Git 版本号是否和你指定的版本一样:
Git 新用户与配置 。
创建 git 用户和密码 。
将 git 用户添加到 sudoers 文件中, 同样给出 Vim 快捷操作 。
/## Allow 。
这样可以快速定位到如下位置:
在下面一行添加 git 用户内容, 保存并退出 。
修改回 sudoers 文件权限 。
测试 。
将上面本地生成的 id_rsa.pub 公钥内容拷贝到远端服务器, 这个命令会默认在远端服务器 git 用户主目录下生成 authorized_keys 文件 (~/.ssh/authorized_keys), 其中 server_ip 为公网 IP,不是内部 IP,别拷贝错了 。
此时可以通过 ssh 命令(加上 -v 命令,可以输出详细 log)测试连接,没问题就可以进行下一步了 。
博客网站目录配置 。
同样切换到 root 目录,然后为博客网站创建根目录(这里选择 /home/hexo) 。
赋予 git 用户权限 。
指定目录位置(这里选择 git 用户主目录 /home/git)创建一个名为 blog.git 的 bare repo 。
什么是 bare repo,以及 bare repo 的一些高级使用,可以看下面这三篇文章,下面的一些细节只是不做过多介绍 。
一键生成Git Worktree 工作目录 。
同样赋予 git 用户相应权限 。
使用自动化配置,自然是要用到 Git 的钩子函数,这里我们需要 post-receive,在博客 hooks 目录下新建该文件:
然后添加如下内容(注意目录匹配),保存并退出:
最后,赋予这个文件可执行权限 。
接下来,创建个链接,以防后续 deploy 过程出错 。
至此,基本的准备工作就完成了,接下来我们需要处理 Nginx 的内容 。
Nginx 安装和配置 。
安装 。
同样切换到 root 用户,然后安装 nginx,并最终启动 。
这时,在浏览器中输入公网 IP 地址,应该可以看到 Nginx 默认的欢迎界面 。
配置 。
这里配置 Nginx,将所有 Http 请求都重定向为 Https 请求,这就需要我们有 SSL 证书,证书可以在云服务器上申请,并下载相应的版本(这里选择 Nginx 证书),下载后解压,以我的证书为例:
通过 scp 命令将上述证书拷贝到远端服务器, 正常应该将 Nginx 的证书存放在 /etc/nginx/cert 目录下,这里选择存放在 /home/ssl_cert 下(如果目录不存在,请自行创建) 。
然后打开 Nginx 的配置文件进行整体配置 。
通过 nginx -t 命令进行检查,一切正常会输出如下结果:
至此,所有的准备工作都做完了,接下来,我们需要做一些博客配置 。
我们需要将远端服务器的 Git 仓库信息配置到 Hexo 站点配置文件(_config.yml)中 。
陆续执行 hexo 的命令进行部署 。
至此,距离成功,我们只差最后一步 。
登陆到你购买域名服务器(比如我在阿里云),配置域名解析,将其指向我们服务器的公网地址:
接下来,你可以在浏览器中输入域名,进行验证,享受你的成果吧! 。
原文链接:https://mp.weixin.qq.com/s/Fxou_soluTL0wYU7cCg4GQ 。
最后此篇关于Hexo博客部署到腾讯云服务器全过程的文章就讲到这里了,如果你想了解更多关于Hexo博客部署到腾讯云服务器全过程的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我在 *.sql 文件中得到了我的数据库转储(表、函数、触发器等)。此时我正在通过 jenkins 部署它们,通过传递执行 shell 命令: sudo -u postgres psql -d my_
我正在使用网络部署 API 来部署网络包(.zip 文件,由 MSDeploy.exe 创建)以编程方式将包发布到服务器(在发布包之前我们需要做一些其他事情这就是为什么我们不使用 MSDeploy.e
我们正在使用 Web Deploy 3 的(几乎完全未记录的)“公共(public) API”来创建我们网站的 .zip 包,然后将其同步到服务器: DeploymentBaseOptions des
将 clojure 应用程序制作成可执行文件的最简单方法是什么,例如 http://rawr.rubyforge.org/ ruby 吗? (exe 和 app 文件也是) 最佳答案 使用 leini
是否可以下载 Android 源代码并针对任何设备进行编译? 我想做的是尝试 GSM 代码部分并编译操作系统并将其部署到我的摩托罗拉手机上。 谢谢! 最佳答案 是的,但这很难,因为大多数手机不共享驱动
我正在考虑用 c/c++ 编写需要在大多数个人计算机上运行的 nbody 样式模拟。本质上是一个 O(n^2) 粒子模拟器。 因为这需要相当用户友好,所以我希望有 1 个不需要用户安装任何东西的 Wi
需要了解 kubernetes 部署中 kube_deployment_status_replicas 和 kube_deployment_spec_replicas 指标的区别 最佳答案 简而言之,
我正在尝试使用分类器部署 Maven Artifact 。由于我需要源代码和 JAR(我从 GWT 使用它),我想获得 artifact-version-classifier.jar 和 artifa
我设置部署以将我的项目代码与存储我的网站的 FTP 服务器上的项目同步。 但是,每次尝试同步时,我总是必须登录。 我什至检查了记住,但它不起作用! 我正在使用最新的 PhpStorm 2017.1.4
我在 Visual Studio 2008 中开发了一个 ASP.NET 网站。现在我想在其他机器上部署它。我怎样才能做到这一点??就像我们为 Windows 应用程序制作安装包一样,我们可以为 AS
将 QT 框架添加到我的 .app 包中 我正在关注 Qt 站点上关于部署的文档。 我创建了一个名为 HTTPClient.app 的应用程序 我在 Contents 下创建了 Framework 文
这个问题不太可能对任何 future 的访客有帮助;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于互联网的全局受众。如需帮助使这个问题更广泛适用,visit the h
我正在研究改变我目前创建营销网站的策略。目前,我完全用 PHP 从头开始构建网站,使用一个简单的包含系统。所有代码(以及内容)都存储在文件(而不是数据库)中,允许我使用 Subversion 进行
我有一个长期运行的服务(在 while 1 循环中)并通过 GCloud pub/sub 处理有效负载,之后它将结果写入数据库。 该服务不需要监听任何端口。 Kind=Deployment 的声明性
似乎部署已停滞不前。我该如何进一步诊断? kubectl rollout status deployment/wordpress Waiting for rollout to finish: 2 ou
我正在Dart中使用前端的Angular和后端的Shelf构建一个客户端/服务器应用程序。当我执行pub build时,它会按预期生成Dart文件的javascript,但不会替换HTML文件中的Da
我在 Azure 部署中心的下拉列表中看不到我的所有 Github 组织存储库。 Azure 很久以前就已经被授权了,下拉列表正确地显示了所有的存储库,直到上周我在 DevOps 中玩游戏时,不得不再
我认为标题几乎说明了一切...对于 Deployd 来说是全新的,所以任何关于如何最好地实现这一点的指示都值得赞赏。 最佳答案 要获取用户创建的集合中的对象(我假设您使用的是 javascript 库
我有一个试图用于CD服务器的部署脚本,但是在编写bash脚本以完成一些所需的步骤(例如运行npm和迁移命令)时遇到了问题。 我将如何从该脚本进入容器bash,运行下面的命令,然后退出以完成对更改的提取
我想在使用 kubectl 时将参数传递给 Kubernetes 部署命令应用部署文件。 示例:在我的部署 .yaml 中,我有如下参数,我想在使用 kubectl apply - f .yaml 运
我是一名优秀的程序员,十分优秀!