网上大部分php+docker教程都是将nginx放在docker compose 里作为服务的一部分。但本机主机上已经有nginx,这样的做法有点太多余。
用官方镜像php-fpm+主机 nginx配置完成后出现 file not found 。这其实在意料之中,因为主机nginx的网页路径和php-fpm容器内的网页路径会不同。找不到php文件,自然file not found了。
要解决,方法也很简单,改变nginx传入fastcgi 参数中的脚本路径即可。
大概的配置如下:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
fastcgi_index index.php;
include fastcgi_params;
}
上面配置中的/var/www/html要改成实际容器中的网站目录所在路径,不过一般默认都是/var/www/html。