【问题标题】:Multiple PHP Pools for SAME User - Nginx Upstream on Debian同一用户的多个 PHP 池 - Debian 上的 Nginx 上游
【发布时间】:2017-07-15 14:09:49
【问题描述】:

我正在尝试使用套接字利用 nginx 上游,但在我的日志中收到错误:

connect() to unix:/var/run/user_fpm2.sock failed (2: No such file or directory) while connecting to upstream

我可能会解决这个问题并寻求一些建议/意见。

这是 nginx 配置块:

upstream backend {
    server unix:/var/run/user_fpm1.sock;
    server unix:/var/run/user_fpm2.sock;
    server unix:/var/run/user_fpm3.sock;
}

还有:

location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_pass backend;
        fastcgi_index index.php;
        include fastcgi_params;
}

然后,我在 /etc/php/7.0/fpm/pool.d/ 有 3 个 PHP 池,看起来与下面的几乎相同。池之间的唯一区别是 _fpm1、_fpm2 和 _fpm3 以匹配上游块。

[user]

listen = /var/run/user_fpm1.sock
listen.owner = user
listen.group = user
listen.mode = 0660
user = user
group = user
pm = ondemand
pm.max_children = 200
pm.process_idle_timeout = 30s
pm.max_requests = 500
request_terminate_timeout = 120s
chdir = /
php_admin_value[session.save_path] = "/home/user/_sessions"
php_admin_value[open_basedir] = "/home/user:/usr/share/pear:/usr/share/php:/tmp:/usr/local/lib/php"

我注意到 /var/run 始终只有 user_fpm3.sock 文件。

我做错了吗?是否有可能使这个上游配置工作?欢迎所有建议和批评。

我在 Debian Jessie 上使用 nginx 1.10.3 运行 PHP7 - 服务器有 6 个 CPU 和 12GB RAM。

提前致谢。

更新:我自己想出了答案,但留下问题以防其他人尝试做同样的事情,或者有办法进一步优化。

我只需将池名称更改为 [user_one]、[user_two] 和 [user_three]

【问题讨论】:

  • 您好,您应该创建一个答案,然后自己接受。这样,您的帖子将被标记为“已回答”,并且会更有帮助。 :)

标签: php nginx debian


【解决方案1】:

更改每个 PHP 池的名称可以解决问题,如下所示:

[user_one]

[user_two]

[user_three]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-19
    • 2015-07-22
    相关资源
    最近更新 更多