运维

Docker极速搭建:PHP+Nginx+Msql+phpMyadmin LNMP最新版

MarginNote 3 - Mac端PDF阅读批注工具 激活码价格:¥69.00
赤友 NTFS for Mac 助手 -  磁盘硬盘格式读写软件注册激活码价格:¥35.00
虫洞 -  iPhone安卓投屏操控 电脑手机多屏协同,价格:¥45.00
namesilo全网最便宜域名注册商,输入折扣码:nsilo20立减1美元!

以前我用debian系统编译安装了一个lnmp环境《这是一个我弄的Docker lnmp镜像基于Debian构建》虽然很稳定,但是由于php版本不高,导致我有些程序运行不了;
所以呢,我昨天尝试在docker容器中使用debian和centos系统重新编译lnmp一键安装脚本来安装php高版本,可惜尝试多次均已失败告终,浪费大量时间就是无法编译高版本的php和mysql;
Docker极速搭建:PHP+Nginx+Msql+phpMyadmin LNMP最新版
既然没搞定,而且花费这么多时间去编译安装,,我何不直接用docker镜像来组合lnmp呢?甚至都不需要编译,触手可及;
通过谷歌搜索和youtube大佬视频介绍对比,我在GitHub中选择了一个开源项目nanoninja/docker-nginx-php-mysql 地址:https://github.com/nanoninja/docker-nginx-php-mysql 全是英文看着有点点累,我把它用中文在这里重新记录一下,方便国人使用和自己以后看;
本文中的路径全部都是相对路径!!!!
PHP版本:7.2.2
Msql版本:5.7.21
http://localhost:8000
https://localhost:3000(默认情况下未配置HTTPS)
http://localhost:8080 PHPMyAdmin(用户名:dev,密码:dev)
关于phpmyadmin使用提示:
通过phpmyadmin连接数据库时,需要填写数据库服务地址,这个地址是数据库容器IP,我的ip是172.18.0.2
通过ps- ef命令可以找到数据库容器ip,或者直接打印全部docker 容器ip,找到数据库的ip地址就可以了,命令如下

docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)Copy

默认网站目录为:web/public
汉化开始:
这是一个在Docker容器中运行Nginx, PHP-FPM, MySQL & PHPMyAdmin的项目,首先你的linux系统中需要安装,docker docker-compose git环境;

默认对应的端口为:
环境 端口
mysql 8989
phpmyadmin 8080
nginx 8000
nginx ssl 3000

一、下载源码到本地然后切换到该目录:

git clone https://github.com/nanoninja/docker-nginx-php-mysql.gitcd docker-nginx-php-mysqlCopy

二、生成SSL证书

source .env && sudo docker run --rm -v $(pwd)/etc/ssl:/certificates -e "SERVER=$NGINX_HOST" jacoelho/generate-certificateCopy

$(pwd)表示当前路径
$NGINX_HOST"绑定域名的意思,替换成自己的域名即可;
三、让SSL生效
编辑 vi etc/nginx/default.conf 配置文件,找到关于ssl的注释内容把#号全部删除让它生效;

server { server_name localhost; listen 443 ssl; fastcgi_param HTTPS on; ssl_certificate /etc/ssl/server.pem; ssl_certificate_key /etc/ssl/server.key; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; index index.php index.html; error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; root /var/www/html/public; location ~ .php$ { try_files $uri =404; fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_pass php:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; }Copy

四、编辑vi
etc/php/php.ini,找到里面的IP地址,改成本机ip,不然运行的时候php会报错;

xdebug.remote_host=192.168.10.243 #改成本机ip地址Copy

五、复制composer配置文件

cp web/app/composer.json.dist web/app/composer.jsonCopy

六、运行启动lnmp环境

docker-compose up -dCopy

七、查看工作运行状态

docker-compose logs -fCopy

八、停止lnmp服务

docker-compose down -v
(0)

本文由 podipod软库网 作者:DevOps 发表,转载请注明来源!

关键词:, , , , ,
ToDesk - 安全好用流畅远程控制软件 替代TeamViewer,价格:¥108.00
Eagle - 图片收集管理必备软件 激活码价格:¥119.00
PDF Expert 2 - Mac上优秀的PDF阅读编辑工具,价格:¥119.00

热评文章

发表评论