荒木りな最新番号 你要的这里齐有,Hexo博客部署到腾讯云管事器全经由
说来也汗下,博客依然搭建很深入,一直免费的部署在 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
至此,距离顺利,咱们只差终末一步
域名领悟登陆到你购买域名管事器(比如我在阿里云),成立域名领悟,将其指向咱们管事器的公网地址:
考据接下来,你不错在浏览器中输入域名,进行考据,享受你的恶果吧!