docker-compose搭建ghost

1、准备工作

环境准备:dockerdocker-compose

在准备好的空文件夹下创建目录结构如下:

docker-compose.yml
- ghost
  config.js
  - content
- nginx
  Dockerfile
  nginx.conf
- mysql
  - config
    my.cnf
  - data
  Dockerfile
start.sh
stop.sh

这里需要用到3个基础镜像,ghostnginxmysql

ghost镜像直接拉取并运行:

docker run -itd --name ghost ghost

修改对应的时间

docker cp /usr/share/zoneinfo/Asia/Shanghai ghost:/etc/localtime
docker cp /usr/share/zoneinfo/Asia/Shanghai ghost:/etc/timezone

打包成新的镜像my_ghost:1.0

docker commit -m'ghost modify date' -a='vilce' ghost my_ghost:1.0

同样处理nginx镜像为my_nginx:1.0mysql不用动,删除无用的容器ghostnginx

接下来分别进行配置文件修改,首先是ghostconfig.js,内容如下:

var path = require('path'),
config;

config = {
    production: {
        url: 'http://mytestblog.com',
        mail: {},
        database: {
            client: 'mysql',
            connection: {
              host: 'mysql',
              user: 'ghost',
              password: 'ghost',
              database: 'ghost',
              port: '3306',
              charset: 'utf8'
            },
            debug: false
        },
        paths: {
                contentPath: path.join(process.env.GHOST_CONTENT,'/')
        },
        server: {
            host: '0.0.0.0',
            port: '2368'
        }
    }
};
module.exports = config;

其中,mysql的连接根据自己的情况进行修改。

然后是nginxnginx.conf,内容如下:

worker_processes 1;
events {worker_connections 1024;}
http {
    server {
        listen 80;
        location / {
            proxy_pass http://vilce-ghost:2368;
        }
    }
}

需要注意的是,这里的vilce-ghost是指定的容器名。

最后是mysqlmy.conf,内容如下:

[mysqld]
character-set-server=utf8mb4
default-time-zone='+8:00'
innodb_rollback_on_timeout='ON'
max_connections=500
innodb_lock_wait_timeout=500

配置文件准备好后,对应的docker-compose.yml内容如下:

version: "3"
services:
  ghost-app:
    image: my_ghost:1.0
    container_name: vilce-ghost
    ports:
      - "2368:2368"
    volumes:
      - /Users/vilce/Desktop/vilceApplication/vilce/ghost/config.js:/var/lib/ghost/config.production.js
      - /Users/vilce/Desktop/vilceApplication/vilce/ghost/content:/var/lib/ghost/content
  nginx:
    image: my_nginx:1.0
    container_name: vilce-nginx
    depends_on:
      - ghost-app
    ports:
      - "80:80"
    volumes:
      - /Users/vilce/Desktop/vilceApplication/vilce/nginx/nginx.conf:/etc/nginx/nginx.conf
 mysql:   
    image: "mysql:5.7.15"
    environment:
      MYSQL_ROOT_PASSWORD: mysqlroot
      MYSQL_USER: ghost
      MYSQL_PASSWORD: ghost
    ports:
      - "3306:3306"
    volumes:
      - /Users/vilce/Desktop/docker/mysql/config/my.cnf:/etc/mysql/my.cnf
      - /Users/vilce/Desktop/docker/mysql/data:/var/lib/mysql
    restart:
      always
networks:
  default:
    external:
      name: my_net

最后启动脚本start.sh内容如下:

docker-compose up -d

停止脚本stop.sh内容如下:

docker-compose down

2、运行服务

启动脚本start.sh:

sh start.sh

此时可以访问地址http://localhost:2368/

此页面为ghost展示页面,访问地址http://localhost:2368/ghost进入设置页面:

根据提示添加账户信息:

第三步可以直接跳过邀请:

进入配置页面:

服务运行成功,并且查看本地ghost文件夹下content目录可以看到ghost的内容信息:

3、基础操作

在服务运行成功后,我们可以开始操作ghost完成我们自己的博客了。由于是简单介绍,这里只进行基础功能的操作。

3.1、发布文章

首先可以看到设置中Posts栏,分为三类:DraftsScheduledPublished。随意点击哪个进入,可以看到右上放有一个new post按钮,点击按钮跳转到编辑页面:

需要注意的是右上角有一个publish发布按钮和设置按钮,点击设置按钮:

可以设置文章对应的显示图片、标签、作者等信息,完成设置后点publish发布。然后点左上角的Posts回到管理页面,在Published栏可以看到刚才发布的文章:

