View on GitHub

为食喵

Cat for food - A project for restaurant order

部署说明

服务器架构概览

为食喵服务器需要以下软件:Nginx、MySQL Docker、NodeJS

为了方便安装、配置、运行为食喵,我们建议运营者使用 Docker 与 Dockers Compose 实现一键化的部署。

部署方法

容器默认绑定宿主端口 8889,需要的话,可以在 docker-compose.yml 修改

docker-compose up -d

重新构建:

docker-compose up -d --build

-d 为daemon后台运行

配置说明

Egg.js

build 配置为应用根目录,默认为 node-web

关键文件:

打包其他应用时把这两个文件拷贝过去。

egg.js 默认时候通过 daemon 启动,所以 Dockerfile 的启动命令这里也直接调用了 egg-scripts start 的命令,避开了 –daemon 参数

参考文章: 在Docker中部署Egg.js应用及Docker常用命令 | Reno’s Blog

Nginx

conf.d/default.conf 为nginx配置

www 默认映射 /usr/share/nginx/html,静态文件可以放该目录

MySQL

密码默认是 root(在 docker-compose.yml 修改),端口3306

mysql配置的连接地址是 mysql (内部表现为改了hosts)

docker-compose 脚本

version: '2'
services:
    nginx:
        restart: always
        build: ./nginx/
        image: egg-nginx
        ports:
            - "8889:80"
        # 依赖关系 先跑node
        depends_on:
            - "egg-node"
        container_name: "egg-app-nginx"
    egg-node:
        restart: always
        build: ./node-web/
        image: egg-node
        ports:
            - "7001"
        container_name: "egg-app-node"
    mysql:
        image: mysql:5.7
        ports:
            - "3306"
        # 环境变量
        environment:
            # mysql密码
            - MYSQL_ROOT_PASSWORD=root
        container_name: "egg-app-mysql"