https://blog.csdn.net/qq_26656329/article/details/78541123?locationNum=9&fps=1
(php)项目a是用test用户运行
nginx和php-fpm是www-data用户运行
(python)项目b是用test用户运行
项目a通过php函数exec调用python脚本的接口造成了没有权限访问目录
直接把项目b的权限切换为www-data可以执行,但是不便于开发,最好是把php、nginx、项目a、项目b都在一个用户、组下面。
打个比方test是当前登录用户
修改nginx
的运行角色
cd /etc/nginx
sudo vi nginx.conf
# 头部是这样
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
# 修改为
user test;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
# 重启nginx
sudo service nginx restart
修改php的运行角色
cd /etc/php/7.0/fpm/pool.d/
sudo vi www.conf
# 找到
user = www-data
group = www-data
# 改为
user = test
group = test
cd /run/php/
ls -al
# 这个目录下面有两个文件
# php7.0-fpm.pid和php7.0-fpm.sock
# 修改这两个文件的权限
sudo chown test:test php7.0-fpm.pid
sudo chown test:test php7.0-fpm.sock
# 重启php-fpm
sudo service php7-fpm restart
test用户是杜撰出来的根据自己的当前用户修改
网友评论