SpacePack 高效部署 PHP 生产环境

来自:网络
时间:2018-07-26
阅读:

SpacePack 基于 Docker 为了快速部署 PHP 生产环境而产生的项目,它包含了一般项目中常用的组件,能够在最短的时间内产生一个完善并且优化过的 PHP 生产环境。

容器版本

SpacePack 默认包含了 OpenResty 1.13、PHP 7.2、MariaDB 10.3、Memcached 1.5、Redis 3.2 和 phpMyAdmin 4.7 容器,每个容器都可以独立控制,下面是默认的容器名称列表

spacepack-mariadb
spacepack-memcached
spacepack-openresty
spacepack-php
spacepack-phpmyadmin
spacepack-redis

使用方法

配置项目

1、获取项目文件

$ git clone https://github.com/Vtrois/SpacePack.git

2、使用 Docker Compose 启动容器

$ docker-compose up -d

如果需要其他 PHP 版本,或者需要配置其他拓展,需要先编辑 services/php/Dockerfile 配置文件,然后再执行下面的命令编译启动容器

$ docker-compose -f docker-compose-dev.yml up

3、使用浏览器打开 localhost 页面,你将会看到下图的页面

5aef1ee613b6a.png

容器操作

1、停止某个容器

$ docker stop [CONTAINER NAME]

2、重启某个容器

$ docker restart [CONTAINER NAME]

注意:这里的 [CONTAINER NAME] 是上文的容器名称列表中的名称。

文件说明

在项目目录中你将会看到以下目录和文件

SpacePack
├── docker-compose-dev.yml
├── docker-compose.yml
├── services
│   ├── mariadb
│   ├── openresty
│   │   ├── conf.d
│   │   │   └── default.conf
│   │   ├── logs
│   │   └── nginx.conf
│   ├── php
│   │   ├── Dockerfile
│   │   └── config
│   │       ├── opcache-recommended.ini
│   │       ├── php.ini
│   │       └── sources.list.stretch
│   └── redis
│       └── data
└── wwwroot
    └── default
        ├── index.html
        ├── ocp.php
        ├── phpinfo.php
        └── tz.php

services/mariadb 用来存放数据库文件;

services/openresty/conf.d 是站点配置文件目录;

services/openresty/logs 用来存放 Nginx 日志的位置;

services/openresty/nginx.conf 是经优化的 Nginx 配置文件;

services/php/config/php.ini 是 PHP 的配置文件;

services/redis/data 用来存放 Redis 数据的位置;

wwwroot 是站点根目录,请勿将建站程序直接放到根目录。

注意事项

1、当新增或修改站点配置之后需要重启 OpenResty 容器。

2、在使用 Docker Compose 启动容器之前,建议配置 docker-compose.yml 文件第46行中 mariadb 的 root 账户默认密码,默认密码为 spacepack,默认端口为 3306。

MYSQL_ROOT_PASSWORD: "spacepack"



3、在 SpacePack 中因为每一个组件都是单独的一个容器,所以当 PHP 程序连接数据库的时候,数据库地址需要输入 mariadb。

4、本着节省资源的原则,在项目中用不到的容器建议在生产中直接停止,当需要的时候再运行。

5、容器对外开放的端口仅为 80 和 443 端口,另外的 9000、3306、11211、6379 端口只是在 SpacePack 的所有容器内做了映射关系。

返回顶部
顶部