SpacePack 高效部署 PHP 生产环境

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 的所有容器内做了映射关系。

资源来自网络,本站整理,如若转载,请注明出处:https://macbang.net/spacepack-php.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年5月18日 上午10:51
下一篇 2019年5月18日

相关推荐

  • 在 macOS 下如何完全退出应用程序?

    macOS 与Windows 应用程序退出机制是完全不同的,很多新手可能觉得点下窗口上的叉叉就可退出应用程序了,但在macOS上完全不是这样操作。即使我们将某些应用的界面关闭,它们仍然会在后台运行。 在 macOS 系统中,即…

    Mac教程 2019年6月16日
    03.3K0
  • Keynote Live – 让其他人在不同设备上观看你演示幻灯片

    如果你的 Keynote 观众不在同一间会议室,或者倒霉的投影仪坏了,可以用苹果的 Keynote Live 来在所有人设备上远程播放幻灯片。对方可以不登录 iCloud,点击你发给他们的链接就能观看。支持手机版甚至网页版,支持…

    2019年6月16日
    07790
  • Mac如何禁用Adobe无用自启动项

    电子设备作为一款消耗产品,在使用时间变长之后难免会变得缓慢和迟钝。同样使用Mac的用户也会有这样的感受。其实,我们可以通过一些简单的方法来降低系统资源占用,提高系统的运行效率。那么Mac怎么禁用Adobe无用自…

    2019年6月16日
    01.8K0
  • 全新的 AppleDNS,教你「加速!」连接 Apple 云服务

    AppleDNS 项目收集了 Apple 在全中国几乎所有省(自治区、特别行政区)的部分 CDN IP 列表,让你能够以最快的速度连接 Apple 的服务器,包括 App Store / Mac App Store / iTunes Store / Apple Music / iBooks / T…

    Mac教程 2019年6月16日
    07.5K0
  • Mac电脑怎么删除磁盘分区

    现在有很多人在使用Mac电脑,有些新用户不知道怎么删除磁盘分区,接下来小编就给大家介绍一下具体的操作步骤。 具体如下: 首先第一步根据下图箭头所指,点击顶部【前往】选项。 第二步在弹出的菜单栏中,根据下图…

    2023年9月22日
    08410
  • 给苹果电脑分享菜单里的按钮排序

    在苹果电脑 macOS 上,点击屏幕左上角的苹果标志,在下拉菜单里选择「系统偏好设置…」>「扩展」>「共享菜单」,也能通过上下拖拽分享方式进行排序。 还有个相对简单的方法,在 Safari 浏览器里点击分享按钮,…

    2019年6月16日
    01.0K0
  • 使用终端diskutil命令给U盘分区

    声明:本文涉及的操作很可能会破坏你的系统文件,造成数据丢失,请慎重模仿,一切后果作者均不承担任何责任。 先使用diskutil list命令查看U盘代号 diskutil list 如查询到U盘的名称位disk2,每个U盘的代号可能不一…

    2019年5月19日
    09210
  • 可以快速输入Apple Logo(被咬一口的苹果标志)的快捷键

     如上所示,如何在Mac下快速的打出Apple Logo呢?(windows环境下未测试,大家可以试一试!)请使用以下快捷键组合: Mac下快速的打出Apple Logo的快捷键组合:option+shift+K,OK,试试吧^_^ 打赏赞分享

    2019年5月18日
    01.3K0
  • rmbp升级high sierra后wifi连接不稳定的解决办法

    最近收到macOS high sierra的推送,迫不及待的就升级体验了一把,但是发现升级后wifi不稳定,动不动就中断,过几秒又自己连上了,很不爽。按照网上的说法,把信道、带宽挨个调整都试了个遍,效果还是不理想(电脑离…

    Mac教程 2019年5月19日
    09560
  • Mac 教程:如何在 Apple Music 里浏览歌词

    自 iOS 系统上古时代,许多用户就在向苹果提出播放音乐时要在锁屏界面显示歌词,可时至今日苹果终于实现了这一功能,但也只是在 Apple Music 应用界面内,而不是在锁屏界面上。 在 Apple Music 里浏览歌词操作非常…

    2019年6月16日
    01.8K0

发表回复

登录后才能评论