说来也汗下,博客还是搭建很深入开发企业小程序公司,一直免费的部署在 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 版块号是否和你指定的版块一样:
appgit --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
测试
上升选手之中李淑瑛在女子韩巡乐天公开赛中并列位于39位,获得0.62分,世界排名从368位上升到354位。
亚军玛丽娅-埃尔南德斯(Maria Hernandez)来自西班牙,获得10.8分,世界排名从251位上升到188位。
将上头腹地生成的 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
至此,距离告捷,咱们只差临了一步
域名判辨登陆到你购买域名奇迹器(比如我在阿里云),竖立域名判辨,将其指向咱们奇迹器的公网地址:
考证接下来,你不错在浏览器中输入域名,进行考证,享受你的后果吧!