想来想去,还是决定把博客托管到服务器上,放在 Mac mini 上毕竟不是长久之计。开整!
服务器安装必要环境
1 2 3 4 5 6 7
| curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
node -v npm -v
|
1 2 3
| sudo npm install -g hexo-cli
hexo -v
|
1 2 3 4
| cd /home/txm/myblog/txm_blog
npm install
|
生成静态网页并测试本地部署
1 2 3 4 5 6
| hexo clean; hexo g
hexo s -p 50005
http://10.107.0.113:20029
|
把图床的 Nginx 站点也放到服务器上
1
| sudo apt install -y nginx
|
1 2
| sudo vi /etc/nginx/sites-available/img.tianlejin.top
|
内容填:
1 2 3 4 5 6 7 8 9 10 11 12
| server { listen 6006; # 实例端口,本机: 20012 server_name img.tianlejin.top;
root /home/txm/myblog/blog-imgs; index index.html;
location / { autoindex on; # 允许目录浏览 try_files $uri $uri/ =404; } }
|
1 2 3 4 5 6
| sudo ln -s /etc/nginx/sites-available/img.tianlejin.top /etc/nginx/sites-enabled/
sudo nginx
sudo nginx -s reload
|
配置图床的 Cloudflare Tunnel 内网穿透
1 2 3 4 5 6
| wget https://github.com/cloudflare/cloudflared/releases/download/2025.4.0/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared.deb
cloudflared --version
|
- 去 Cloudflare 控制台配置 Tunnel
进入 https://one.dash.cloudflare.com -> 网络 -> Tunnels -> Debian【64-bit】 -> 复制【sudo cloudflared service install eyJhIj…】
1 2
| sudo cloudflared service install eyJhIj...
|
脱离 Github Pages,直接把博客跑在自己的服务器上
1 2
| sudo vi /etc/nginx/sites-available/www.tianlejin.top
|
内容填:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| server { listen 50005; # 实例端口,本机: 20029 server_name www.tianlejin.top;
# 配置网站的根目录 root /home/txm/myblog/txm_blog/public; index index.html;
location / { autoindex on; # 允许目录浏览 # 先找 $uri; 找不到,再找 $uri/; 还找不到,再找 $uri.html; 还不行,404 try_files $uri $uri/ $uri.html =404; } }
|
nginx 只会加载 /etc/nginx/sites-enabled/ 下面的文件
1 2 3 4
| sudo ln -s /etc/nginx/sites-available/www.tianlejin.top /etc/nginx/sites-enabled/
sudo nginx -s reload
|
再次配置 Cloudflare Tunnel 内网穿透
记得停掉原来 Mac mini 上的服务
1 2 3 4 5
| brew services list
brew services stop nginx brew services stop cloudflared
|
20250731更新
即日起个人博客迁移到瑞金个人工作站,踩坑记录如下:
- 配置好Nginx后,会无端出现
404错误。排查后发现是因为/home/tianlejin目录没有可执行权限,需要chmod o+x /home/tianlejin
- 在原来的cloudflare tunnel继续添加公共主机会
502 Bad Gateway,因此需要在cloudflare新建一个tunnel,再重新添加公共主机
- 以后写好博客的更新步骤
1
| cd /home/tianlejin/myblog/txm_blog; hexo clean && hexo g
|