我试图在虚拟主机上运行CentOS 7,使用Virtualenv、Circus和chaus结运行Django,但是当我运行circusd circus.ini时,我一直收到这个错误。
(djenv)[root@localhost django]# circusd circus.ini
2014-09-01 22:06:38 circus[2406] [INFO] Starting master on pid 2406
2014-09-01 22:06:38 circus[2406] [INFO] sockets started
2014-09-01 22:06:38 circus[2406] [WARNING] error in 'settings': [Errno 2] No such file or directory: '~/.virtualenv/djenv/bin/chaussette'
2014-09-01 22:06:38 circus[2406] [WARNING] error in 'settings': [Errno 2] No such file or directory: '~/.virtualenv/djenv/bin/chaussette'
2014-09-01 22:06:38 circus[2406] [WARNING] error in 'settings': [Errno 2] No such file or directory: '~/.virtualenv/djenv/bin/chaussette'
2014-09-01 22:06:38 circus[2406] [WARNING] error in 'settings': [Errno 2] No such file or directory: '~/.virtualenv/djenv/bin/chaussette'
2014-09-01 22:06:38 circus[2406] [WARNING] error in 'settings': [Errno 2] No such file or directory: '~/.virtualenv/djenv/bin/chaussette'
2014-09-01 22:06:38 circus[2406] [INFO] settings stopped
2014-09-01 22:06:38 circus[2406] [INFO] Arbiter now waiting for commands
2014-09-01 22:06:38 circus[2406] [INFO] circusd-stats started
2014-09-01 22:06:38 circus[2415] [INFO] Starting the stats streamer
# Here i close circusd with ctrl+c
2014-09-01 22:19:40 circus[2406] [INFO] Got signal SIG_INT
2014-09-01 22:19:40 circus[2406] [INFO] Arbiter exiting
2014-09-01 22:19:41 circus[2406] [INFO] circusd-stats stopped
Exception ignored in: <module 'threading' from '/usr/local/lib/python3.4/threading.py'>
Traceback (most recent call last):
File "/usr/local/lib/python3.4/threading.py", line 1294, in _shutdown
t.join()
File "/usr/local/lib/python3.4/threading.py", line 1057, in join
raise RuntimeError("cannot join current thread")
RuntimeError: cannot join current thread我的django项目的路径是/opt/webapps/django/.这就是这条道路的结构:
(FYI:设置是我给django项目起的名字)
/django/
/django/manage.py
/django/circus.ini
/django/settings/
/django/settings/urls.py
/django/settings/wsgi.py
/django/settings/settings.py通向我的虚拟环境的路径是:~/.virtualenv/djenv/.这是该路径的结构(bin):
/djenv/
/djenv/bin/
/djenv/bin/circusd
/djenv/bin/chaussette
/djenv/bin/circushttpd
/djenv/bin/python3.4
/djenv/bin/pipmy circus.ini的内容如下:
[circus]
endpoint = tcp://127.0.0.1:5555
pubsub_endpoint = tcp://127.0.0.1:5556
stats_endpoint = tcp://127.0.0.1:5557
[watcher:settings]
cmd = ~/.virtualenv/djenv/bin/chaussette django:/opt/webapps/django --fd $(circus.sockets.settings)$ --django-settings settings.settings
use_sockets = True
numprocesses = 3
[socket:settings]
host = 0.0.0.0
port = 8080发布于 2014-09-02 09:50:54
所以我终于找到了解决办法。这就是我所做的。
首先,我将我的circus.ini更改为:
[circus]
endpoint = tcp://127.0.0.1:5555
pubsub_endpoint = tcp://127.0.0.1:5556
stats_endpoint = tcp://127.0.0.1:5557
[watcher:settings]
cmd = /root/.virtualenvs/djenv/bin/chaussette settings.wsgi.application
args = --fd $(circus.sockets.settings)
use_sockets = True
numprocesses = 3
copy_env = True
virtualenv = /root/.virtualenvs/djenv/
[socket:settings]
host = 0.0.0.0
port = 8080因为我在python 3.4.1中运行这个马戏团,所以我得到了另一个错误:
OSError: [Errno 9] Bad file descriptor为了找到解决这个问题的方法,我找到了这个修复https://github.com/mozilla-services/circus/pull/800/files
希望这对其他人有帮助。
发布于 2016-03-23 21:54:39
这个答复是太迟,但可能会对其他人有用。现在与python3.4和django1.9一起工作
这是我的/etc/马戏团/马戏团。
[circus]
check_delay = 5
include_dir = /etc/circus/conf.d
logoutput = /var/log/circus/system.log
statsd = True
[plugin:flapping]
use = circus.plugins.flapping.Flapping还有我的项目/etc/马戏团/conf.d.D/Project.ini
[project_name]
cmd = chaussette project_name.wsgi.application --backend waitress --fd $(circus.sockets.project_name)
use_sockets = True
virtualenv = /path/to/env # if you are using virtualenv
working_dir = /path/to/project
copy_env = True
stdout_stream.class = FileStream
stdout_stream.filename = /path/to/logs/stdout.log
stdout_stream.refresh_time = 0.3
stderr_stream.class = FileStream
stderr_stream.filename = /path/to/logs/error.log
stderr_stream.refresh_time = 0.3
[project_name]
PYTHONPATH = /path/to/project
[socket:project_name]
host = localhost
port = 8000注意/path/to/log/和/var/log/ Take /system.log上的权限。目录应该存在。
https://stackoverflow.com/questions/25615292
复制相似问题