php + nginx项目中的权限详解

发布时间 - 2026-01-11 01:14:57    点击率:

本文给大家介绍的关于php + nginx项目权限的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:

nginx/php-fpm

进程权限

  • 主进程用户为启动的用户
  • 子进程

1、nginx的用户为nginx.conf中配置的用户

2、php-fpm的用户为php-fpm.conf中配置的用户

如:启动nginx的是root,nginx中配置的user是nginx,那主进程就是root,子进程就是nginx

处理方式

以下访问均以nginx子进程进行

静态文件

  • 步骤:nginx访问/index.html时,nginx会直接访问对应文件,并将内容返回给请求的客户端。
  • 权限情况:此时只需要nginx拥有index.html文件的权限即可。

php脚本文件

步骤:

  • nginx访问/index.php时,nginx为了能够把正确的脚本处理结果返回给客户端,需要进行配置告诉nginx.php是非静态文件,需要php脚本解析器进行处理后才能返回内容。
  • 一般来讲会在nginx配置中加上类似fastcgi_pass unix:/var/run/php5-fpm.sock;这样的配置项,指明nginx在遇到访问脚本文件时需要去找谁,之后会访问该文件做到将请求转发至php-fpm。
  • 由php-fpm访问真正的php脚本文件,将结果返回值nginx,再有nginx将结果返回至客户端。

权限情况:

  • nginx需要有/var/run/php5-fpm.sock文件权限;
  • php-fpm需要有/index.php文件权限;

用户配置位置

nginx用户设置在nginx.conf中第一行的user

php-fpm用户设置在php-fpm.conf中的

  • listen.owner = xxx;设置unix socket用户
  • user = xxx设置进程启动用户

注:以上两个配置文件不同的操作系统下文件名略有不同,请根据自身安装情况自行判断。

nginx转发内容到php-fpm不只有/var/run/php5-fpm.sock的方式,在php-fpm.conf中还可以通过配置改为xxx.xxx.xxx:9000等方式

; The address on which to accept FastCGI requests.
; Valid syntaxes are:
; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on
;       a specific port;
; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
;       a specific port;
; 'port'     - to listen on a TCP socket to all IPv4 addresses on a
;       specific port;
; '[::]:port'   - to listen on a TCP socket to all addresses
;       (IPv6 and IPv4-mapped) on a specific port;
; '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
listen = /var/run/php5-fpm.sock

其他

比较特别的点,一般nginx都是用root用户启动的(为了获取80端口权限),如果本地开发nginx是用普通用户重启,那么主进程和子进程都会是当前用户,nginx.conf中的配置不再起效,暂不清楚原因。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# nginx  # php  # 权限  # fpm  # 目录权限  # Linux下Kafka单机安装配置方法(图文)  # Kafka 常用命令行详细介绍及整理  # kafka生产实践(详解)  # Kafka使用入门教程  # 项目中应用Redis+Php的场景  # 新浪SAE搭建PHP项目教程  # php项目打包方法  # 部署PHP项目应该注意的几点事项分享  # PHP项目开发中最常用的自定义函数整理  # PHPStrom 新建FTP项目以及在线操作教程  # php测试kafka项目示例  # 客户端  # 的是  # 都是  # 相关内容  # 还可以  # 会在  # 要去  # 给大家  # 并将  # 来看看  # 只需要  # 这篇文章  # 谢谢大家  # 后会  # 重启  # 该文件  # 暂不  # 配置文件  # 普通用户  # 均以 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 使用豆包 AI 辅助进行简单网页 HTML 结构设计  如何在 React 中条件性地遍历数组并渲染元素  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  Android利用动画实现背景逐渐变暗  微信小程序 HTTPS报错整理常见问题及解决方案  Laravel如何使用Livewire构建动态组件?(入门代码)  zabbix利用python脚本发送报警邮件的方法  潮流网站制作头像软件下载,适合母子的网名有哪些?  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  如何做网站制作流程,*游戏网站怎么搭建?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  如何快速生成橙子建站落地页链接?  微信小程序 require机制详解及实例代码  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  详解jQuery停止动画——stop()方法的使用  如何正确下载安装西数主机建站助手?  南京网站制作费用,南京远驱官方网站?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  Android Socket接口实现即时通讯实例代码  利用 Google AI 进行 YouTube 视频 SEO 描述优化  Laravel中的Facade(门面)到底是什么原理  如何在Windows服务器上快速搭建网站?  bing浏览器学术搜索入口_bing学术文献检索地址  php 三元运算符实例详细介绍  Java解压缩zip - 解压缩多个文件或文件夹实例  Laravel如何创建自定义Facades?(详细步骤)  公司网站制作价格怎么算,公司办个官网需要多少钱?  网站制作免费,什么网站能看正片电影?  如何在IIS中新建站点并配置端口与IP地址?  *服务器网站为何频现安全漏洞?  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  如何为不同团队 ID 动态生成多个“认领值班”按钮  🚀拖拽式CMS建站能否实现高效与个性化并存?  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  魔方云NAT建站如何实现端口转发?  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  微信小程序 五星评分(包括半颗星评分)实例代码  非常酷的网站设计制作软件,酷培ai教育官方网站?  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  Python正则表达式进阶教程_复杂匹配与分组替换解析  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  jQuery 常见小例汇总