vagrant+;nginx+;php fpm
我有一个带有LEMP(linux、nginx、mariadb、php)堆栈的vagrant box用于开发webapp,我目前在配置nginx和php fpm时遇到一些问题。我正在使用puppet和puPHPet来配置VM php fpm和nginx组合似乎无法写入文件(即生成的日志文件、框架发布的资产(yii2)等) 使用apache而不是nginx,这个项目运行得很好,因此我放弃了一个编程问题,并且我一直遵循nginx安装指南,仍然收到诸如“目录不能通过Web进程写入”或“权限被拒绝”之类的错误消息 根据建议,我设置了vagrant+;nginx+;php fpm,php,nginx,permissions,vagrant,Php,Nginx,Permissions,Vagrant,我有一个带有LEMP(linux、nginx、mariadb、php)堆栈的vagrant box用于开发webapp,我目前在配置nginx和php fpm时遇到一些问题。我正在使用puppet和puPHPet来配置VM php fpm和nginx组合似乎无法写入文件(即生成的日志文件、框架发布的资产(yii2)等) 使用apache而不是nginx,这个项目运行得很好,因此我放弃了一个编程问题,并且我一直遵循nginx安装指南,仍然收到诸如“目录不能通过Web进程写入”或“权限被拒绝”之类的
/etc/php5/fpm/php.ini
选项cgi.fix\u pathinfo=0
nginx/sites available/site.conf
server {
listen *:80;
server_name site.dev;
client_max_body_size 128M;
root /var/www/frontend/web;
index index.php;
access_log /var/log/nginx/test.access.log;
error_log /var/log/nginx/test.error.log;
location / {
root /var/www/frontend/web;
try_files $uri $uri/ index.php /index.php$is_args$args;
}
location ~ \.php$ {
root /var/www/frontend/web;
index index.html index.htm index.php;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param APP_ENV dev;
fastcgi_pass 127.0.0.1:9000;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
}
sendfile off;
}
user = www-data
group = www-data
listen-owner = www-data
listen-group = www-data
listen-mode = 0660
php fpm/www.conf
server {
listen *:80;
server_name site.dev;
client_max_body_size 128M;
root /var/www/frontend/web;
index index.php;
access_log /var/log/nginx/test.access.log;
error_log /var/log/nginx/test.error.log;
location / {
root /var/www/frontend/web;
try_files $uri $uri/ index.php /index.php$is_args$args;
}
location ~ \.php$ {
root /var/www/frontend/web;
index index.html index.htm index.php;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param APP_ENV dev;
fastcgi_pass 127.0.0.1:9000;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
}
sendfile off;
}
user = www-data
group = www-data
listen-owner = www-data
listen-group = www-data
listen-mode = 0660
我也看到过其他帖子,其中的监听模式被注释掉了,我尝试了这两种方法,并将模式设置为0666
,但仍然没有成功
我还尝试将权限从vagrant的内部和外部设置为0777
,以覆盖我知道框架用于写入数据的文件夹,但仍然没有成功
我在工作中配置了一个非常类似的项目,与它的工作方式相同,但这个项目没有,我找不到区别(事实上,在第一次尝试失败后,我从这个项目中获取了配置文件来设置新项目)
ps aux|grep php
root php-fpm: master process (/etc/php5/fpm/php-fpm.conf)
www-data php-fpm: pool www
www-data php-fpm: pool www
不同项目中的目录似乎有相同的权限号,但在w eorks上,另一个没有
我完全不懂!非常欢迎您的想法