Nginx

Nginx

docker nginx

$ docker run --name some-nginx -p 80:80 -v /some/content:/usr/share/nginx/html:ro -itd nginx:1.17.6

Nginx + PHP 部署

$ docker run --name  myphp-fpm -v ~/nginx/www:/www  -d php:5.6-fpm
mkdir ~/nginx/conf/conf.d 
在该目录下添加 ~/nginx/conf/conf.d/runoob-test-php.conf 文件,内容如下:
server {
    listen       80;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm index.php;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ \.php$ {
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;
        include        fastcgi_params;
    }
}

    php:9000: 表示 php-fpm 服务的 URL,下面我们会具体说明。
    /www/: 是 myphp-fpm 中 php 文件的存储路径,映射到本地的 ~/nginx/www 目录。

docker run --name php-nginx -p 80:80 -d \
    -v ~/nginx/www:/usr/share/nginx/html:ro \
    -v ~/nginx/conf/conf.d:/etc/nginx/conf.d:ro \
    --privileged=true --link myphp-fpm:php   nginx

   --privileged=true  解决权限
    --link myphp-fpm:php: 把 myphp-fpm 的网络并入 nginx,并通过修改 nginx 的 /etc/hosts,把域名 php 映射成 127.0.0.1,让 nginx 通过 php:9000 访问 php-fpm。

docker pull mysql:5.7
docker run –name mysql-5-7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d -v ~/www/data:/var/lib/mysql mysql:5.7

docker exec -it mysql-5-7 bash
mysql -uroot -p
GRANT ALL ON . TO ‘root’@’%’;
flush privileges;
exit

docker pull php:7.3-fpm
docker run –name php-fpm-7-3 -d -v ~/www/web:/var/www/html –link mysql-5-7:mysql php:7.3-fpm

#进入 php 容器后执行安装 mysql 扩展
docker exec -it php-fpm-7-3 bash
apt-get update
apt-get install -y libfreetype6 libfreetype6-dev libmcrypt-dev libmcrypt4 libcurl3-dev
apt install build-essential libprotobuf-dev libboost-dev openssl protobuf-compiler
docker-php-ext-install pdo pdo_mysql
docker restart php-fpm-7-3

docker pull nginx
docker run -d –name nginx -p 80:80 -v ~/www/web/:/usr/share/nginx/html -v ~/www/nginx/conf.d:/etc/nginx/conf.d –link php-fpm-7-3:php-fpm nginx

You must be logged in to post a comment