参考:https://gitee.com/Tinywan/dnmp
拉取代码
git clone https://gitee.com/Tinywan/dnmp.git cd dnmp
新建配置文件
cp env.example .env
修改.env,对应共享目录
SOURCE_SHARE_DIR=/mnt/hgfs/www
开启容器服务
docker-compose up #docker-compose -f /mnt/hgfs/www/dnmp/docker-compose.yml up
守护进程 docker-compose up -d
nginx配置
配置文件端口必须和 docker-compose.yml的ports - 8088:80中的映射出来的端口一一对应
修改dnmpconf ginx.conf
#dnmpconf
ginx.conf
upstream fastcgi_proxy{
server php74:9000;
}
#dnmpconfconf.dhlyunhlyun_gateway.conf
server {
listen 7003;
server_name localhost;
location / {
root /var/www/113frontend/dist;
index index.html index.htm index.php;
if (!-e $request_filename) {
rewrite ^/(.*)$ / redirect;
}
}
error_page 500 502 503 504 /50x.html;
location /api {
#rewrite ^.+api/?(.*)$ /$1 break;
#include uwsgi_params;
proxy_pass http://localhost:7002;
}
}
server {
listen 7002;
server_name localhost;
location / {
root /var/www/hlyun_v3/hlyun_gateway/src/public;
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?$query_string;
}
error_page 500 502 503 504 /50x.html;
location ~ .php$ {
root /var/www/hlyun_v3/hlyun_gateway/src/public;
fastcgi_pass fastcgi_proxy;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
重新加载配置文件 docker exec -it dnmp-nginx nginx -s reload
修改php-fpm:
#dnmpconfphpphp-fpm.dwww.conf pm = static pm.max_children = 30
进入PHP容器(该容器没有bash shell。但在/bin/sh有一个shell):
docker exec -it dnmp-php74 /bin/sh
mysql5.7导入DATETIME字段数据时遇到错误incorrect datetime value '0000-0-0 00:00:00' for column
解决办法:去掉NO_ZERO_IN_DATE,NO_ZERO_DATE
#dnmpconfmysqlmy.cnf sql_mode ='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'