侧边栏壁纸
博主头像
Ysfun博主等级

一名热爱技术、喜欢折腾的小小程序猿

  • 累计撰写 42 篇文章
  • 累计创建 14 个标签
  • 累计收到 25 条评论

目 录CONTENT

文章目录

博客服务器迁移

Ysfun
2022-08-22 / 0 评论 / 1 点赞 / 232 阅读 / 663 字

前言:我的博客之前一直是部署在阿里云轻量级服务器上的,作为学生党,考虑到经济原因(在轻量级服务器这一块,腾讯云服务器更便宜一些),因此决定将博客服务器改为腾讯云轻量级服务器。

1. 博客迁移

  1. 购买服务器

访问腾讯云,购买轻量级服务器,选择CentOS7.6-Docker20镜像

  1. 复制「原服务器」中~/.halo目录到「新服务器」~/文件夹下
cd ~
scp .halo root@ip:~/
  1. 部署博客

可参考Docker安装Halo博客&配置swap虚拟内存

# 安装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
  1. 访问

至此,就可以使用公网ip进行访问了,没配置nginx的话记得开放8090端口防火墙

  1. 配置nginx+域名访问

要进行这一步,先得将阿里云服务器备案的域名转移到腾讯云

2. 域名转移

将在阿里云备案的域名转移到腾讯云。手把手教你域名转移

  1. 获取域名转移码

进入阿里云控制台->对应域名管理页面->点击下图「索取域名转移码」

邮箱会收到域名转出密码:

  1. 进入腾讯云控制台->域名注册->域名转入

填写「转移码」

支付完成后,等待结果即可

域名转移后注意图床域名解析

3. 配置nginx

  1. 安装nginx
yum install -y nginx
  1. 将ssl证书拷贝至服务器
scp nginx-ssl/* root@ip:/usr/local/nginx/conf/cert/ 
  1. 修改nginx配置文件/etc/nginx/nginx.conf

可参考启用SSL并部署腾讯云nginx ssl配置文档

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 {
        }
    }
  1. 启动nginx
nginx -t
systemctl start nginx.service
1

评论区