django 和 uwsgi 配置问题
django and uwsgi configuration issues
我正在尝试让 django 项目与 uswgi 和 virtualenv 一起工作
我对一些参数的位置和守护进程的输出感到困惑
到目前为止这是我的配置
**[uwsgi]
socket=172.26.1.87:8000
chdir=/home/bischofs/1065/1065-Calculation-Tool/TestSite/
module=TestSite.wsgi:application
master=True
pidfile=/tmp/project-master.pid
vacuum=True
max-requests=5000
#daemonize=/var/log/uwsgi/TestSite.log
virtualenv=/home/bischofs/1065/python3.4/% **
我的问题是当我加载它时我得到
Python version: 2.7.8 (default, Oct 20 2014, 15:08:52) [GCC 4.9.1]
Set PythonHome to /home/bischofs/1065/python3.4/
*** Python threads support is disabled. You can enable it with -- enable-threads ***
Python main interpreter initialized at 0xfcd820
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
即使我 运行 python3.4 在 virtualenv 中,为什么没有选择正确的解释器和库?
我也收到了
*** Operational MODE: single process ***
ImportError: No module named TestSite.wsgi
即使我有一个正确生成的 wsgi.py 文件
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "TestSite.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
这让我觉得我将 ini 文件指向了错误的目录。
uswgi 文档不清楚应该指向哪个目录。它只是说 /path/to/your/project。这是否意味着包含 settings.py 文件的目录?还是上面的目录?
我用过这个配置 - 一切都很好。
[uwsgi]
chdir=/var/www/prj_name
home=/home/uwsgi/.virtualenvs/prj_name/
pythonpath=/var/www/prj_name
env=DJANGO_SETTINGS_MODULE=prj_name.settings
module=prj_name.wsgi:application
socket=127.0.0.1:3001
master=True
vacuum=True
max-requests=5000
threads = 20
enable-threads = True
buffer-size = 8192
logger = file:/var/logs/prj_name/uwsgi.log
顺便看看virtualenvwrapper and gunicorn。这个包可以在日常开发中给你很大的帮助。
uWSGI 是一个链接到特定 python 库(如 apache+mod_wsgi)的二进制应用程序。 运行 它在 virtualenv 中只改变它对 python 模块的看法,而不是它所链接的 python 库。当您使用 ubuntu 包时,您只需要为 python 3 安装插件(并使用 plugin = python3 加载它)。否则激活您的 virtualenv 和 pip install uwsgi 以获得与 virtualenv 特定 python 库链接的整体版本。
我正在尝试让 django 项目与 uswgi 和 virtualenv 一起工作
我对一些参数的位置和守护进程的输出感到困惑
到目前为止这是我的配置
**[uwsgi]
socket=172.26.1.87:8000
chdir=/home/bischofs/1065/1065-Calculation-Tool/TestSite/
module=TestSite.wsgi:application
master=True
pidfile=/tmp/project-master.pid
vacuum=True
max-requests=5000
#daemonize=/var/log/uwsgi/TestSite.log
virtualenv=/home/bischofs/1065/python3.4/% **
我的问题是当我加载它时我得到
Python version: 2.7.8 (default, Oct 20 2014, 15:08:52) [GCC 4.9.1]
Set PythonHome to /home/bischofs/1065/python3.4/
*** Python threads support is disabled. You can enable it with -- enable-threads ***
Python main interpreter initialized at 0xfcd820
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
即使我 运行 python3.4 在 virtualenv 中,为什么没有选择正确的解释器和库?
我也收到了
*** Operational MODE: single process ***
ImportError: No module named TestSite.wsgi
即使我有一个正确生成的 wsgi.py 文件
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "TestSite.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
这让我觉得我将 ini 文件指向了错误的目录。
uswgi 文档不清楚应该指向哪个目录。它只是说 /path/to/your/project。这是否意味着包含 settings.py 文件的目录?还是上面的目录?
我用过这个配置 - 一切都很好。
[uwsgi]
chdir=/var/www/prj_name
home=/home/uwsgi/.virtualenvs/prj_name/
pythonpath=/var/www/prj_name
env=DJANGO_SETTINGS_MODULE=prj_name.settings
module=prj_name.wsgi:application
socket=127.0.0.1:3001
master=True
vacuum=True
max-requests=5000
threads = 20
enable-threads = True
buffer-size = 8192
logger = file:/var/logs/prj_name/uwsgi.log
顺便看看virtualenvwrapper and gunicorn。这个包可以在日常开发中给你很大的帮助。
uWSGI 是一个链接到特定 python 库(如 apache+mod_wsgi)的二进制应用程序。 运行 它在 virtualenv 中只改变它对 python 模块的看法,而不是它所链接的 python 库。当您使用 ubuntu 包时,您只需要为 python 3 安装插件(并使用 plugin = python3 加载它)。否则激活您的 virtualenv 和 pip install uwsgi 以获得与 virtualenv 特定 python 库链接的整体版本。