配景
说来也愧疚,博客依然搭建很长远,一直免费的部署在 Coding 和 Github Pages 上,前者迁徙到腾讯云 Serverless,导致原有的设立持久有问题,没时代仔细商议,刚好腾讯作事器有羊毛不错褥上海修车群按摩,恣意作出迁徙,至于选拔腾讯云,是因为当初备案在腾讯云,可是购买域名是在阿里,嗅觉好拧巴,可是举座互不连络,没啥影响。
部署环境 环境 土产货环境 MacOS Monterey 12.0.1 作事器环境 CentOS Linux release 8.2.2004 (Core) 土产货环境设立hexo 土产货搭建经由网上太多了,这里不再赘述,这里仅仅作念少许一语气作事器的准备责任
生成 Git 密钥
ssh-keygen -C "your@mail.com"
所有回车,这时你应该不错在 ~/.ssh/ 目次下看到两个刚刚生成好的密钥文献:
公钥:id_rsa.pub 私钥:id_rsa咱们一会需要把公钥的实践拷贝到作事器上
作事器环境设立作事器卓绝白净,什么也莫得,是以咱们要少许点装配咱们所需的实践
Git Nginx蛮横冷落你重置腾讯云作事器的默许密码, 再进行底下操作
Git 装配和设立
装配切换到 root 用户(输入你刚刚重置的密码就好)
su root
当先需要装配包的依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum install gcc perl-ExtUtils-MakeMaker
投入指定目次(这里选拔 usr/local/src)选拔最新版块 Git (这里使用 2.34.1)下载并解压
cd /usr/local/src wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.34.1.tar.gz tar -zxvf git-2.19.0.tar.gz
解压出来的 Git 文献皆是源文献,咱们需要进行编译,投入 Git 解压目次,进行编译和装配, 装配位置(这里选拔 usr/local/git), 所有经由可能需要一定恭候......
cd git-2.34.1 make prefix=/usr/local/git all make prefix=/usr/local/git install
装配好后,咱们需要设立环境变量,灵通环境变量设立文献:
vim /etc/profile
在文献底部添加 Git 装配目次信息,给不练习 Vim 的同学快速操作范例,按照底下治安按字母就不错了(这个保姆作事有莫得很到位)
G (光标快速到文献末尾)
o (添加新空缺行并投入 Insert 样式)
粘贴底下实践
Esc (投入 Normal 样式)
:wq(保存并退出)
PATH=$PATH:/usr/local/git/bin export PATH
刷新环境变量,使之收效
source /etc/profile
此时 Git 应该依然装配完成,不错张望 Git 版块号是否和你指定的版块一样:
git --version
Git 新用户与设立
创建 git 用户和密码
adduser git passwd git
将 git 用户添加到 sudoers 文献中, 雷同给出 Vim 快捷操作
chmod 740 /etc/sudoers vim /etc/sudoers
/## Allow
这么不错快速定位到如下位置:
## Allow root to run any commands anywhere root ALL=(ALL) ALL
鄙人面一瞥添加 git 用户实践, 保存并退出
git ALL=(ALL) ALL
修改回 sudoers 文献权限
chmod 400 /etc/sudoers
测试
将上头土产货生成的 id_rsa.pub 公钥实践拷贝到远端作事器, 这个大叫会默许在远端作事器 git 用户主目次下生成 authorized_keys 文献 (~/.ssh/authorized_keys), 其中 server_ip 为公网 IP,不是里面 IP,别拷贝错了
ssh-copy-id -i ~/.ssh/id_rsa.pub git@server_ip
此时不错通过 ssh 大叫(加上 -v 大叫,不错输出详实 log)测试连合,没问题就不错进行下一步了
ssh -v git@server_ip
博客网站目次设立
创建博客网站目次位置雷同切换到 root 目次,然后为博客网站创建根目次(这里选拔 /home/hexo)
su root mkdir /home/hexo
赋予 git 用户权限
chown git:git -R /home/hexo自动化设立
指定目次位置(这里选拔 git 用户主目次 /home/git)创建一个名为 blog.git 的 bare repo
cd /home/git git init --bare blog.git
什么是 bare repo,以及 bare repo 的一些高档使用,柬埔寨修车群不错看底下这三篇著述,底下的一些细节仅仅不作念过多先容
Git Worktree 大法真香 Git Worktree 高档使用一键生成Git Worktree 责任目次
雷同赋予 git 用户相应权限
chown git:git -R blog.git
使用自动化设立,当然是要用到 Git 的钩子函数,这里咱们需要 post-receive,在博客 hooks 目次下新建该文献:
vim blog.git/hooks/post-receive
然后添加如下实践(宝贵目次匹配),保存并退出:
#!/bin/sh git --work-tree=/home/hexo --git-dir=/home/git/blog.git checkout -f
终末,赋予这个文献可扩充权限
chmod +x /home/git/blog.git/hooks/post-receive
接下来上海修车群按摩,创建个一语气,以防后续 deploy 经由出错
sudo ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack
至此,基本的准备责任就完成了,接下来咱们需要处罚 Nginx 的实践
Nginx 装配和设立
装配
雷同切换到 root 用户,然后装配 nginx,并最终开动
su root yum install -y nginx systemctl start nginx.service
这时,在浏览器中输入公网 IP 地址,应该不错看到 Nginx 默许的宽待界面
设立
这里设立 Nginx,将通盘 Http 请求皆重定向为 Https 请求,这就需要咱们有 SSL 文凭,文凭不错在云作事器上恳求,并下载相应的版块(这里选拔 Nginx 文凭),下载后解压,以我的文凭为例:
. ├── 6317712_www.dayarch.top.key └── 6317712_www.dayarch.top.pem 0 directories, 2 files
通过 scp 大叫将上述文凭拷贝到远端作事器, 平淡应该将 Nginx 的文凭存放在 /etc/nginx/cert 目次下,这里选拔存放在 /home/ssl_cert 下(如若目次不存在,请自行创建)
scp ~/Downloads/6317712_www.dayarch.top_nginx/6317712_www.dayarch.top.key root@server_ip:/home/ssl_cert scp ~/Downloads/6317712_www.dayarch.top_nginx/6317712_www.dayarch.top.pem root@server_ip:/home/ssl_cert
然后灵通 Nginx 的设立文献进行举座设立
server{ listen 80; server_name dayarch.top; # 个东说念主域名 rewrite ^(.*)$ https://$server_name$1 permanent; # 重定向 } server { listen 443; server_name dayarch.top; # 个东说念主域名 ssl on; ssl_certificate /home/ssl_cert/6317712_www.dayarch.top.pem; # .pem 文凭 ssl_certificate_key /home/ssl_cert/6317712_www.dayarch.top.key; # .key 文凭 ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { root /home/hexo; # 博客网站主目次 index index.php index.html index.htm; } error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
通过 nginx -t 大叫进行检讨,一切平淡会输出如下为止:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful重启 Nginx 作事
systemctl restart nginx.service
至此,通盘的准备责任皆作念完毕,接下来,咱们需要作念一些博客设立
土产货博客设立修改咱们需要将远端作事器的 Git 仓库信息设立到 Hexo 站点设立文献(_config.yml)中
deploy: - type: git repo: git@server_ip:/home/git/blog.git branch: master
链接扩充 hexo 的大叫进行部署
hexo clean hexo generate hexo deploy
至此,距离得手,咱们只差终末一步
域名默契登陆到你购买域名作事器(比如我在阿里云),设立域名默契,将其指向咱们作事器的公网地址:

接下来,你不错在浏览器中输入域名,进行考证,享受你的效用吧!