标签: mod-wsgi

使用Python 3在wsgi中使用openID

我之前从未做过身份验证,但希望能够通过openID跟踪和验证用户身份.我看到了一些允许使用WSGI进行openID身份验证的模块,但是所有模块都是旧的,没有提到python3,所以我猜它们不起作用.

我想知道如何在WSGI和python3中处理/验证openID.一个简单的实现将不胜感激.

python openid mod-wsgi wsgi python-3.x

10
推荐指数
1
解决办法
486
查看次数

如何使用Apache和mod_wsgi为django网站单独设置LD_LIBRARY_PATH

我在Apache2上使用mod_wsgi在ubuntu上部署我的Django网站.

在我的Django视图中,我导入了一个需要在LD_LIBRARY_PATH中设置特定路径的模块.

当我在/ etc/apache2/envvars中设置LD_LIBRARY_PATH时:

export LD_LIBRARY_PATH=/home/user/target_libdir:$LD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)

有用.

但是,在我的服务器上,我使用独立的wsgi脚本运行多个django网站,每个网站都在独立的VirtualHost条目中.

问题是网站需要使用不同的LD_LIBRARY_PATH版本.

那么,如何为每个django网站单独设置LD_LIBRARY_PATH?

apache django mod-wsgi

10
推荐指数
1
解决办法
3404
查看次数

Windows上的Python和XAMPP:怎么样?

我安装在Win7x64 Xampp和Python 2.7上.

现在我正试图获得Python语言的"力量"......我该怎么做?

我已经尝试过使用mod_python和mod_wsgi但是我的Python版本不存在第一个,当我在安装wsgi后尝试启动Apache时它会给我一个错误

< Directory "\x93C:/wsgi_app\x94"> path is invalid
Run Code Online (Sandbox Code Playgroud)

我在<和'directory'之间添加了一个空格,以使字符串在此处可见.

那么......任何人都知道是否有一些安装这些功能的教程?

或者是否有人能够一步一步地向我解释我该怎么做?

如果我不能解释我,谢谢,抱歉.

如果你需要什么,请问我.

python windows apache xampp mod-wsgi

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

Django/Apache/mod_wsgi:没有名为importlib的模块

在过去两个月与django的开发服务器合作之后,时间终于转移到了apache + mod_wsgi.

问题是,当我访问我的网站(让我们称之为junux),到映射到django应用程序的URL时,事情似乎不起作用.在服务器上运行开发服务器时,事情正常.

错误的底线是在apache error_log中给出的:

ImportError:无法导入设置'junux_site.settings'(是否在sys.path上?):没有名为importlib的模块

我知道这类似于对此事的许多其他问题(有这么多,我甚至不会说出来了这里),但我还没有找到答案.我已经阅读了很多关于转向生产的指南,包括django的部署文档,mod_wsgi的指南,一些pycon演示文稿,并且一直在谷歌上搜索这个问题......

下面有很多有趣和令人兴奋的细节.

任何帮助将不胜感激.提前致谢.


配置:

  • 在CentOS 6上使用mod_wsgi的Apache 2.2.15
  • 从源代码编译的Python 2.7.3
  • 该网站使用virtualenv

这是apache返回的错误页面:

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Apache/2.2.15 (CentOS) Server at junux.net Port 80
Run Code Online (Sandbox Code Playgroud)

apache error_log显示以下信息:

mod_wsgi (pid=22502): Create interpreter 'junux.net|/dev'.
mod_wsgi (pid=22502): Exception occurred processing WSGI script '/var/www/junux_dev/junux_site/wsgi.py'.
Traceback (most recent call last):
  File "/var/www/junux_dev/venv/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 219, in __call__
    self.load_middleware()
  File "/var/www/junux_dev/venv/lib/python2.7/site-packages/django/core/handlers/base.py", line 39, in load_middleware
    for middleware_path in …
Run Code Online (Sandbox Code Playgroud)

apache deployment django mod-wsgi virtualenv

10
推荐指数
1
解决办法
8231
查看次数

你能解释一下mod_wsgi和werkzeug之间更详细的区别吗?(SOS新手)

