猫/etc/security/limits.d/nofile.conf

猫/etc/security/limits.d/nofile.conf

我使用的服务器是 Centos 7 和 nginx,PHP5.4。我托管 Magento,一切运行良好。现在我只需删除已安装的 PHP5.4,然后安装 PHP7,并更改所有需要的内容

listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx 
listen.group = nginx
user = nginx 
group = nginx

我还使用 setenforce 0 将 SELINUX 设置为 permissive。需要注意的是,安装 PHP5.4 时,必须遵循该教程https://www.cloudinsidr.com/content/troubleshooting-php-7-tcp-sockets-with-selinux-on-centos-7-rhelfedora/让 php-fpm 工作,否则我会收到禁止错误。

现在安装 PHP7 并更改所有需要的内容后,如果我运行

sudo cat /var/log/nginx/error.log

2016/08/10 13:15:54 [alert] 2118#2118: setrlimit(RLIMIT_NOFILE, 100000) failed (1: Operation not permitted)

前端是 502 Bad Gateway。所以我认为这可能是与 PHP5.4 相同的问题,所以我再次执行了该教程。但问题仍然没有解决。

笔记

我没有更改任何文件夹或文件权限。那么问题出在哪里?

谢谢

答案1

SELinux 太烂了。

但除非您确切知道自己在做什么,否则我不建议禁用它/长时间以非强制方式运行。

哪里有问题?

虽然您可能需要花几个月的时间来了解 SELinux 和 Redhat 类型强制策略应该如何工作(我们将跳过它并不总是以这种方式工作的事实)但我希望您正在寻找更快的解决方案。

反而:

  • 向 NSA 和 Redhat 的 SELinux 维护者献上小小的血祭
  • 重新标记所有内容 ( touch /.autorelabel ; reboot)
  • 通过命令行将其设置为非强制(setenforcing 0)
  • 尝试对系统的所有功能进行回归测试
  • 使用 audit2allow 创建例外策略
  • 启用策略
  • 再次发出强制令
  • 定期重复上述步骤

或者重新格式化您的服务器,安装 OpenSuse 或 Ubuntu 并使用 Apparmor。

答案2

尝试这个 :

猫/etc/security/limits.d/nofile.conf

  • 软文件 10000
  • 硬文件 1000000

相关内容