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

原创 楚盟  2018-02-25 06:54  阅读 540 views 次

以前我用debian系统编译安装了一个lnmp环境《这是一个我弄的Docker lnmp镜像基于Debian构建》虽然很稳定,但是由于php版本不高,导致我有些程序运行不了;

所以呢,我昨天尝试在docker容器中使用debian和centos系统重新编译lnmp一键安装脚本来安装php高版本,可惜尝试多次均已失败告终,浪费大量时间就是无法编译高版本的php和mysql;

既然没搞定,而且花费这么多时间去编译安装,,我何不直接用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)

 

默认网站目录为: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.git
cd docker-nginx-php-mysql

二、生成SSL证书

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

$(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;
     }

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


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

五、复制composer配置文件


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

六、运行启动lnmp环境


docker-compose up -d

七、查看工作运行状态


docker-compose logs -f

八、停止lnmp服务


docker-compose down -v
本文地址:https://www.5yun.org/15889.html
关注我们:请关注一下我们的微信公众号:扫描二维码楚盟网的公众号,公众号:chubin5yun
版权声明:本文为原创文章,版权归 楚盟 所有,欢迎分享本文,转载请保留出处!

评论已关闭!