前言:我的博客之前一直是部署在阿里云轻量级服务器上的,作为学生党,考虑到经济原因(在轻量级服务器这一块,腾讯云服务器更便宜一些),因此决定将博客服务器改为腾讯云轻量级服务器。
1. 博客迁移
- 购买服务器
访问腾讯云,购买轻量级服务器,选择CentOS7.6-Docker20
镜像
- 复制「原服务器」中
~/.halo
目录到「新服务器」~/
文件夹下
1 2
| cd ~ scp .halo root@ip:~/
|
- 部署博客
可参考Docker安装Halo博客&配置swap虚拟内存
1 2 3 4 5
| # 安装docker 我们购买的镜像自带docker,因此无需安装 # 拉取halo镜像 docker pull halohub/halo:1.5.3 # 运行halo docker run -it -d --name halo -p 8090:8090 -v ~/.halo:/root/.halo --restart=unless-stopped halohub/halo:1.5.3
|
- 访问
至此,就可以使用公网ip进行访问了,没配置nginx
的话记得开放8090
端口防火墙
- 配置nginx+域名访问
要进行这一步,先得将阿里云服务器备案的域名转移到腾讯云
2. 域名转移
将在阿里云备案的域名转移到腾讯云。手把手教你域名转移
- 获取域名转移码
进入阿里云控制台->对应域名管理页面->点击下图「索取域名转移码」
邮箱会收到域名转出密码:
- 进入腾讯云控制台->域名注册->域名转入
填写「转移码」
支付完成后,等待结果即可
域名转移后注意图床域名解析
3. 配置nginx
- 安装nginx
- 将ssl证书拷贝至服务器
1
| scp nginx-ssl/* root@ip:/usr/local/nginx/conf/cert/
|
- 修改nginx配置文件
/etc/nginx/nginx.conf
可参考启用SSL并部署和腾讯云nginx ssl配置文档
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| upstream halo { server 127.0.0.1:8090; }
server { listen 80; server_name www.ysfun.cn; rewrite ^(.*)$ https://$host:443$1 permanent; } server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name www.ysfun.cn; #root /home/blog;
ssl_certificate /usr/local/nginx/conf/cert/www.ysfun.cn_bundle.crt; ssl_certificate_key /usr/local/nginx/conf/cert/www.ysfun.cn.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on;
# Load configuration files for the default server block. include /etc/nginx/default.d/*.conf;
location / { proxy_pass http://halo; proxy_set_header HOST $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } error_page 404 /404.html; location = /40x.html { }
error_page 500 502 503 504 /50x.html; location = /50x.html { } }
|
- 启动nginx
1 2
| nginx -t systemctl start nginx.service
|