centos7下docker搭建nginx+phpfpm環境


#服務器mariadb停用
systemctl stop mariadb

#拉取mysql鏡像
docker pull mysql:5.7

#創建容器並運行
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name cyt_mysql mysql:5.7


#拉取phpfpm
docker pull php:7.2-fpm

#創建容器,關聯mysql和nginx容器
docker run -d -v /var/nginx/www/html:/var/www/html -p 9000:9000 --link cyt_mysql:mysql --name cyt_phpfpm php:7.2-fpm

#進入phpfpm容器
docker exec -it cyt_phpfpm /bin/bash
#更改默認php.ini
cd /usr/local/etc/php/conf.d
cp cp php.ini-production php.ini

#安裝mysql擴展
docker-php-ext-install pdo_mysql
#安裝redis擴展
curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/3.1.3.tar.gz

tar xfz /tmp/redis.tar.gz
rm -r /tmp/redis.tar.gz
mkdir -p /usr/src/php/ext
mv phpredis-3.1.3 /usr/src/php/ext/redis
#查看已安裝擴展
php -i|grep pdo

php -i|grep redis


#創建nginx容器並運行
docker run -d -p 80:80 --name cyt_nginx -v /var/nginx/www/html:/var/www/html --link cyt_phpfpm:phpfpm  nginx:1.12.2

#進入nginx容器,修改配置文件
docker exec -it cyt_nginx /bin/bash
cd /etc/nginx/conf.d
vim default.conf
#修改里面內容
    location / {
        #root   /usr/share/nginx/html;
        root           /var/www/html;
        index  index.html index.htm;
    }

    location ~ \.php$ {
        #root           html;
        root           /var/www/html;
        #改成phpfpm容器名
        #fastcgi_pass   127.0.0.1:9000;
        fastcgi_pass 1f6d34694a56:9000;
        fastcgi_index  index.php;
        #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
        include        fastcgi_params;
    }


#保存修改,重啟nginx
nginx -s reload

 

配置完成,回到宿主機nginx根目錄

cd /var/nginx/www/html

echo '<?php echo "hello.test"' > test.php

php test.php #輸出成功,說明可以正常使用

 

新建touch redis.php,保存以下內容

<?php

$redis = new \Redis;

//docker連接宿主機需要通過172.17.0.1訪問,可在宿主機下ifconfig查看docker0

$connect = $redis->connect('172.17.0.1', 6379);

$auth = $redis->auth('xxx');

$redis->set('a',4000);

$res = $redis->get('a');


var_dump($res);

 

運行可正常查詢redis


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM