Liu*_*zhe 5 php nginx docker docker-compose
有我的docker-compose.yml
version: '2'
services:
web:
image: nginx:latest
ports:
- "8018:80"
volumes:
- ./code:/code
- ./site.conf:/etc/nginx/conf.d/default.conf
- /private/var/log/nginx:/var/log/nginx
- /private/var/run/php7-fpm.sock:/var/run/php7-fpm.sock
networks:
- code-network
php:
image: php:fpm
volumes:
- ./code:/code
- ./php-fpm.conf:/usr/local/etc/php-fpm.conf
- ./www.conf:/usr/local/etc/php-fpm.d/www.conf
- /private/var/run/php7-fpm.sock:/var/run/php7-fpm.sock
networks:
- code-network
networks:
code-network:
driver: bridge
Run Code Online (Sandbox Code Playgroud)
在site.conf中,我这样写,fastcgi_pass unix:/var/run/php7-fpm.sock;我还将监听地址更改为listen = /var/run/php7-fpm.sockwww.conf。在我的MAC中,在文件夹/ private / var / run中以模式666运行了一个名为php7-fpm.sock的文件。
运行之后docker-compose up -d,容器运行成功。但是当我访问http:// localhost:8018时,它返回了502。检查了nginx错误日志后,我发现了这一点
2017/11/01 13:08:39 [错误] 6#6:* 1连接()到Unix:/var/run/php7-fpm.sock在连接到上游时失败(111:连接被拒绝),客户端:172.18 .0.1,服务器:本地主机,请求:“ GET / HTTP / 1.1”,上游:“ fastcgi:// unix:/var/run/php7-fpm.sock:”,主机:“ localhost:8018”
顺便说一句,在尝试使用unix套接字模式之前。我以tcp / ip模式成功访问了http:// localhost:8018。
在我检查了如何通过unix套接字设置Apache2和PHP-FPM之后?,我将docker-compose.yml更改为
version: '2'
services:
web:
image: nginx:latest
ports:
- "8018:80"
volumes:
- ./code:/code
- ./site.conf:/etc/nginx/conf.d/default.conf
- /private/var/log/nginx:/var/log/nginx
- "phpsocket:/var/run"
networks:
- code-network
php:
image: php:fpm
volumes:
- ./code:/code
- ./php-fpm.conf:/usr/local/etc/php-fpm.conf
- ./www.conf:/usr/local/etc/php-fpm.d/www.conf
- ./zz-docker.conf:/usr/local/etc/php-fpm.d/zz-docker.conf
- "phpsocket:/var/run"
networks:
- code-network
networks:
code-network:
driver: bridge
volumes:
phpsocket:
Run Code Online (Sandbox Code Playgroud)
并将zz-docker.conf覆盖为
[global]
daemonize = no
[www]
listen = /var/run/php7-fpm.sock
listen.mode = 0666
Run Code Online (Sandbox Code Playgroud)
最后,当我访问http:// localhost:8018时,出现了phpinfo页面!
| 归档时间: |
|
| 查看次数: |
6852 次 |
| 最近记录: |