6

uWSGI と nginx を使用してサンプル django アプリケーションを実行しようとしています。しかし、インポートエラーが発生しています.pyという名前のモジュールはありません. Python パスをどこに追加すればよいかわかりません。

次のコマンドで実行しています。

sudo uwsgi --socket mysite.socket --module wsgi.py --chmod-socket=666. 

パラメータに path を渡そうとしましたが--pythonpath、それでも同じエラーです。

これは私のwsgi.pyがどのように見えるかです

enter code here

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

実行しようとすると、次のメッセージが表示されます

ubuntu@ubuntu1204desktopi386:/usr/local/lib/python2.7/site-packages/mysite/mysite
$ sudo uwsgi --socket mysite.socket --module wsgi.py --chmod-socket=666 
*** Starting uWSGI 1.9.18.1 (32bit) on [Mon Oct 14 13:15:19 2013] ***
compiled with version: 4.6.3 on 13 October 2013 02:53:51
os: Linux-3.5.0-23-generic #35~precise1-Ubuntu SMP Fri Jan 25 17:15:33 UTC 2013
nodename: ubuntu1204desktopi386
machine: i686
clock source: unix
pcre jit disabled
detected number of CPU cores: 1
current working directory: /usr/local/lib/python2.7/site-packages/mysite/mysite
detected binary path: /usr/local/bin/uwsgi
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) *** 
*** WARNING: you are running uWSGI without its master process manager ***
your processes number limit is 3846
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to UNIX address mysite.socket fd 3
Python version: 2.7.3 (default, Sep 26 2013, 20:26:19)  [GCC 4.6.3]
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0x9644d68
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 64024 bytes (62 KB) for 1 cores
*** Operational MODE: single process ***
ImportError: No module named py
unable to load app 0 (mountpoint='') (callable not found or import error)
*** no app loaded. going in full dynamic mode ***
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI worker 1 (and the only) (pid: 2311, cores: 1)
4

3 に答える 3

4

このように --wsgi-file wsgi.py も使用できると思います

 $ uwsgi --socket 127.0.0.1:8000 --wsgi-file my_proj/wsgi.py

同じフォルダーからコマンドを実行していることを確認してください

于 2013-10-15T16:12:03.980 に答える
2

python manage.py runserver 0.0.0.0:8024うまく機能することができれば、

これも機能します(上記のコマンドと同じディレクトリで実行します):

uwsgi --http :8024 --module mysite.wsgi

mysiteこのdjangoプロジェクトの名前です

uwsgi のバージョンは2.0.14; ジャンゴ版は1.10

参照: https://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html

于 2016-10-10T02:30:28.083 に答える