December 12, 2023

Ghost博客从家里Nas转移到腾讯云 (宝塔+docker+ghost)

Ghost博客从家里Nas转移到腾讯云 (宝塔+docker+ghost)
Photo by Glenn Carstens-Peters / Unsplash

家里的搭建的黑裙搭建的博客,由于没有公网ip,使用ipv6访问.

2023年双十二,实在没啥买的,买了一年腾讯云服务器 88元.

想着自己的域名com域名在腾讯云下面挂着,索性买个服务器备案一下.经过了3天的备案,现在备案比几年前方便多了.

本次转移感谢 技术支持 省了不少研究的功夫,教程写的很详细.我这边在记录一下,防止下次需要使用.

使用宝塔+Docker搭建Ghost博客
Ghost 是一个开源的专业发布平台,建立在现代 Node.js 技术堆栈之上,专为需要强大、灵活和高性能的团队而设计。

宝塔腾讯云专属版.进入系统后,安装docker .新建网站开始反向代理

  • 目标URL http://127.0.0.1:8081
  • 发送域名 按照下图规范填写你的访问域名(SSL)

点击反向代理配置文件

#PROXY-START/
location  ~* \.(php|jsp|cgi|asp|aspx)$
{
    proxy_buffering off;
    proxy_pass http://localhost:8081;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header REMOTE-HOST $remote_addr;
}
location /
{
    proxy_pass http://localhost:8081;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header REMOTE-HOST $remote_addr;
    client_max_body_size 200m;
    
    add_header X-Cache $upstream_cache_status;
	#Set Nginx Cache
	proxy_ignore_headers Set-Cookie Cache-Control expires;
	add_header Cache-Control no-cache;
    expires 12h;
}

#PROXY-END/
  • 登录到SSH,切换到root。输入命令: Sudo su
  • 进入当前用户目录 cd ~
  • 创建相关文件夹并进入

mkdir docker_app && cd docker_app && mkdir ghost && cd ghost

  • 创建 docker-compose.yml 和 config.production.json

touch {docker-compose.yml,config.production.json}

然后你可以进入宝塔面板,在「文件」的/根目录/root/docker_app/ghost下看到你刚刚创建的 docker-compose.yml 和 config.production.json文件,分别双击进行编辑,代码如下:

docker-compose.yml

version: '3'
 
services:
  ghost:
    image: ghost
    container_name: ghost
    ports:
      # 宿主机与容器端口映射,8081宿主机端口,另一个是容器的,访问时,宿主机公网 IP:8081/
      - "8081:2368"
    volumes:
      # 生产模式下的ghost配置文件映射目录(ghost相关配置写在这里面,比如数据库、邮箱...)
      -  /root/docker_app/ghost/config.production.json:/var/lib/ghost/config.production.json
      # ghost 相关数据目录从容器映射到宿主机
      - /root/docker_app/ghost/content:/var/lib/ghost/content
    environment: 
      # 以生产模式运行
      - NODE_ENV=production 
    restart: unless-stopped

config.production.json

你的域名改成自己的域名

{
    "url": "https://你的域名/",
    "server": {
        "port": 2368,
        "host": "0.0.0.0"
    },
    "database": {
         "client": "sqlite3",
         "connection": {
        "filename": "content/data/ghost.db"
      },
      "useNullAsDefault": true,
      "debug": false
    },
    "logging": {
        "transports": [
            "file",
            "stdout"
        ]
    },
    "process": "systemd",
    "paths": {
        "contentPath": "/var/lib/ghost/content"
    }
}

5.创建Ghost容器

  • 编辑并保存好上面两个文件后,在SSH中输入下面命令:
cd ~/docker_app/ghost
docker-compose up -d

等跑完代码就可以在浏览器输入「https://你的域名/ 」访问您Ghost网站了!

网站后台地址是:「https://你的域名/ghost 」