标签: mod-wsgi

我试图让Flask运行时看到了什么问题?(mod_wsgi + virtualenv)

我有一个运行全新安装的Ubuntu 10.04 LTS的VPS.我正在尝试使用Flask微框架设置一个实时应用程序,但它给了我麻烦.当我试图让它运行时我记笔记,这是我的逐个播放,以确定我出错的确切位置.

安装

http://flask.pocoo.org/docs/installation/#installation

$ adduser myapp
$ sudo apt-get install python-setuptools
$ sudo easy_install pip
$ sudo pip install virtualenv

/home/myapp/
-- www/

$ sudo pip install virtualenv

/home/myapp/
-- www/
-- env/

$ . env/bin/activate
$ easy_install Flask
Run Code Online (Sandbox Code Playgroud)

mod_wsgi的

http://flask.pocoo.org/docs/deploying/mod_wsgi/

$ sudo apt-get install apache2
$ sudo apt-get install libapache2-mod-wsgi
Run Code Online (Sandbox Code Playgroud)

创建WSGI文件

$ nano /home/myapp/www/myapp.wsgi

--myapp.wsgi contents:--------------------------
activate_this = '/home/myapp/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
from myapp import app as application

/home/myapp/
-- www/
     -- myapp.wsgi
-- env/
Run Code Online (Sandbox Code Playgroud)

配置Apache

$ nano …
Run Code Online (Sandbox Code Playgroud)

python mod-wsgi apache2 virtualenv flask

13
推荐指数
1
解决办法
6267
查看次数

在Windows 7上运行的WAMP服务器上安装mod_wsgi

我从apache 2.2和python 2.7(64bit)的以下位置下载了mod_wsgi .(我想让django在我的电脑上运行).

每当我添加以下行:

LoadModule wsgi_module modules/mod_wsgi.so
Run Code Online (Sandbox Code Playgroud)

Apache无法启动.谁能告诉我这个问题可能是什么?

python apache mod-wsgi wamp windows-7

13
推荐指数
1
解决办法
3万
查看次数

mod_wsgi用于正确版本的python3

我在Ubuntu 12.04 LTS上设置一个Django服务器,我在使用正确版本的python安装mod-wsgi时遇到问题.我用python 3.3在本地构建了我的站点,Ubuntu 12.04与python 3.2捆绑在一起.我想我可以,但宁愿不只是使用3.2而不是3.3,所以我在3.2旁边安装了python 3.3.除了mod-wsgi之外,我为python 3.3安装了所有东西.

在运行python3.3的本地机器上安装libapache2-mod-wsgi-py3sudo apt-get install libapache2-mod-wsgi-py3安装python3.3.但是在Ubuntu服务器上,运行相同的代码会为python3.2安装它,以便Web服务器运行3.2并且找不到django.

有没有办法禁用python3.2,或指向脚本为python 3.3安装它?

编辑:经过深入研究,python3.2没有与ubuntu捆绑在一起,而是与libapache2-mod-wsgi-py3一起安装

ubuntu mod-wsgi ubuntu-12.04

13
推荐指数
1
解决办法
1万
查看次数

在Ubuntu上为Python3安装mod_wsgi

任何人都可以给我一个明确的说明,在Ubuntu for Python 3上安装mod_wsgi吗?

我确实使用Python3成功地获得了Flask和mod_wsgi,并且在短时间内感到高兴.

...直到我查看Apache的日志并意识到我遇到了这个问题:https://askubuntu.com/questions/569550/assertionerror-using-apache2-and-libapache2-mod-wsgi-py3-on- Ubuntu的14-04的Python

apt-get正在安装过时的版本,libapache2-mod-wsgi-py3这会导致Apache日志中的错误. (我应该报告这个,如果是这样的话?)

在链接中,工程师正在使用pip安装更新版本.

有趣的是,他似乎将其安装到虚拟Python3环境中.(这与使用系统有什么不同pip3吗?)

