diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..723ef36
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.idea
\ No newline at end of file
diff --git a/README.md b/README.md
index cc6b342..8bb5612 100644
--- a/README.md
+++ b/README.md
@@ -1,76 +1,85 @@
# Docker-LNMP
-利用 Docker-Compose 编排 LNMP开发环境
+
+利用 Docker-Compose 编排 LNMP 开发环境
### 清单
-> 注: 完整版(docker-compose up -d)
-- PHP7.2
+
+> 注: 完整版(docker-compose.yml、docker-compose-fast.yml)
+- PHP 7.2
- Nginx
-- MySQL5.6
+- MySQL 5.6
- Redis
- phpMyAdmin
-- phpRedisAdmin
-> 注: 精简版(docker-compose -f docker-compose-simplify.yml up -d)
-- PHP7.2
+- phpRedisAdmin
+
+> 注: 精简版(docker-compose-simplify.yml)
+- PHP 7.2
- Nginx
-- MySQL5.6
-- Redis
+- MySQL 5.6
+- Redis
+
### 目录结构
```
Docker-LNMP
-|----docker Docker目录
+|----docker Docker 目录
|--------config 配置文件目录
-|------------proxy nginx配置文件目录
-|--------files DockerFile文件目录
-|------------cgi php-fpm DockerFile文件目录
-|----------------Dockerfile php-fpm DockerFile文件
+|------------proxy Nginx 配置文件目录
+|--------files DockerFile 文件目录
+|------------cgi php-fpm DockerFile 文件目录
+|----------------Dockerfile php-fpm DockerFile 文件
|----------------docker-entrypoint.sh php-fpm 启动脚本
-|------------proxy nginx DockerFile文件目录
-|----------------Dockerfile nginx DockerFile文件
-|----------------docker-entrypoint.sh nginx 启动脚本
+|------------proxy Nginx DockerFile 文件目录
+|----------------Dockerfile Nginx DockerFile 文件
+|----------------docker-entrypoint.sh Nginx 启动脚本
|--------log 日志文件目录
-|------------cgi php-fpm日志文件目录
-|------------proxy nginx日志文件目录
+|------------cgi php-fpm 日志文件目录
+|------------proxy Nginx 日志文件目录
|----www 应用根目录
-|--------index.php PHP例程
+|--------index.php PHP 例程
|----README.md 说明文件
-|----docker-compose.yml docker compose 配置文件(完整版: LNMP+Redis+phpMyAdmin+phpRedisAdmin)
-|----docker-compose-simplify.yml docker compose 配置文件(精简版: LNMP+Redis)
+|----docker-compose.yml docker compose 配置文件(完整版: LNMP + Redis + phpMyAdmin + phpRedisAdmin)
+|----docker-compose-simplify.yml docker compose 配置文件(精简版: LNMP + Redis)
```
+
### 准备
+
```shell
-# 安装docker和docker-compose
+# 安装 Docker 和 Docker-Compose
yum -y install epel-release
yum -y install docker docker-compose
-# 启动docker服务
+# 启动 Docker 服务
service docker start
-# 配置阿里云docker镜像加速器(建议配置加速器, 可以提升docker拉取镜像的速度)
+# 配置阿里云 Docker 镜像加速器(建议配置加速器, 可以提升 Docker 拉取镜像的速度)
mkdir -p /etc/docker
vim /etc/docker/daemon.json
+
# 新增下面内容
{
"registry-mirrors": ["https://8auvmfwy.mirror.aliyuncs.com"]
}
-# 重新加载配置、重启docker
+
+# 重新加载配置、重启 Docker
systemctl daemon-reload
systemctl restart docker
```
+
### 安装
+
```shell
# 克隆项目
git clone https://github.com/duiying/Docker-LNMP.git
# 进入目录
cd Docker-LNMP
-# 容器编排
-docker-compose up -d
-# 或使用加速版(推荐, 耗时约10分钟)
+# 容器编排(使用加速版,推荐,耗时约 10 分钟)
docker-compose -f docker-compose-fast.yml up -d
-# 或使用精简版
-docker-compose -f docker-compose-simplify.yml up -d
```
+
### 测试
-执行成功
+
+执行成功
+
```
Creating cgi ... done
Creating proxy ... done
@@ -80,25 +89,21 @@ Creating phpredisadmin ...
Creating cgi ...
Creating proxy ...
```
-访问IP, 效果图如下
-
+
+访问 IP,效果图如下(可能需要等几秒钟):
+
+

