docker 搭建nginx+php环境
·
1.启一个php容器
docker run --name myphp-fpm -v /www/server/nginx/www:/www -d php:5.6-fpm
说明:
(1)把容器/www目录,挂载到缩主机的/www/server/nginx/www目录,以方便放代码。
2、启一个nginx容器
docker run --name runoob-php-nginx -p 8083:80 -d -v /www/server/nginx/www:/usr/share/nginx/html -v /www/server/nginx/conf/conf.d:/etc/nginx/conf.d --link myphp-fpm:php
说明:
(1)把容器/usr/share/nginx/html目录,挂载到宿主机的/www/server/nginx/www目录,方便放代码。
(2)把容器/etc/nginx/conf.d目录,挂载到宿主机/www/server/nginx/conf/conf.d目录,方便我我们改配置。
(3)--link myphp-fpm:php ,连接容器,以用主机名来通讯。而不用映射mysql的端口到宿主机
3、接着在 宿主机/www/server/nginx/conf/conf.d目录,建立一个nginx配置文件,代码如下:
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;
}
#fastcgi_pass 127.0.0.1:9000
location ~ \.php$ {
fastcgi_pass myphp-fpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;
include fastcgi_params;
}
}
说明:
(1)访问80端口时,路由到 /usr/share/nginx/html下。
(2)访问以.php结尾的文件时,路由到/www目录下,而/www,又与/www/server/nginx/www挂载,所以最终都路由到宿主机的 /www/server/nginx/www 目录下。
(3)因为我们用 --link myphp-fpm:php 连接了容器,所以 myphp-fpm:9000时,即是访问fpm的9000端口,进行通讯。

所以我们最终可以在浏览器访问:

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)