问题描述
nginx跟php我都是刚接触。最近需要搭个nginx跟php环境。想使用docker来搭建,一直未成功静态文件可以显示,php文件无法显示有时报502错误,有时候是提示no input file specified
附上相关文件
docker-compose.xml
xmlprober: image: tommylau/php-5.2:latest volumes:- prober/src:/var/www/html:rwnginx: image: nginx:latest ports:- '80:80' volumes:- prober/src:/var/www/html:rw- prober/nginx.conf:/etc/nginx/conf.d/default.conf links:- prober
nginx.conf
xmlserver { listen 80; server_name localhost; root /var/www/html; index index.html index.htm index.php; location ~* ^.+.(ico|gif|jpg|jpeg|png)$ {access_log off;expires 1d; } location ~* ^.+.(css|js|txt|xml|swf|wav)$ {access_log off;expires 10m; } location ~ .php$ {fastcgi_pass prober:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;includefastcgi_params; }}
问题解答
回答1:参考我写的这篇文章: https://icewing.cc/docker-use...
简单点的解决方案:让 nginx 容器中和 php 容器中的 volume 目录结构保持一致,例如代码文件在 nginx 容器中的位置是 /var/www/html/index.php ,那么在 php 容器中的位置也要是 /var/www/html/index.php。当然也可以不这样做,具体原因博客里面有写