Articles of virtualenv

nginx + uwsgi +虚拟环境。 里面有什么?

看起来像一个简单的问题,但我找不到它在任何地方。 我看到的每一个教程都会略有不同,而且我确信我已经看到了两种方法。 在我的开发环境中,python,flask以及我的应用程序的所有其他依赖项都进入了虚拟环境。 在configuration生产环境时,Nginx和uWSGI是否进入虚拟环境? 谢谢!

芹菜和Django,logging芹菜

我正在用django运行芹菜,并且在开发中工作很棒。 但是现在我想让它在我的生产服务器上运行,并且遇到了一些问题。 我的设置如下: Ubuntu的 Nginx的 Vitualenv 暴发户 Gunicorn Django的 我不知道如何现在启动与django的芹菜,当它开始与新贵,它在哪里login? 我在这里开始Django: ~$ cd /var/www/webapps/minamobime_app ~$ source ../bin/activate exec / var / www / webapps / bin / gunicorn_django -w $ NUM_WORKERS \ –user = $ USER –group = $ GROUP –bind = $ IP:$ PORT –log-level = debug \ –log-file = $ LOGFILE 2 >> […]

如何获得Django 1.7的工作在Ubuntu 14.04与Nginx和virtualenv使用Python 2.7而安装了Python 3.4?

我是Django和Python安装的新手。 中级与Ubuntu 14.04。 这些是我的Ubuntu 14.04到目前为止的安装。 apt-get install python3-setuptools –force-yes -y ## for python3 easy_install3 pip ## for python3 apt-get install python-setuptools –force-yes -y ## for python2.7 or above easy_install pip ## for python2.7 or above apt-get install python-dev –force-yes -y ## because ubuntu 14.04 does not have dev version of python 2 apt-get install python3-dev […]

使用virtualenv与nginx和uwsgi的Python Flask路由不是“/”给404s

我有一个简单的Flask应用程序,我试图在nginx和uwsgi后面运行。 当我使用Flask的dev服务器运行应用程序时,一切都按预期工作。 我将浏览器指向localhost:5000和localhost:5000 / hello,然后看“Hi!” 和“你好!”,分别。 但是当我尝试使用uwsgi和nginx运行应用程序时,我可以看到“/”处的路由就好,即我看到“Hi!” 在本地主机上:8181。 但是我在localhost:8181 / hello得到一个404 Not Found的“/ hello”路由。 我尝试添加到不只是“/”的应用程序的任何路线404s。 我的应用程序的文件夹结构如下所示: my_app/ app/ __init__.py venv/ app.py uwsgi.xml 其中__init__.py很简单: import os import sys from flask import Flask, render_template app = Flask(__name__) @app.route('/hello') def hello(): return 'Hello!' @app.route('/') def hi(): return 'Hi!' app.py是: from app import app from flask import Flask if […]

如何设置nginx的环境variables来读取?

我试图设置我的django“SECRET_KEY”在一个环境variables。 我使用virtualenv + virtualenvwrapper的环境。 打完之后 workon mydomain.com 我input export SECRET_KEY=xxxxxx 当我尝试做 echo $SECRET_KEY 我得到我的价值(xxxxxx) 到现在为止还挺好。 但是,当我尝试访问我的网站在浏览器中(使用ngnix和gunicorn),我得到一个错误。 这是我的gunicorn supervisord脚本 [program:gunicorn] directory = /home/<USER>/.virtualenvs/<DOMAIN>/<PROJECT>/ command=/home/<USER>/.virtualenvs/<DOMAIN>/bin/gunicorn <PROJECT>.wsgi:application -c /home/<USER>/.virtualenvs/<DOMAIN>/<PROJECT>/<APP>/gunicorn_conf.py user = <USER> 这是我的gunicorn_conf.py: bind = "127.0.0.1:8000" logfile = "/home/<USER>/logs/gunicorn.log" 这是我的settings.py: def get_env_variable(var_name): try: return os.environ[var_name] except KeyError: error_msg = "Set the %s environment variable" % var_name raise ImproperlyConfigured(error_msg) […]

部署Django,Gunicorn,Nginx,Virtualenv数字海洋给了我502坏门户和Gunicorn不能读密钥

