我是靠谱客的博主 谨慎摩托,最近开发中收集的这篇文章主要介绍Centos7使用Docker部署lnmpDocker-LNMP如何安装swoole扩展如何新建一个站点,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
Docker-LNMP
利用 Docker-Compose 编排 LNMP 开发环境
清单
注:完整版 (docker-compose up -d)
- PHP7.2
- Nginx
- MySQL5.6
- Redis
- phpMyAdmin
- phpRedisAdmin
注:精简版 (docker-compose -f docker-compose-simplify.yml up -d)
- PHP7.2
- Nginx
- MySQL5.6
- Redis
目录结构
Docker-LNMP |----docker Docker目录 |--------config 配置文件目录 |------------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 启动脚本 |--------log 日志文件目录 |------------cgi php-fpm日志文件目录 |------------proxy nginx日志文件目录 |----www 应用根目录 |--------index.php PHP例程 |----README.md 说明文件 |----docker-compose.yml docker compose 配置文件(完整版: LNMP+Redis+phpMyAdmin+phpRedisAdmin) |----docker-compose-simplify.yml docker compose 配置文件(精简版: LNMP+Redis)
准备
# 安装docker和docker-compose yum -y install epel-release yum -y install docker docker-compose # 启动docker服务 service docker start # 配置阿里云docker镜像加速器(建议配置加速器, 可以提升docker拉取镜像的速度) mkdir -p /etc/docker vim /etc/docker/daemon.json # 新增下面内容 { "registry-mirrors": ["https://8auvmfwy.mirror.aliyuncs.com"] } # 重新加载配置、重启docker systemctl daemon-reload systemctl restart docker
安装
# 克隆项目 git clone https://github.com/duiying/Docker-LNMP.git # 进入目录 cd Docker-LNMP # 容器编排 docker-compose up -d # 或使用加速版(推荐, 耗时约10分钟) docker-compose -f docker-compose-fast.yml up -d # 或使用精简版 docker-compose -f docker-compose-simplify.yml up -d # 可自行修改PHP、MySQL等版本,修改image,如修改MySQL版本,MySQL:5.7.27 # PHP链接:https://hub.docker.com/_/php?tab=tags # MySQL链接:https://hub.docker.com/_/mysql?tab=tags # Nginx链接:https://hub.docker.com/_/nginx?tab=tags
测试
执行成功
Creating cgi ... done Creating proxy ... done Creating mysql ... Creating phpmyadmin ... Creating phpredisadmin ... Creating cgi ... Creating proxy ...
可能遇到的问题
# 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://packagist.laravel-china.org
更新日志
- cgi 容器支持 crontab
Docker 常用命令
删除所有容器
docker rm -f $(docker ps -aq)
删除所有镜像
docker rmi $(docker images -q)
# 进入PHP容器
# docker exec -it cgi bash
# 进入MySQL容器
# docker exec -it mysql bash
# 进入redis容器
# docker exec -it redis bash
如何安装swoole扩展
如何安装swoole扩展
# 进入PHP容器
[root@localhost Docker-LNMP]# docker exec -it cgi bash
# 解决gcc版本过低的问题
yum -y install centos-release-scl
yum -y install devtoolset-7
scl enable devtoolset-7 bash
# 下载、安装
wget https://github.com/swoole/swoole-src/archive/v4.4.3.tar.gz &&
tar -zxvf v4.4.3.tar.gz &&
cd swoole-src-4.4.3 &&
phpize &&
./configure &&
make && make install &&
sed -i '$a \n[swoole]nextension=swoole.so' /etc/php.ini &&
cd ../ && rm -rf v4.4.3.tar.gz swoole-src-4.4.3
# 退出PHP容器
[root@510d01c199f5 /]# exit
exit
# 重启PHP容器
[root@localhost Docker-LNMP]# docker restart cgi
如何新建一个站点
比如部署一个Yii2项目 https://github.com/duiying/Yii2-Admin , 并且可以通过 http://frontend.yii2.test 访问
1. 配置Nginx
# 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 {
listen 80;
server_name frontend.yii2.test;
root /data/www/Yii2-Admin/frontend/web;
index index.php index.html index.htm;
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;
}
location ~ .php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass cgi:9000;
try_files $uri =404;
}
location ~* /. {
deny all;
}
}
2. 克隆项目
# 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
# 更改目录权限
[root@localhost www]# chmod -R 777 Yii2-Admin/
3. 修改本地hosts
# vim /etc/hosts
192.168.246.128 frontend.yii2.test # 192.168.246.128是虚拟机IP地址
4. 重启Nginx
[root@localhost Docker-LNMP]# docker restart proxy
proxy
5. 浏览器访问
http://frontend.yii2.test
最后
以上就是谨慎摩托为你收集整理的Centos7使用Docker部署lnmpDocker-LNMP如何安装swoole扩展如何新建一个站点的全部内容,希望文章能够帮你解决Centos7使用Docker部署lnmpDocker-LNMP如何安装swoole扩展如何新建一个站点所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复