正如我在标题上所说,我现在对基本了解它们感到非常不舒服.

据我所知,mod_wsgi实现了可以在Apache Web服务器下运行的WSGI规范.

它用C语言编写.

另外一个,werkzeug是一种具有实用功能的工具包.我还评论过werkzeug可以运行在其源代码中实现的简单服务(serve.server在serve.py中).我知道werkzeug具有有用的功能和简单的服务器功能.

我想知道的是下面的内容.

当在Apache Web服务器下使用基于werkzeug的Flask框架时,mod_wsgi到底做了什么?

werkzeug还具有基本的http服务器功能,不需要支持mod_wsgi.

任何人都可以解释mod_wsgi和werkzeug之间的区别吗?

mod_wsgi和werkzeug从Web服务器的角度来看具有重复的功能.

python mod-wsgi wsgi werkzeug

10
推荐指数
2
解决办法
5387
查看次数

mod_wsgi工作目录和用户

我在mod_wsgi上运行烧瓶.我的烧瓶应用程序,它正在/var/www/app接收来自用户的一些文件并将其保存到/var/www/app/tmp目录.然而,即使在所有chmod和chown(认为这是一个权限问题)之后,我也无法访问该tmp目录.

经过一些调试后,我发现烧瓶应用程序的当前工作目录是/.我可以通过更改工作目录os.chdir('/var/www/'),但出于安全考虑,我想避免这样做.

这是我的apache配置:

<VirtualHost *:80>
    ServerName mysite.com
    ServerAlias site.com
    ServerAdmin admin@localhost

    WSGIDaemonProcess app user=www-data group=www-data processes=1
    WSGIScriptAlias / /var/www/app.wsgi

    Alias /static /var/www/app/static

    <Directory /var/www/app>
        WSGIProcessGroup app
        WSGIApplicationGroup %{GLOBAL}
        WSGIScriptReloading On
        Order deny,allow
        Allow from all
    </Directory>

    <Location "/static">
        SetHandler None
    </Location>

</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

如何将应用程序的工作目录更改//var/www

python mod-wsgi apache2

10
推荐指数
1
解决办法
7206
查看次数

运行Apache + Bottle + Python

我正在尝试使用Apache和mod_wsgi运行Bottle.py.

我在Windows上运行它,使用xampp.python v2.7

我在httpd中的Apache配置:

<VirtualHost *>
    ServerName example.com
    WSGIScriptAlias / C:\xampp\htdocs\GetXPathsProject\app.wsgi
    <Directory C:\xampp\htdocs\GetXPathsProject>
            Order deny,allow
            Allow from all
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我的app.wsgi代码:

import os
os.chdir(os.path.dirname(__file__))
import bottle
application = bottle.default_app()
Run Code Online (Sandbox Code Playgroud)

我的hello.py:

from bottle import route
@route('/hello')
def hello():
    return "Hello World!"
Run Code Online (Sandbox Code Playgroud)

当我去的时候,localhost/hello我收到404错误.我在Apache日志文件中没有任何其他错误,可能缺少基本的东西.

python apache mod-wsgi bottle

10
推荐指数
2
解决办法
8776
查看次数

在子目录中运行Django或者说在nortl中的URL中的问题

我试图在WordPress中运行Django,如主网址www.wptesting.com上的 WordPress 和郊区www.wptesting.com/django上的 Django .Django主根网址在www.wptesting.com/django正常工作, 但其郊区,例如,管理员无法工作,因为它应该是www.wptesting.com/django/admin.但是,每当我尝试请求管理员网址时,它都会转换为www.wptesting.comhttp%3a // wptesting.com/django/admin

我用Apache和运行WordPress和Django mod_wsgi,我的apache文件如下:

<VirtualHost *:80>

WSGIScriptAlias /django /path_to_project/wsgi.py

ServerName wptesting.com
ServerAlias www.wptesting.com

DocumentRoot /var/www/html/wordpress

<Directory /var/www/html/wordpress/>
AllowOverride All
Order allow,deny

allow from all
#            Options Indexes FollowSymLinks
#            Require all granted
</Directory>


