Rootop 服务器运维与web架构

nginx加nextcloud重复跳转到登录页面

nextcloud文档中关于nginx的配置:https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html

原先环境为apache+php-fpm,现在将apache替换为nginx。

nginx和php运行用户已经修改为 www 用户(原先为apache)。

问题现象:
登录nextcloud又跳转回登录页面。

php-fpm是使用了remi源安装

网上说可能是session目录权限问题,根据此线索排查。
开始修改了php.ini

[root@localhost ~]# cat /etc/opt/remi/php73/php.ini | grep session.save_path | grep -Ev "^;|^$"
session.save_path = "/var/lib/php/session"

初始值是/tmp 目录,以为www用户没有权限写入,就改了个目录并赋予www用户权限,还是要重复登录。

查看www.conf配置文件发现这里的参数是另一个目录,这里的优先级高于php.ini,所以上面的改动是无效的。

[root@localhost ~]# cat /etc/opt/remi/php73/php-fpm.d/www.conf | grep session
php_value[session.save_handler] = files
php_value[session.save_path]    = /var/opt/remi/php73/lib/php/session

将 /var/opt/remi/php73/lib/php/session 此目录属主属组改为www即可。或者指定其他目录并设置权限。

问题原因就是php运行用户www没有对此目录写入权限,就无法创建服务端的session文件。

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/5257.html

作者:Venus

服务器运维与性能优化

评论已关闭。