5797

公司的服务器环境是我自己搭建的上面的运行软件,php、nginx、MySQL都是我自己编译安装的。刚开始安装的时候没有注意,php-fpm执行的用户名和组都是nginx这个用户。也就是说你服务器上的网站都是nginx这个用户来执行的。而后面我添加了一个www用户组也是www FTP登陆我也使用www这个用户登陆,所以我在ftp上传的文件全部是都是属于www用户和www组的。而一看到wwwyy用户就会觉得这个就是执行网站的用户然后这种固定思维的想法是错的。谁来执行网站完全由服务器管理员说了算。只是一般网站服务器都习惯性的设置www用户为网站执行用户,nginx也好Apache也好都是同样的道理。

Linux nginx服务器网站无写权限问题的图片 1Linux nginx服务器网站无写权限问题的图片 2

然后我在在网页打开发现无法生成网站配置文件或者无法正常使用上传目录,刚开始我的做法就是登陆服务器把网站所在目录弄成所有用户都可以读写执行—chmod 777 uploads

Linux nginx服务器网站无写权限问题的图片 3

但是这样的做法是不合理也不安全的,正确的做法:把php-fpm的执行用户改为www用户,这样是最好的。还有一种就是把nginx加入到www用户组。然后给整个www组的用户读写权限。

Linux系统的权限机制是非常好的。看到网上有人聊天说,刚开始学习Linux的使用直接把整个Linux系统的所有文件的权限全部改成777 真是相当无语。chmod -R 777 /

这样之后这个系统还是Linux系统吗?。。。。。。。所有能用777权限尽量不要用。个人建议。除了少数的temp临时文件之外。发现问题找到问题真正的所在和解决办法。而不是图个简单方便就用chmod 777

转载原创文章请注明,转载自: 罗正荣个人博客 » Linux nginx服务器网站无写权限问题

3条评论

Loading...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  1. Everytime Britney Spears 3:53