先简单介绍下uwsgi的几个日志文件,这有助于排查各类问题。
据我观察和我理解的,uwsgin提供的日志文件有这几个:
1.web空间目录下的uwsgin.log,这个会记录启动过程发生的日志,在启动过程中的报错可以到这里查看。
2.web空间目录下的./logs/error.log,这是访问过程中uwsgin将请求转换成程序处理,这个过程出现的错误,会出现在这里。
3.web空间目录下的./logs/access.log,uwsgin转化的访问日志。
我这次出现错误是启动过程的发生的,报错是没有找到XX模块。引发的原因其实很简单,但是最初解决这个问题时困扰了我很长时间。
由于配置Nginx + uwsgi是在网上找到不负责任的教程弄的,虽然uwsgin服务可以正常启动,但是问题百出,解决这些问题,让我对uwsgi有更深入的了解。好了言归正传,说说这次的问题。
在uwsgin启动时报错No module named xxx
那大概是uwsgin配置错了。直接上配置文件uwsgin.ini,咱们边看边说!
[uwsgi]
# uwsgi 启动时所使用的地址与端口 (需要在 nginx 配置匹配)
socket = :8001
#虚拟环境目录 (如果有)
#home = /root/.virtualenvs/env1
#项目目录
pythonpath = /XX/XX/XX/XXX/XXXX/ #**这里是重点,一定要写 程序所在的绝对路径。(如果web空间和程序目录不在一根目录下)**
#指向网站访问根目录
chdir = /data/www
#python启动程序文件
wsgi-file = %(pythonpath)webrun.py #**当然,这里也一样,绝对路径。(如果web空间和程序目录不在一根目录下)****
#python程序内用于启动的application变量名
callable = app
#处理器数
processes = 2
#线程数
threads = 2
pidfile = uwsgi.pid
daemonize = uwsgi.log
python-autoreload=1
ome-prefix-spaced=webproc
#状态监测地址
stats = 127.0.0.1:9191
好了,这样就解决了,一个简单的配置问题。