我一直试图部署2天,即使我经历了许多文章,StackOverflow问题和数字海洋教程,似乎我无法使它工作。 我的主要教程是这样的: https : //www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04?comment = 47694#创build-和configuration-A-新的Django项目 当我绑定我的gunicorn文件(见下面的命令),并去my_ip_address :8001一切工作正常 gunicorn –bind 0.0.0.0:8001 vp.wsgi:application 但是在我创build和编辑我的gunicorn.service文件的部分: sudo nano /etc/systemd/system/gunicorn.service [Unit] Description=gunicorn daemon After=network.target [Service] User=tony Group=www-data WorkingDirectory=/home/tony/vp/vp/ ExecStart=/home/tony/vp/vpenv/bin/gunicorn –workers 3 –bind unix:/home/tony/vp/vp/vp.sock vp.wsgi:application [Install] WantedBy=multi-user.target 而我的nginx文件 ( 我用my_ip_addressreplace了我的ip地址以获得隐私 ) sudo nano /etc/nginx/sites-available/vp server { listen 80; server_name my_ip_address; location = /facivon.ico { access_log off; log_not_found off; } […]

如何运行nginx,gevent,virtualenv和django

我找不到一个很好的教程,介绍如何在virtualenv中运行Nginx作为反向代理,http服务器和django。 我发现类似的教程 ,但是它的uWSGI而不是gevent。 任何指针如何使这与gevent工作将不胜感激。 谢谢

Virtualenv:如何使自定义的Python包含由uWSGI托pipe的多组件共享

我有一个复杂的项目设置,由几个一起工作的组件组成。 每个组件都是一个独立的Python项目,作为一个位于Nginx代理之后的uWSGI应用程序托pipe。 这些组件通过代理与外部世界进行交互。 我注意到自己将一些代码从一个组件切换到另一个组件,因为它们执行类似的function,但与不同的服务交互。 显然,我想避免这个问题,所以我将把通用function放到一个单独的“库”项目中,以供不同的组件参考。 我正在虚拟环境中运行这些应用程序(使用virtualenv),所以理论上应该很容易将库项目简单地放到.env / includes中。 但是,我有一个奇怪的设置。 首先,我从/ var / www运行项目(即uWSGI托pipe这里的应用程序),但项目实际上存在于另一个源控制目录中。 出于各种原因,我不想移动它们,所以我为/ var / www中的项目目录创build了符号链接。 这工作正常。 但是,现在我有一个潜在的问题,即我在哪里把库项目(这是目前在与其他组件相同的目录),我也希望符号链接? 我在.env / includes符号链接? 如果是的话,我应该如何从其他组件中引用库? 我是从sys.path引用它还是作为兄弟目录? Nginx / uWSGI与virtualenv符号链接后,考虑到实际的目录,或者是盲目地认为一切都在/ var / www? 我还没有尝试过任何一种方法,因为似乎有一个巨大的问题范围,所以我想先得到一些input。 不用说,我不是有点困惑。

Django uwsgi导入错误

我有一个名为subscribe应用程序的Django项目。 在根urls.py我使用包含从subscribe的urls.py 我把INSTALLED_APPS subscribe和subscribe的urls.py我使用subscribe.views.<name>来呼叫我的意见。 当服务器作为本地python manage.py runserver运行正常。 但是,当服务器运行在nginx + uwsgi与virtualenv,我有ImportError: No module named subscribe 。 当我改变subscribe project.subscribe在INSTALLED_APPS和subscribe的urls.py改变subscribe.views.<name> project.subscribe.views.<name>一切正常。 uwsgiconfiguration: [uwsgi] socket = 127.0.0.1:9003 workers = 2 master = true virtualenv = /home/user/python chdir = /home/user env = DJANGO_SETTINGS_MODULE=project.settings module = django.core.handlers.wsgi:WSGIHandler() daemonize = /home/user/uwsgi.log 为什么我应该使用绝对path导入,以及如何使用virtualenv将其更改为相对于nginx + uwsgi?

Gunicorn和Django与Upstart和Nginx

首先,我有许多Django实例设置和运行。 在每个项目中,我有一个script.sh shell脚本启动gunicorn等: #!/bin/bash set -e LOGFILE=/var/log/gunicorn/app_name.log LOGDIR=$(dirname $LOGFILE) NUM_WORKERS=3 # user/group to run as USER=root GROUP=root PORT=8060 IP=127.0.0.1 cd /var/www/webapps/app_name source ../bin/activate test -d $LOGDIR || mkdir -p $LOGDIR exec /var/www/webapps/bin/gunicorn_django -b $IP:$PORT -w $NUM_WORKERS \ –user=$USER –group=$GROUP –log-level=debug –log-file=$LOGFILE 2>>$LOGFILE 当使用bash script.sh从命令行运行这个脚本时,该站点工作正常,所以Nginx设置正确。 只要我使用服务app_name新贵启动应用程序启动,然后停止。 它甚至不写入日志文件。 这是/etc/init/app_name.conf中的app_name.conf文件: description "Test Django instance" start on runlevel [2345] […]