道招

用nginx架设wordpress提示上传文件失败,无权限

如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!

用nginx架设wordpress提示上传文件失败,无权限

网上一般解决方案都只是简单说文件没有执行权限,需要设置为755权限。实际上在使用nginx来作为服务器来使用wordpress的时候,需要用到php-fpm来解析php,默认用户是apache,而我们利用ssh登录vps时一般都是用的root权限,所以我们在用apache用户来写入root权限的文件夹,肯定会提示没有权限的啊。

我们在升级php的时候很可能会重新把php-fpm的用户设置为默认的apach,这时候就跟nginx不一致了。 我们可以这样查看进程的权限 查看nginx的进程

ps -ef | grep nginx

nginx    15095 15094  0 14:00 ?        00:00:01 php-fpm: pool www
nginx    15096 15094  0 14:00 ?        00:00:01 php-fpm: pool www
nginx    15097 15094  0 14:00 ?        00:00:01 php-fpm: pool www
nginx    15098 15094  0 14:00 ?        00:00:01 php-fpm: pool www
nginx    15099 15094  0 14:00 ?        00:00:01 php-fpm: pool www
root     22719     1  0 17:22 ?        00:00:00 gedit /etc/nginx/nginx.conf

查看php-fpm进程 ps aux|grep php-fpm

root     27478  0.0  1.1 375840 23484 ?        Ss   09:30   0:00 php-fpm: master process (/etc/php-fpm.conf)
apache   27480  0.4  2.3 486932 48096 ?        S    09:30   0:01 php-fpm: pool www
apache   27481  0.4  2.1 401412 43492 ?        S    09:30   0:00 php-fpm: pool www
apache   27482  0.3  2.0 398912 41208 ?        S    09:30   0:00 php-fpm: pool www
apache   27483  0.3  2.3 486788 47960 ?        S    09:30   0:00 php-fpm: pool www
apache   27484  0.2  1.9 397188 39396 ?        S    09:30   0:00 php-fpm: pool www
apache   27487  0.2  1.9 397188 39396 ?        S    09:30   0:00 php-fpm: pool www
root     27496  0.0  0.1 112720  2248 pts/2    S+   09:34   0:00 grep --color=auto php-fpm

很明显,我们可以选择将php-fpm的用户由apach改成之前的nginx

vi /etc/php-fpm.d/www.conf

修改其中的user和group那两行

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx

然后重启php-fpm

systemctl restart php-fpm

可以用 ll来查看文件的权限

drwxr-xr-x 5 root root 4096 Aug 21 12:16 wordpress

我们可以简单点,直接把wordpress根目录文件夹及其子文件夹的owner直接改成apache。

chown -R  apache /wordpress

当然,如果你的wp-content必要的执行权限是必须的

chmod 755 /wordpress/wp-content

如果想连用户和用户组全部更改的话

chown -R nginx:nginx  /wordpress
更新时间:
上一篇:GraphQL学习、踩坑记录(三)下一篇:道招网升级故障记录

相关文章

WordPress上传图片出现“图像后期处理失败,请将其缩小到2500像素并重新上传”

今天在上传图片的时候发现了这个报错“图像后期处理失败,请将其缩小到2500像素并重新上传”,如果是英文版的话,就会报错“Post-processing of the image failed. If 阅读更多…

GraphQL学习、踩坑记录(二)

首先网站终于迁移好了,主要做了更换了主机,利用之前在搬瓦工的VPS,那个VPS配置较高,不充分利用实属浪费。之前用的虚拟主机,可玩性不高,唯一欣慰的是支持ssl,能实现全站的https访问。 我把原来 阅读更多…

nginx开启https parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf

安装nginx,一般是安装在/usr/local/nginx nginx基本操作 cd /usr/local/nginx/sbin 启动 ./nginx 关闭 ./ngin 阅读更多…

关注道招网公众帐号
道招开发者二群