他也使用pip3 install mod_wsgi,但pip3 search mod_wsgi返回:

(编辑:不,他没有,他使用pip而不是pip3.这可能是正确的吗?他的电线是否交叉?是不是要忽略他在py3venv中并简单地使用系统的py2安装的事实?但无论如何,这并不能解决困惑...)

mod_wsgi-metrics          - Metrics package for Apache/mod_wsgi.
cykooz.recipe.pastewsgi   - Buildout recipe to create paste.deploy entry points for mod_wsgi or uwsgi
mod_wsgi-httpd            - Installer for Apache httpd web server.
apachemiddleware          - Useful Python middleware for use with mod_wsgi deployments
tranchitella.recipe.wsgi  - Buildout recipe to create paste.deploy entry points for mod_wsgi
mod_wsgi …
Run Code Online (Sandbox Code Playgroud)

ubuntu mod-wsgi pip virtualenv python-3.x

13
推荐指数
2
解决办法
2万
查看次数

名称重复以前的WSGI守护程序定义

我正在更改网站的域名.在一段时间内,我希望旧域名和新域名指向该站点.我正在运行一个Python Django站点.

我最初的Apache2 conf工作正常,基础是:

<VirtualHost *:80>
        ServerAdmin name@gmail.com
        ServerName originalsite.co.uk
        ServerAlias www.originalsite.co.uk
        DocumentRoot /var/www/originalsite
        WSGIDaemonProcess originalsite python-path=/var/www/originalsite:/var/www/originalsite/env/lib/python2.7/site-packages
        WSGIProcessGroup originalsite
        WSGIScriptAlias / /var/www/originalsite/originalsite/wsgi.py
        ...
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我设置了一个新的conf文件,只有以下更改:

    ServerName newsite.co.uk
    ServerAlias www.newsite.co.uk
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

名称重复以前的WSGI守护程序定义.

我该如何解决?谢谢你的帮助

python apache django mod-wsgi

13
推荐指数
3
解决办法
8163
查看次数

Django Apache重定向问题

我正在使用mod_wsgi将我的Django项目配置为在Apache上运行.我试图在apache上的'cflow'目录下运行Django,但是遇到重定向问题.

我的apache conf看起来像这样:

...
WSGIScriptAlias /cflow "C:\Program Files\Apache Software Foundation\Apache2.2\wsgi\django.wsgi"
<Directory "C:\Program Files\Apache Software Foundation\Apache2.2\wsgi">
    Order allow,deny
    Allow from all
</Directory>
<Directory "C:\Projects\myproject\src">
    Order allow,deny
    Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,如果用户未登录,则会将/cflow/somepage.html的请求重新发送到/accounts/login?next=/cflow/somepage.html.这个新地址不在django root(cflow)之下,因此apache以404 Not Found响应.

我的问题是如何将Django重定向映射到apache上的应用程序根目录下?即我如何使/ accounts/...页面改为/ cflow/accounts/...?

谢谢你的帮助.

apache django redirect mod-wsgi

12
推荐指数
1
解决办法
1万
查看次数

多个django项目,mod_wsgi,单域

我有两个不同的Django"项目",我想使用mod_wsgi在单个域上运行.使用mod_python,我相信有一种方法可以做到这一点,其中某些url路径将映射到一个Django项目,而其他路径映射到另一个项目,所有这些都在服务器级别.

是否可以使用mod_wsgi执行此操作,如果是,如何执行此操作?

我考虑过的事情:Apache虚拟主机描述中的内容,application.wsgi文件中的内容等等.但我还没弄清楚具体如何做到这一点.

谢谢!

django mod-wsgi

12
推荐指数
2
解决办法
3125
查看次数

使用mod_wsgi时如何写入apache日志文件

