https://www.cnblogs.com/zrp2013/p/4183546.html

有关权限说明:
-rwxrw-r‐-1 root root 1213 Feb 2 09:39 50.html
第一个字符:
-(文件),d(目录),l(链接)
其他3个一组,
u第一组rwx:文件所有者是读写执行
g第二组rw-:文件所有者所在的组的其他用户有读写权限
o第三组r--:其他组的用户只有读的权限
r=4,w=2,r=1
nginx php-fpm mysql用户权限解析
nginx是源码安装的,php是yum安装的。mysql是用源码安装的。
nginx
处理静态页面,nginx自身处理,结果返回给客户端
处理php页面,转发给fastcgi,fastcgi管理进程选择cgi的子程序处理,
把处理结果返回给nginx
涉及到两个用户,nginx用户和php-fpm用户
nginx访问静态文件,对该文件有读或者读写权限
访问php文件,首先nginx对运行的用户有读权限,
发现是php文件,转发给php-fpm,需要php-fpm用户有读权限或者读写权限。
[root@master1 html]# ps aux | grep nginx
root       3102  0.0  0.0  44640  1896 ?        Ss   08:08   0:00 nginx: master process /usr/local/nginx/sbin/nginx
www        3431  0.0  0.1  45020  2228 ?        S    09:09   0:00 nginx: worker process      
root       3793  0.0  0.0 103324   892 pts/1    S+   10:45   0:00 grep nginx
nginx的父进程在root用户下,子进程在www用户下,只有一个子进程,
和nginx配置文件中一致。
vi /usr/local/nginx/conf/nginx.conf
user    www;
worker_processes 1;
nginx没有使用配置文件运行用户时,默认是nobody用户运行。
使用www运行nginx安全性比较高。

ps aux | grep php-fpm
root       3155  0.0  0.3 499956  6604 ?        Ss   08:16   0:00 php-fpm: master process (/etc/php-fpm.conf)
apache     3156  0.0  0.9 502364 18920 ?        S    08:16   0:03 php-fpm: pool www            
apache     3157  0.0  0.9 502112 19132 ?        S    08:16   0:04 php-fpm: pool www            
apache     3158  0.0  0.9 503892 19992 ?        S    08:16   0:03 php-fpm: pool www            
apache     3159  0.0  0.9 502380 20164 ?        S    08:16   0:04 php-fpm: pool www            
apache     3160  0.0  1.1 503892 23284 ?        S    08:16   0:04 php-fpm: pool www            
apache     3432  0.0  0.9 502376 19756 ?        S    09:09   0:04 php-fpm: pool www            
apache     3573  0.0  0.9 502868 18408 ?        S    09:42   0:02 php-fpm: pool www            
root       3829  0.0  0.0 103324   896 pts/1    S+   10:52   0:00 grep php-fpm
php-fpm父进程在root下,子进程在apache用户下。

ps aux | grep mysql
ps aux | grep mysql
root       1252  0.0  0.0 108320  1696 ?        S    06:18   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/mysql.pid
mysql      1615  0.2 13.5 1200108 275588 ?      Sl   06:18   0:42 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin
--user=mysql --log-error=/usr/local/mysql/mysql-error.log --pid-file=/usr/local/mysql/mysql.pid --socket=/usr/local/mysql/mysql.sock --port=3306
root       3839  0.0  0.0 103324   896 pts/1    S+   10:55   0:00 grep mysql
more /usr/local/mysql/mysql.pid
1615

mysql运行在mysql用户下,其pid确定和/usr/local/mysql/mysql.pid一样

在生产环境下
一般配置nginx和php-fpm都运行在www用户下,
网站的根目录也要属于www用户,
并且根目录对www用户有所以权限
访问静态页面,能正常访问,但是访问动态页面,也就是php页面,
不能访问是因为php-fpm运行在apache用户下,appache用户对网站的根目录
没有访问权限,也没有写入权限。
所以需要统一nginx和php的运行用户www,把nginx的网站根目录对www用户
和www用户组具有所有权限
该php用yum安装的,使用的是默认配置,配置文件是/etc/php-fpm/www.conf

php用yum的情况下,查看php的相关安装文件
rpm -ql php-fpm

