9

docker安装php nginx mysql容器化记录

 2 years ago
source link: https://www.daozhao.com/10269.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK