道招

docker安装php nginx mysql容器化记录

如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!

docker安装php nginx mysql容器化记录

建议第一步应该先安装mysql,因为后面的php很可能是需要连接mysql的,然后nginx是需要转发.php文件给php-fpm的

新建nginx的配置文件 /root/website/nginx/conf/conf.d/www.conf

server {
    listen 80;
    server_name localhost;
    #charset koi8-r;

    root   /root/website/daozhao.com;
    index  index.html index.htm index.php;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        root   /root/website/daozhao.com;
        #fastcgi_pass   unix:/sock/www.sock;  // 需要用sock连接时使用
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;
        #fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; // 不可用$document_root
        fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
        include        fastcgi_params;

        index index.html index.php;
    }

b内部分容后面会讲到

docker安装mysql

docker run -p 13306:3306 --name my_mysql  -e MYSQL_ROOT_PASSWORD=123456 -d mysql

docker安装php

将php的端口号和sock都暴露个宿主机

docker run --name  my_php-fpm -p 19000:9000 -v /sock:/usr/local/var/run -v /root/website/xxx:/www --link my_mysql:mysql -d php:7.4.13-fpm

--link my_mysql:mysql: 把 my_mysql 的网络并入 php,并通过修改 php 的 /etc/hosts,把域名 my_mysql 映射成 127.17.0.4,让 php 通过mysql:3306(类似127.0.0.1:3306) 访问 mysql。 file

如果

docker安装nginx

docker run --name my_php_nginx -p 8080:80 -v /root/website/www:/usr/share/nginx/html -v /root/website/nginx/conf/conf.d:/etc/nginx/conf.d --link my_php-fpm:php -d nginx

效果类似,方便通过php:9000访问php-fpm,如上述/root/website/nginx/conf/conf.d/www.conf 文件所示

验证效果 新建phpinfo.php

<?php
echo phpinfo();
?>

file

推荐启动顺序

根据依赖关系确定先后顺序 mysql -> php -> nginx

更新时间:
上一篇:centos8以源码方式安装php7.4下一篇:道招网主机切换至腾讯云

相关文章

mysql 关闭3306端口对外开放服务

我们都知道mysql的默认端口就是3306,一般默认是对外开放的,也就是可以通过ip + 端口的访问直接远程访问,这样是有安全隐患,类似百度云观察这样的服务扫描到的话就会把这当成安全隐患提示站长。 阅读更多…

WordPress上传图片出现“图像后期处理失败,请将其缩小到2500像素并重新上传”

今天在上传图片的时候发现了这个报错“图像后期处理失败,请将其缩小到2500像素并重新上传”,如果是英文版的话,就会报错“Post-processing of the image failed. If 阅读更多…

GraphQL学习、踩坑记录(二)

首先网站终于迁移好了,主要做了更换了主机,利用之前在搬瓦工的VPS,那个VPS配置较高,不充分利用实属浪费。之前用的虚拟主机,可玩性不高,唯一欣慰的是支持ssl,能实现全站的https访问。 我把原来 阅读更多…

docker运行WordPress报MySQL server has gong away

前几天在用docker安装wordpress,之前已经安装的有mysql,准备使用--link的方式让wordpress的容器访问之前的mysql的容器,但是总是一启动在浏览器里面访问就把容器给搞挂了 阅读更多…

nginx开启https parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf

安装nginx,一般是安装在/usr/local/nginx nginx基本操作 cd /usr/local/nginx/sbin 启动 ./nginx 关闭 ./ngin 阅读更多…

Mysql报错“this is incompatible with sql_mode=only_full_group_by”

由于本站使用的是msyql8.x版本的mysql数据库,版本较高,发现网站的“月份存档”的数据不展示了,经过排查发现是接口未能如期返回的数据,而是出现了报错“this is incompatible 阅读更多…

关注道招网公众帐号
道招开发者二群