/etc/logrotate.d/php-fpm
/etc/php-fpm.conf
/etc/php-fpm.d
/etc/php-fpm.d/www.conf
/etc/rc.d/init.d/php-fpm
/etc/sysconfig/php-fpm
/usr/sbin/php-fpm
/usr/share/doc/php-fpm-5.6.32
/usr/share/doc/php-fpm-5.6.32/fpm_LICENSE
/usr/share/doc/php-fpm-5.6.32/php-fpm.conf.default
/usr/share/fpm
/usr/share/fpm/status.html
/usr/share/man/man8/php-fpm.8.gz
/var/lib/php/session
/var/lib/php/wsdlcache
/var/log/php-fpm
/var/run/php-fpm

vi /etc/php-fpm/www.conf
user=www
group=www
编辑完成重启。/etc/init.d/php-fpm
ps aux | grep php-fpm
[root@master1 zabbix]# ps aux | grep php-fpm
root       4053  0.0  0.3 499956  6604 ?        Ss   11:43   0:00 php-fpm: master process (/etc/php-fpm.conf)
www        4054  0.0  0.7 500552 14976 ?        S    11:43   0:00 php-fpm: pool www            
www        4055  0.3  0.9 502616 18712 ?        S    11:43   0:00 php-fpm: pool www            
www        4056  0.2  0.8 500844 16932 ?        S    11:43   0:00 php-fpm: pool www            
www        4057  0.1  0.8 500824 16636 ?        S    11:43   0:00 php-fpm: pool www            
www        4058  0.3  0.8 501332 18020 ?        S    11:43   0:00 php-fpm: pool www            
root       4063  0.0  0.0 103320   888 pts/1    S+   11:44   0:00 grep php-fpm
php-fpm已经在nobody用户下运行。
给虚拟主机server中的路径(root)修改权限

用yum安装的情况下:
查看相关安装文件:
rpm -ql 程序名
以php为例:
rpm -qa | grep php-fpm
rpm -ql php-fpm-5.6.32-1.el6.remi.x86_64
rpm默认安装路径
/etc        一些设置文件放置的目录比如/etc/crontab
/usr/bin    一些可执行文件
/usr/lib     一些程序使用的动态函数库
/usr/share/doc    一些基本的软件使用手册和帮助文档
/usr/share/man/    一些man page文件

如果用源码安装情况下:
不清楚文件安装在哪些地方,放在哪些文件里,查看所有文件路径。
相关程序:whereis 程序名

php:
php -i | grep configure                查看编译安装的内容可以找到配置文件。

php主要的配置文件:

/etc/php-fpm.conf
/etc/php-fpm.conf
/etc/php-fpm.d/www.conf
/usr/share/doc/php-fpm-5.6.32/php-fpm.conf.default

