nginx权限

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx权限相关的知识,希望对你有一定的参考价值。

今天遇到LAMP架构的网站图片无法上传的问题,nginx是上一位人安装,也不懂nginx的,什么都是默认的,总结了一下nginx

1、搭建nginx的时候在不创建指定的用户和组时,默认是用nobody;


2、在root用户下搭建nginx,启动时是root启动,但工作进程是nobody;


3、nginx配置文件中 “#user nobody”,这个开不开应该都是nobody,除非明确user另外的用户和组


4、上传的程序如果是php,要看的php-fpm的权限,上传文件的权限会用的php-fpm的用户,用如下命令查看:

ps -ef |grep php-fpm
root     18630     1  0 17:52 ?        00:00:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)                                                                    
nobody      18631 18630  0 17:52 ?        00:00:00 php-fpm: pool www                                                                                                            
nobody      18632 18630  0 17:52 ?        00:00:00 php-fpm: pool www                                                                                                            
root     20077 16136  0 18:05 pts/1    00:00:00 grep php-fpm
php-fpm配置文件/usr/local/php/etc/php-fpm.conf中默认的用户和组是:
user = nobody
group = nobody

5、但是我不想用默认用户,我就创建个www用户和www组

编辑nginx.conf里用户为:user www www;
在编辑php-fpm.conf配置文件,修改用户和组:
user = www
group = www

最后可将nginx目录下所有属主和属组改为www.www


编辑好之后重启一下php-fpm和nginx程序。

ps -ef |grep php-fpm
root     18630     1  0 17:52 ?        00:00:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)                                                                    
www      18631 18630  0 17:52 ?        00:00:00 php-fpm: pool www                                                                                                            
www      18632 18630  0 17:52 ?        00:00:00 php-fpm: pool www                                                                                                            
root     20077 16136  0 18:05 pts/1    00:00:00 grep php-fpm
ps -ef |grep nginx
root     19121     1  0 17:56 ?        00:00:00 nginx: master process /web/nginx/sbin/nginx -c /web/nginx/conf/nginx.conf
www      19122 19121  0 17:56 ?        00:00:00 nginx: worker process                              
root     19663 16136  0 18:04 pts/1    00:00:00 grep nginx


以上是关于nginx权限的主要内容,如果未能解决你的问题,请参考以下文章

教程4 - 验证和权限

gitlab 权限说明

Django REST框架--认证和权限

nginx.conf 忽略了 nginx-ingress 配置映射片段

将 nginx rtmp 片段发送到 WebRTC

nginx web 目录下权限设置哪个是对的