### 学习文档
+
- [如何新建一个站点](docs/如何新建一个站点.md)
-- [如何安装yaf扩展](docs/如何安装yaf扩展.md)
-- [如何安装swoole扩展](docs/如何安装swoole扩展.md)
+- [如何安装 af 扩展](docs/如何安装Yaf扩展.md)
+- [如何安装 Swoole 扩展](docs/如何安装Swoole扩展.md)
### 可能遇到的问题
-```bash
-# Error信息
-The "https://packagist.phpcomposer.com/packages.json" file could not be down
-# 解决方案
-这是由于composer中国镜像失效, 修改Docker-LNMP/docker/files/cgi/Dockerfile
-https://packagist.phpcomposer.com 改为 https://mirrors.aliyun.com/composer/
-```
```bash
-# Error信息
+# Error 信息
ERROR: for mysql Cannot start service mysql: endpoint with name mysql already exists in network docker-lnmp_default
# 解决方案
这是由于端口被占用,需要清理此容器的网络占用
@@ -107,13 +112,16 @@ docker network disconnect --force docker-lnmp_default mysql
检查是否还有其它容器占用
格式:docker network inspect 网络模式
```
+
### 更新日志
-- cgi容器支持crontab
-- PHP支持rdkafka扩展
-- PHP支持POSIX、PCNTL扩展
+
+- cgi 容器支持 crontab
+- PHP 支持 rdkafka 扩展
+- PHP 支持 POSIX、PCNTL 扩展
- 新增学习文档
-### Docker常用命令
+### Docker 常用命令
+
```shell
# 删除所有容器
docker rm -f $(docker ps -aq)
diff --git a/docker/files/cgi/Dockerfile b/docker/files/cgi/Dockerfile
index 662a7c0..71bbe3c 100644
--- a/docker/files/cgi/Dockerfile
+++ b/docker/files/cgi/Dockerfile
@@ -33,7 +33,7 @@ RUN yum install -y --enablerepo=remi --enablerepo=remi-php72 \
RUN curl -sSL https://getcomposer.org/installer | php &&\
mv composer.phar /usr/local/bin/composer &&\
- composer config -g repo.packagist composer https://packagist.phpcomposer.com &&\
+ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ &&\
composer global require fxp/composer-asset-plugin v1.4.2 -vvv
RUN sed -i 's/listen = 127.0.0.1:9000/listen = [::]:9000/p' /etc/php-fpm.d/www.conf &&\
diff --git a/docker/files/cgi/docker-entrypoint.sh b/docker/files/cgi/docker-entrypoint.sh
index c9c15d1..602bad7 100644
--- a/docker/files/cgi/docker-entrypoint.sh
+++ b/docker/files/cgi/docker-entrypoint.sh
@@ -1,5 +1,5 @@
#!/bin/bash
-# @auther <1822581649@qq.com>
+# @auther
/usr/sbin/init
/usr/sbin/crond
diff --git a/docker/files/proxy/docker-entrypoint.sh b/docker/files/proxy/docker-entrypoint.sh
index 64521ab..504f7b8 100644
--- a/docker/files/proxy/docker-entrypoint.sh
+++ b/docker/files/proxy/docker-entrypoint.sh
@@ -1,5 +1,5 @@
#!/bin/bash
-# @auther <1822581649@qq.com>
+# @auther
echo "info: nginx non-daemon startup"
nginx -c /etc/nginx/nginx.conf
diff --git a/docs/README.md b/docs/README.md
deleted file mode 100644
index ae7c358..0000000
--- a/docs/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# 学习文档
-
-- [如何新建一个站点](如何新建一个站点.md)
-- [如何安装yaf扩展](如何安装yaf扩展.md)
-- [如何安装swoole扩展](如何安装swoole扩展.md)
\ No newline at end of file
diff --git "a/docs/\345\246\202\344\275\225\345\256\211\350\243\205swoole\346\211\251\345\261\225.md" "b/docs/\345\246\202\344\275\225\345\256\211\350\243\205Swoole\346\211\251\345\261\225.md"
similarity index 80%
rename from "docs/\345\246\202\344\275\225\345\256\211\350\243\205swoole\346\211\251\345\261\225.md"
rename to "docs/\345\246\202\344\275\225\345\256\211\350\243\205Swoole\346\211\251\345\261\225.md"
index ae1aa9d..0f89694 100644
--- "a/docs/\345\246\202\344\275\225\345\256\211\350\243\205swoole\346\211\251\345\261\225.md"
+++ "b/docs/\345\246\202\344\275\225\345\256\211\350\243\205Swoole\346\211\251\345\261\225.md"
@@ -1,12 +1,12 @@
-# 如何安装swoole扩展
+# 如何安装 Swoole 扩展
-#### 如何安装swoole扩展
+#### 如何安装 Swoole 扩展
```shell
-# 进入PHP容器
+# 进入 PHP 容器
[root@localhost Docker-LNMP]# docker exec -it cgi bash
-# 解决gcc版本过低的问题
+# 解决 gcc 版本过低的问题
yum -y install centos-release-scl
yum -y install devtoolset-7
scl enable devtoolset-7 bash
@@ -21,11 +21,11 @@ wget https://github.com/swoole/swoole-src/archive/v4.2.1.tar.gz &&\
sed -i '$a \\n[swoole]\nextension=swoole.so' /etc/php.ini &&\
cd ../ && rm -rf v4.2.1.tar.gz swoole-src-4.2.1
-# 退出PHP容器
+# 退出 PHP 容器
[root@510d01c199f5 /]# exit
exit
-# 重启PHP容器
+# 重启 PHP 容器
[root@localhost Docker-LNMP]# docker restart cgi
```
diff --git "a/docs/\345\246\202\344\275\225\345\256\211\350\243\205yaf\346\211\251\345\261\225.md" "b/docs/\345\246\202\344\275\225\345\256\211\350\243\205Yaf\346\211\251\345\261\225.md"
similarity index 66%
rename from "docs/\345\246\202\344\275\225\345\256\211\350\243\205yaf\346\211\251\345\261\225.md"
rename to "docs/\345\246\202\344\275\225\345\256\211\350\243\205Yaf\346\211\251\345\261\225.md"
index 9f85c16..dd86929 100644
--- "a/docs/\345\246\202\344\275\225\345\256\211\350\243\205yaf\346\211\251\345\261\225.md"
+++ "b/docs/\345\246\202\344\275\225\345\256\211\350\243\205Yaf\346\211\251\345\261\225.md"
@@ -1,9 +1,9 @@
-# 如何安装yaf扩展
+# 如何安装 Yaf 扩展
-#### 安装yaf扩展
+#### 安装 Yaf 扩展
```shell
-# 进入PHP容器
+# 进入 PHP 容器
[root@localhost Docker-LNMP]# docker exec -it cgi bash
# 下载、安装
@@ -16,12 +16,12 @@ wget http://pecl.php.net/get/yaf-3.0.8.tgz &&\
sed -i '$a \\n[yaf]\nextension=yaf.so\nyaf.environ=product' /etc/php.ini &&\
cd ../ && rm -rf yaf-3.0.8.tgz yaf-3.0.8
-# 退出PHP容器
+# 退出 PHP 容器
[root@510d01c199f5 /]# exit
exit
-# 重启PHP容器
+# 重启 PHP 容器
[root@localhost Docker-LNMP]# docker restart cgi
```
-
+
diff --git "a/docs/\345\246\202\344\275\225\346\226\260\345\273\272\344\270\200\344\270\252\347\253\231\347\202\271.md" "b/docs/\345\246\202\344\275\225\346\226\260\345\273\272\344\270\200\344\270\252\347\253\231\347\202\271.md"
index aee60b6..594658b 100644
--- "a/docs/\345\246\202\344\275\225\346\226\260\345\273\272\344\270\200\344\270\252\347\253\231\347\202\271.md"
+++ "b/docs/\345\246\202\344\275\225\346\226\260\345\273\272\344\270\200\344\270\252\347\253\231\347\202\271.md"
@@ -1,74 +1,63 @@
# 如何新建一个站点
-比如部署一个Yii2项目 https://github.com/duiying/Yii2-Admin , 并且可以通过 http://frontend.yii2.test 访问
+比如部署一个 Lumen 项目,并且可以通过 http://lumen-app.com 访问:
-#### 1. 配置Nginx
-```shell
-# Docker-LNMP/docker/config/proxy/conf.d 目录下新建一个配置文件 yii2-docker.conf
-[root@localhost Docker-LNMP]# vim docker/config/proxy/conf.d/yii2-docker.conf
-```
-yii2-docker.conf 内容如下:
-```
-server {
+**1、配置 Nginx**
- listen 80;
+Docker-LNMP/docker/config/proxy/conf.d 目录下新建一个配置文件 lumen-app.conf,lumen-app.conf 内容如下:
- server_name frontend.yii2.test;
- root /data/www/Yii2-Admin/frontend/web;
- index index.php index.html index.htm;
+```
+server {
+ listen 80;
+ server_name lumen-app.com;
+ root /data/www/lumen-app/public;
+ index index.html index.htm index.php;
+
location / {
- # Redirect everything that isn't a real file to index.php
- try_files $uri $uri/ /index.php$is_args$args;
- }
-
- # deny accessing php files for the /assets directory
- location ~ ^/assets/.*\.php$ {
- deny all;
+ try_files $uri $uri/ /index.php?$query_string;
}
-
+
location ~ \.php$ {
- include fastcgi_params;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass cgi:9000;
+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+ include fastcgi_params;
try_files $uri =404;
}
-
- location ~* /\. {
- deny all;
- }
-
}
```
-#### 2. 克隆项目
+**2、安装 Lumen 项目**
+
```shell
-# Docker-LNMP/www 目录下安装 https://github.com/duiying/Yii2-Admin , 安装过程如下:
-[root@localhost Docker-LNMP]# cd www
-[root@localhost www]# ls
-index.php
-[root@localhost www]# git clone https://github.com/duiying/Yii2-Admin.git
-[root@localhost www]# ls
-index.php Yii2-Admin
+# Docker-LNMP/www 目录下安装 Lumen 框架,安装过程如下:
-# 更改目录权限
-[root@localhost www]# chmod -R 777 Yii2-Admin/
+$ cd www
+$ ls
+index.php
+$ composer create-project laravel/lumen lumen-app "5.7.*"
```
-#### 3. 修改本地hosts
+**3、修改本地 hosts**
```
-# 192.168.246.128是虚拟机IP地址
-192.168.246.128 frontend.yii2.test
+# 这里本地用的是 Macbook,所以这里填的是 127.0.0.1,如果你用的是虚拟机,需要将 127.0.0.1 改成虚拟机的 IP 地址,
+127.0.0.1 lumen-app.com
```
-#### 4. 重启Nginx
+**4、重启 Nginx**
+
```shell
-[root@localhost Docker-LNMP]# docker restart proxy
+$ docker restart proxy
proxy
```
-#### 5. 浏览器访问
-http://frontend.yii2.test
+**5、浏览器访问**
+
+访问 http://lumen-app.com,可以看到页面显示出下面欢迎内容:
+
+```
+Lumen (5.7.8) (Laravel Components 5.7.*)
+```
-
\ No newline at end of file
+至此,一个 Lumen 项目部署完成。
\ No newline at end of file