在/etc/php-fpm.conf和php-fpm.conf.default中都可以定义include
在www.conf中定义php-fpm要监听的地址和端口,运行php-fpm进程时的用户和用户组。
listen=127.0.0.1
listen.allowed_clients=127.0.0.1
user=www
group=www
进一步优化可以使用php-fpm.conf.default
more /usr/share/doc/php-fpm-5.3.3/php-fpm.conf.default
include=/etc/fpm.d/*.conf

生产环境下lnmp的权限说明的更多相关文章

  1. centos7生产环境下openssh升级

    由于生产环境ssh版本太低,导致使用安全软件扫描时提示系统处于异常不安全的状态,主要原因是ssh漏洞.推荐通过升级ssh版本修复漏洞 因为是生产环境,所以有很多问题需要注意.为了保险起见,在生产环境下 ...

  2. 生产环境下,oracle不同用户间的数据迁移。第三部分

    任务名称:生产环境下schema ELON数据迁移至schema TIAN########################################前期准备:1:确认ELON用户下的对象状态se ...

  3. Python开发程序:生产环境下实时统计网站访问日志信息

    日志实时分析系统 生产环境下有需求:要每搁五分钟统计下这段时间内的网站访问量.UV.独立IP等信息,用直观的数据表格表现出来 环境描述: 网站为Nginx服务,系统每日凌晨会对日志进行分割,拷贝到其他 ...

  4. 生产环境下一定要开启mysqlbinlog

    在没有备份数据库的情况下,可以用binlog进行恢复 在生产环境下安全第一,损失一点点效率换来的安全还是值得的. http://www.cnblogs.com/zc22/archive/2013/06 ...

  5. mysql在生产环境下有大量锁表,又不允许重启的情况下的处理办法

    mysql在生产环境下有大量锁表,又不允许重启的情况下的处理办法 满头大汗的宅鸟该怎么办呢? mysql -u root -e "show processlist"|grep -i ...

  6. Mysql迁移工具在生产环境下的使用

    在产品迭代开发发布过程中,由于业务需求的增加,数据库难免会有结构调整等操作. 在每个版本发布过程中怎么控制每个版本server端程序与数据库版本保持一致,以及数 据库升级.回滚等操作. 本博文宅鸟将向 ...

  7. [原]生产环境下的nginx.conf配置文件(多虚拟主机)

    [原]生产环境下的nginx.conf配置文件(多虚拟主机) 2013-12-27阅读110 评论0 我的生产环境下的nginx.conf配置文件,做了虚拟主机设置的,大家可以根据需求更改,下载即可在 ...

  8. 生产环境下JAVA进程高CPU占用故障排查

    问题描述:生产环境下的某台tomcat7服务器,在刚发布时的时候一切都很正常,在运行一段时间后就出现CPU占用很高的问题,基本上是负载一天比一天高. 问题分析:1,程序属于CPU密集型,和开发沟通过, ...

  9. 一次生产环境下MongoDB备份还原数据

    最近开发一个版本的功能当中用到了MongoDB分页,懒于造数据,于是就研究了下从生产环境上导出数据到本地来进行测试. 研究了一下,发现MongoDB的备份还原和MySQL语法还挺类似,下面请看详细介绍 ...

随机推荐

  1. Backbone学习记录(2)

    创建一个集合 1)new Backbone.Collection()方式 var user=new Backbone.Model({'name':'susan'}); var list=new Bac ...

  2. C#之九大视图

    本节向大家介绍一下有关UML视图方面的内容,UML视图共有9种,它们之间有什么区别和联系呢,下面就让我们一起来学习吧,相信通过本节的介绍你一定会有不少收获. UML视图 UML总共提供了9种视图,这些 ...

  3. this的试题

    1.var x=12; function test(){   console.log(this.x)  } test() //主体是window 2.var x=12;   function test ...

  4. 如何正确理解和使用 Activity的4种启动模式

    关于Activity启动模式的文章已经很多,但有的文章写得过于简单,有的则过于注重细节,本文想取一个折中,只关注最重要和最常用的概念,原理和使用方法,便于读者正确应用. Activity的启动模式有4 ...

  5. Clean Code 第十章 : 类

    最近的CleanCode读到了第十章.这一张主要讲了如何去构造一个类,感觉的CleanCode至此已经不仅仅是单纯的讲如何'写'出漂亮的代码,而是从设计方向上去构造出好的代码了. 本章节主要讲了: * ...

  6. Mac OSX简单使用中会用到的

    选择操作系统(例如选择BootCamp分区的Windows):开机按住Option键直到磁盘图标出现后选择. 忘记本地账号密码:按着Command+R开机选择Recovered启动打开终端输入re ...

  7. 职业生涯手记——电视剧剧情O.O

    很多电视剧.偶像剧.电影里出现过一些场景,从来没想过狗血剧情是来源于现实.. 直到上周一开始,我慢慢相信了.. 事情是这样的. 我们小组有个组员H,从上周一开始他每天都去公司的座机电话接1~2个电话, ...

  8. [整理] webpack+vuecli打包生成资源相对引用路径与背景图片的正确引用

    webpack+vuecli打包生成资源相对引用路径与背景图片的正确引用 https://www.cnblogs.com/moqiutao/p/7496718.html

  9. vue 数据没有驱动视图?

    Part.1  问题 数据改变,视图却没有根据数据而改变. 原因在于,数据并不在 vue 监听范围之内,vue 只对事先在 data 中声明的变量丶对象等类型数据进行监听 Part.2  例子 < ...

  10. redis基础一_常用指令

    # Redis configuration file example. # # Note that in order to read the configuration file, Redis mus ...