道招

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

更新时间:
上一篇:下一篇:

相关文章

关注道招网公众帐号
联系博主