<Directory /path_to_project/>
            Options Indexes FollowSymLinks
            Require all granted
</Directory>


</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我之前问了一个关于使用Apache和wsgi从WordPress的子目录配置Django 的问题 - > 你可以在这里看到问题

另外,如果我试图访问任何网址这是不是在Django项目则给予标准的404未找到错误,但是当我试图访问任何有效的URL如admin这是给上述错误不在话下.

编辑: 我的Urls.py文件:

from django.conf.urls import patterns, include, url
from django.contrib import admin
from django.views.generic import …
Run Code Online (Sandbox Code Playgroud)

python apache wordpress mod-wsgi django-urls

10
推荐指数
1
解决办法
967
查看次数

Django + mod_wsgi.从Apache的SetEnv设置OS环境变量

我需要拆分Django的开发和生产设置.我决定如果USKOVTASK_PROD设置了变量,那么app应该使用生产设置.我读了这篇文章并试图这样做.

我的片段:

/etc/apache2/sites-enabled/uskovtask.conf:

<VirtualHost *:80>

ServerName uskovtask.*.com
ServerAlias uskovtask.*.com
DocumentRoot /mnt/ebs/uskovtask


Alias /static /mnt/ebs/uskovtask/static/
<Directory /mnt/ebs/uskovtask/static>
    Require all granted
</Directory>

#WSGIPythonPath /mnt/ebs/uskovtask
WSGIDaemonProcess uskovtask.*.com python-path=/mnt/ebs/uskovtask:/usr/lib/python2.7/site-packages
WSGIProcessGroup uskovtask.*.com
WSGIScriptAlias / /mnt/ebs/uskovtask/uskovtask/wsgi.py
SetEnv USKOVTASK_PROD 1


<Directory /mnt/ebs/uskovtask/uskovtask>
<Files wsgi.py>
    Require all granted
</Files>
</Directory>

</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

wsgi.py:

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "uskovtask.settings")

from django.core.wsgi import get_wsgi_application

_application = get_wsgi_application()

def application(environ, start_response):
    if 'USKOVTASK_PROD' in environ:
        os.environ.setdefault('USKOVTASK_PROD', environ['USKOVTASK_PROD'])
    return _application(environ, start_response)
Run Code Online (Sandbox Code Playgroud)

settings.py的部分:

import os

if 'USKOVTASK_PROD' in os.environ:
    from settings_prod …
Run Code Online (Sandbox Code Playgroud)

python apache django mod-wsgi

10
推荐指数
2
解决办法
7824
查看次数

Django + mod_wsgi + apache2:服务器挂起

我正在使用mod_wsgi在apache2上部署一个django项目,但问题是服务器不提供页面并在发出错误之前挂起10分钟:

End of script output before headers
Run Code Online (Sandbox Code Playgroud)

这是我的site-available/000-default.conf:

ServerAdmin webmaster@localhost
DocumentRoot /home/artfact/arTfact_webSite/
Alias /static /home/artfact/arTfact_webSite/static
        <Directory /home/artfact/arTfact_webSite/static>
         Order allow,deny
         Allow from all
         Require all granted
        </Directory>

      <Directory /home/artfact/arTfact_webSite>
         Order allow,deny
         Allow from all
         <Files wsgi.py>
                        Require all granted
         </Files>
      </Directory>

        WSGIDaemonProcess artfact_site processes=5 threads=25  python-path=/home/artfact/anaconda/lib/python2.7/site-packages/:/home/artfact/arTfact_webSite

        WSGIProcessGroup artfact_site
        WSGIScriptAlias / /home/artfact/arTfact_webSite/arTfact_webSite/wsgi.py
Run Code Online (Sandbox Code Playgroud)

settings.py

"""
Django settings for arTfact_webSite project.

Generated by 'django-admin startproject' using Django 1.8.5.

For more information on this file, see
https://docs.djangoproject.com/en/1.8/topics/settings/

For the full list of settings …
Run Code Online (Sandbox Code Playgroud)

python apache django mod-wsgi

10
推荐指数
1
解决办法
767
查看次数