尝试在我的 Debian 6 服务器上部署一个简单的龙卷风应用程序。我已经使用 pip 安装了龙卷风,现在它在:
/usr/local/lib/python2.6/dist-packages/tornado
此外,我在执行 myapp.py 的 myuser 的 .bashrc 上手动添加了 tornado 的路径:
PYTHONPATH=/usr/local/lib/python2.6/dist-packages/tornado:/usr/local/lib/python2.6/dist-packages/tornado:/usr/local/lib/python2.6/dist-packages
myuser 是 www-data 组的成员。
我在 /var/log/tornado.log 中得到这个恼人的错误:
File "/path/to/myapp.py", line 1, in <module>
import tornado.httpserver, tornado.ioloop, tornado.options, tornado.web, os.path, random, string
ImportError: No module named tornado.httpserver
supervisor.conf 是这样的:
[group:tornadoes]
programs=tornado-8000,tornado-8001,tornado-8002,tornado-8003
[program:tornado-8000]
command=python /path/to/myapp.py --port=8000
directory=/path/to
user=www-data
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/tornado.log
loglevel=info
[program:tornado-8001]
command=python /path/to/myapp.py --port=8001
directory=/path/to
user=www-data
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/tornado.log
loglevel=info
[program:tornado-8002]
command=python /path/to/myapp.py --port=8002
directory=/path/to
user=www-data
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/tornado.log
loglevel=info
[program:tornado-8003]
command=python /path/to/myapp.py --port=8003
directory=/path/to
user=www-data
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/tornado.log
loglevel=info
具有讽刺意味的是,具有相同配置(aprat 形式 /path/to/myapp.py 和文件所有者)的相同应用程序在另一个 Debian 测试服务器上部署得很好。真的很困惑并感谢您的提示。