我有一个Django项目,我使用标准库日志记录模块记录到一个文件.出于各种原因,我想更改它以便写入Apache日志文件.我已经看过很多关于如何使用mod_python进行讨论的讨论,但不是mod_wsgi.如何在mod_wsgi下运行的项目中执行此操作?

python apache logging mod-wsgi

12
推荐指数
1
解决办法
3110
查看次数

在Apache上使用Django和mod_wsgi的多个站点

我目前正在使用两个Django应用程序(说A&B)通过Apache托管在同一个域上(但在不同的端口上提供服务).我相信我的设置是正确的,但我在两个网站上随机获得500.500 on A(例如)发生在请求被提供之后B(反之亦然).

在检查错误日志(都说A例如),我看到A的WSGI模块试图访问Bsettings.py文件(这显然不会发生在那里,因为项目路径是不同的),这确实发生了另外,B的wsgi引发了一个例外,抱怨缺少A的settings.py文件].我不确定他们为什么要查找其他设置文件,所有视图的导入(对于settings.py)都是特定于各个项目的.

这是我的设置:

A正在港口服务8080,B正在港口服务80.

虚拟主机:

<VirtualHost *:8080>

  ServerAdmin x@x.net
  ServerName  string1

  Alias /static/ /home/PATH_TO_PROJECT_A/static/

  <Directory /home/PATH_TO_PROJECT_A/static>
  Order deny,allow
  Allow from all
  </Directory>

  WSGIScriptAlias / /home/PATH_TO_PROJECT_A/wsgi.py

  <Directory /home/PATH_TO_PROJECT_A>
  <Files wsgi.py>
  Order deny,allow
  Allow from all
  </Files>
  </Directory>


  LogLevel warn
  ErrorLog  /SOME_PATH/errorA.log
  CustomLog /SOME_PATH/accessA.log combined
</VirtualHost>


<VirtualHost *:80>
  ServerName string1
  ServerAdmin x@x.net

  Alias /APP_B/static/ /home/PATH_TO_PROJECT_B/static/

  <Directory /home/PATH_TO_PROJECT_B/static>
  Order …
Run Code Online (Sandbox Code Playgroud)

apache django mod-wsgi

12
推荐指数
1
解决办法
3229
查看次数

使用virtualenv或Python运行mod_wsgi,其版本与系统默认版本不同

我想让我的Flask应用程序在CentOS服务器上运行.基本上问题是我安装了Python 2.6,/usr/bin其中安装了系统默认和Python 3.4 /usr/local/bin.我想使用Python 3.4 virtualenv或至少Python 3.4解释器来运行我的应用程序mod_wsgi.

我已经创建了virtualenv ~/virtualenvs/flask.

我有这个WSGI脚本:

import os
import sys
from logging import Formatter, FileHandler

APP_HOME = r"/home/fenikso/Album"


activate_this = os.path.join("/home/fenikso/virtualenvs/flask/bin/activate_this.py")
execfile(activate_this, dict(__file__=activate_this))

sys.path.insert(0, APP_HOME)
os.chdir(APP_HOME)

from app import app

handler = FileHandler("app.log")
handler.setFormatter(Formatter("[%(asctime)s | %(levelname)s] %(message)s"))
app.logger.addHandler(handler)
application = app
Run Code Online (Sandbox Code Playgroud)

并在Apache中配置以下:

<VirtualHost *:80>
        ServerName album2.site.cz
        Alias /static "/home/fenikso/Album/static"
        Alias /photos "/home/fenikso/Album/photos"
        Alias /thumbs "/home/fenikso/Album/thumbs"
        WSGIScriptAlias / "/home/fenikso/Album/wsgi.py"
        <Directory "/home/fenikso/Album">
            AllowOverride None
            Allow from all
        </Directory>
        <Directory "/home/fenikso/Album/static">
            AllowOverride None
            Allow from …
Run Code Online (Sandbox Code Playgroud)

python apache mod-wsgi flask

12
推荐指数
1
解决办法
1万
查看次数