nginx php-fpm 分别安装在不同的机器(理解nginx和php-fpm)

先起一个ubuntu的docker;

$docker run -ti --name test1 ubunt; 


然后安装php5-fpm

apt-get install php5-fpm;


配置fpm,允许从其他机器访问:

listen=9000; (默认是127.0.0.1:9000)


退出当前的docker container;

然后commit成一个image;

docker commit test1 myfpm; 


重新起这个image,带port参数;

docker run -ti --name test2 -p 9000:9000 myfpm;


在docker bash里面起fpm

$php5-fpm;

$ss -l ;可以看到 监听端口情况


然后再宿主机器访问docker;

docker-machine ip default; 我这是mac。 需要看实际ip,如果是linux系统则不需要;


配置本地的nginx,让php解析指向docker machine的 ip

fastcgi_pass   192.168.99.100:9000;                                                                                   


OK,测试一下;

curl localhost/info.php


这个info.php是宿主机nginx root目录的文件。需要在docker里面对应的目录也建立相应的文件。

删除宿主机的info.php,发现也可以正常访问,说明实际上nginx只是传递文件路径给php解析器而已。




你可能感兴趣的:(nginx php-fpm 分别安装在不同的机器(理解nginx和php-fpm))