并且点击View site或访问博客首页,也可以看到新发布的文章:

3.2、添加页面

点击Pages栏,和上面的Post差不多,也有一个New page,点击进入后编辑页也差不多,配置也一样,但不同的是,Post编辑的是文章,我们在首页可以看到,Page编辑的是分页功能,其实就是用于扩展导航栏功能的,后面会使用到。

这里暂时先新建一个page,并在设置中Page URL一栏修改为tool

3.3、添加标签

这里可以新增文章的标签,用于标记文章类型。新增一个test标签:

保存后,设置更新之前发布的第一篇post的标签为test,此时可看到新标签显示有一篇文章:

3.4、新增组员

点击Staff栏可以看到已有两个成员:

邀请成员:

这里可以发现有4个角色,Administrators-管理者,Author-作者,Editor-编辑者,Contributor-贡献者。

其中,Contributor是Ghost中的基本用户级别,可以创建和编辑自己的草稿帖子,但不能编辑其他人的草稿或发布帖子。Author是Ghost中的第二个用户级别,可以编写,编辑和发布自己的帖子。Editor是Ghost中的第3个用户级别,可以做作者可以做的所有事情,但是他们也可以编辑和发布其他人的帖子以及他们自己的帖子,还可以邀请新的撰稿人和作者访问该网站。Administrators是Ghost中的最高用户级别是管理员。同样,管理员可以执行作者和编辑者可以执行的所有操作,但是他们还可以编辑所有站点设置和数据,而不仅是内容。此外,管理员具有邀请,管理或删除站点的任何其他用户的完全访问权限。

3.5、设计导航栏

点击Design栏,可以看到如图的导航栏设置:

这里可以添加一个Tool导航栏,并设置地址为3.2中我们设置的page url: http://localhost:2368/tool,设置好后保存:

点击View site栏或访问首页,多了一个Tool导航栏,点击后跳出我们写好的page页面:

这样我们就可以自行开发或修改博客的内容了。

3.6、更换主题

想要更换ghost主题,同样点击Design栏,拉到最下面,可以看到目前在使用的默认主题:

想要自己的主题可以点击Theme Marketplace

进入主题商城:

选择自己想要的主题下载,付款或找到免费的进入对应的github页面,直接下载代码zip压缩包:

下载完成后回到管理页面,点击刚才最底部的Upload a theme按钮:

将刚才的压缩比拖到上面对话框中即可,关闭对话框后可以看到刚才下载的主题:

点击ACTIVATE,切换新的主题,查看博客首页:

主题已切换完成。

4、总结

ghost的博客基本功能操作结束,基本能满足文章的编写了,但依旧有一点问题,比如标签页、目录、搜索栏等功能后续会慢慢添加修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用docker-compose搭建lnmp的步骤: 1.创建一个项目目录,例如lnmp,进入该目录并创建一个docker-compose.yml文件。 2.在docker-compose.yml文件中定义三个服务:nginx、php和mysql。其中,nginx服务使用官方的nginx镜像,php服务使用自己编译的php-fpm镜像,mysql服务使用官方的mysql镜像。 3.在docker-compose.yml文件中定义三个网络:frontend、backend和mysql。其中,frontend网络用于连接nginx和php服务,backend网络用于连接php和mysql服务,mysql网络用于连接mysql服务。 4.在docker-compose.yml文件中定义三个卷:nginx-conf、nginx-logs和php-src。其中,nginx-conf卷用于存放nginx的配置文件,nginx-logs卷用于存放nginx的日志文件,php-src卷用于存放php的源代码。 5.在docker-compose.yml文件中定义三个环境变量:MYSQL_ROOT_PASSWORD、MYSQL_DATABASE和MYSQL_USER。其中,MYSQL_ROOT_PASSWORD用于设置mysql的root用户密码,MYSQL_DATABASE用于设置mysql的默认数据库,MYSQL_USER用于设置mysql的普通用户。 6.在docker-compose.yml文件中定义三个挂载点:./nginx.conf:/etc/nginx/nginx.conf、./nginx-logs:/var/log/nginx和./php-src:/var/www/html。其中,./nginx.conf用于挂载nginx的配置文件,/nginx-logs用于挂载nginx的日志文件,./php-src用于挂载php的源代码。 7.在项目目录中创建一个nginx.conf文件,用于配置nginx的虚拟主机。 8.在项目目录中创建一个index.php文件,用于测试php服务是否正常工作。 9.在项目目录中运行docker-compose up命令,启动lnmp服务。 10.在浏览器中访问http://localhost,即可看到php服务返回的内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值