gpt4 book ai didi

python - 主管无法在共享主机上启动

转载 作者:太空宇宙 更新时间:2023-11-04 03:40:20 25 4
gpt4 key购买 nike

我正在尝试使用 Laravel 4 设置实时聊天应用程序,如下所述:https://xuri.me/2014/09/08/laravel-4-real-time-chat.html

我在 Hostmonster 上有一个共享主机帐户,有一个专用 IP 地址。我可以通过 SSH 进入 Web 服务器并使用 Artisan 命令启动 BrainSocket Ratchet WebSocket 服务器,在端口 8080 上运行它。但是,Hostmonster 的 PHP 进程超时为 2 小时。

我可以通过运行 Artisan 命令以使用 Supervisor 作为 PHP 守护进程启动 WebSocket 服务器来避免这种情况。如果 Supervisor 停止,它也会自动重启 WebSocket 服务器。我的目标是使用如下方式让 WebSocket 服务器与 Supervisor 一起运行:https://xuri.me/2014/09/09/run-brainsocket-laravel-artisan-command-in-supervisor.html

我使用此方法成功安装了 Python (2.7.8)。我使用 easy_install 方法使用 Setuptools 安装了 Supervisor。我测试了 Supervisor 在 Python 中安装成功。我创建了一个 Supervisor 配置文件 (supervisord.conf)。

显示 Python bindir 和 pythonpath 的 .bashrc 文件的一部分:

导出 PYTHONPATH=$HOME/python/lib/python2.7/site-packages:$PYTHONPATH
导出 PATH=$HOME/python/bin:$PATH

当我在 Python bindir 中输入“supervisord”命令时,Supervisor 无法启动并出现以下错误:

追溯(最近一次调用): 文件“/home3/thecdeor/python/bin/supervisord”,第 9 行,位于 load_entry_point('supervisor==3.1.3', 'console_scripts', 'supervisord')()
文件“/home3/thecdeor/python/lib/python2.7/site-packages/supervisor-3.1.3-py2.7.egg/supervisor/supervisord.py”,第 366 行,在 main go(options)
文件“/home3/thecdeor/python/lib/python2.7/site-packages/supervisor-3.1.3-py2.7.egg/supervisor/supervisord.py”,第 376 行,在 go d.main()
文件“/home3/thecdeor/python/lib/python2.7/site-packages/supervisor-3.1.3-py2.7.egg/supervisor/supervisord.py”,第 70 行,主要 rlimit_messages = self.options.set_rlimits ()
文件“/home3/thecdeor/python/lib/python2.7/site-packages/supervisor-3.1.3-py2.7.egg/supervisor/options.py”,第 1316 行,在 set_rlimits self.usage(msg % locals ())
KeyError: 'min'。

我不明白这个错误是什么意思。我在互联网上进行了搜索,试图找出答案,但似乎没有其他人遇到此错误。

当我在 Python bindir 文件夹中输入“supervisorctl”命令时,出现以下错误:

unix:///home3/thecdeor/python/bin/tmp/supervisor.sock 没有那个文件

我对这些错误感到困惑。谁能帮忙?如果我目前的声誉允许我这样做,我会发布更多链接。如果您需要更多服务器信息或任何其他信息,请告诉我。我以前从未在 StackOverflow 上发过帖子,也从来没有遇到过这样的问题,所以我不太确定要发布什么信息以及发布多少信息。

最佳答案

我遇到了同样的问题,结果证明是主管可以在我的系统中创建的最大进程数的问题。此数字在 supervisor.confsupervisord 部分定义的参数 minprocs 中指定。

默认情况下,主管将此参数设置为 200,在我的例子中,它表示某个进程可以在我的系统中创建的进程的硬限制。因此,调用函数:resource.setrlimit(resource, limits) 在类 ServerOptions 的方法 set_rlimits 中定义Options 模块(options.py 文件)引发异常 ValueError

解决方案。错误消息的信息量不大,甚至具有误导性。无论如何,为了解决这个问题,我只是将主管可以在我的系统中创建的最大进程数减少了一半。

minprocs=100 ; (最小可用进程描述符;默认 200)

有关更多信息,您可以查看 documentation python的资源模块。

关于python - 主管无法在共享主机上启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26813434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com