标签: mod-wsgi

mod_wsgi/python sys.path.exend问题

我正在开发一个mod_wsgi脚本..开头是:

sys.path.extend(map(os.path.abspath, ['/media/server/www/webroot/']))
Run Code Online (Sandbox Code Playgroud)

但我注意到,每次更新脚本时,sys.path var都会随着此扩展的重复项而不断增长:

['/usr/lib64/python25.zip'
'/usr/lib64/python2.5'
'/usr/lib64/python2.5/plat-linux2'
'/usr/lib64/python2.5/lib-tk'
'/usr/lib64/python2.5/lib-dynload'
'/usr/lib64/python2.5/site-packages'
'/usr/lib64/python2.5/site-packages/Numeric'
'/usr/lib64/python2.5/site-packages/gtk-2.0'
'/usr/lib64/python2.5/site-packages/scim-0.1'
'/usr/lib/python2.5/site-packages'
'/media/server/www/webroot'
'/media/server/www/webroot'
'/media/server/www/webroot'
'/media/server/www/webroot']
Run Code Online (Sandbox Code Playgroud)

每次重启apache都会重置..是否有任何方法可以确保不会发生这种情况?我希望模块路径只加载一次..

python apache mod-wsgi

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

安装了Python 2.6.2的Ubuntu 9.04上的mod_wsgi 2.5

有没有人在Ubuntu 9.04上使用默认的Python安装(2.6.2)成功使用mod_wsgi 2.5?

我有编译错误:

mod_wsgi.c:119:2: error: #error Sorry, mod_wsgi requires at least Python 2.3.0.
mod_wsgi.c:123:2: error: #error Sorry, mod_wsgi requires that Python supporting thread.
Run Code Online (Sandbox Code Playgroud)

哪个Python给/ usr/bin/python和/ usr/bin/python -V返回Python 2.6.2所以我不确定第一个有什么问题,老实说我不知道​​怎么检查编译中使用的选项Ubuntu上的默认Python.

还有很多其他错误,但这些错误看起来最相关.

还有什么可能是错的?

python compiler-construction ubuntu mod-wsgi wsgi

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

使用 apache mod_wsgi 部署基于 Flask 的应用程序时的 MySQL 连接

我正在尝试在服务器上部署基于烧瓶的应用程序,但是我遇到了问题。基本处理程序似乎工作正常,但是我连接到 MySQL 的处理程序给了我错误 500。

我使用 apache 和 mod_wsgi 在 Debian Linux 上以用户 Flask 的身份部署此应用程序。我以该用户身份登录并尝试在不同端口上手动运行该应用程序,然后它工作得很好。

我检查了烧瓶日志,这是我看到的错误:

[Sun Jan 13 14:33:27 2013] [error] [20130113-14:33PM] [susyapi] [ERROR] Exception on /1/product [GET]
[Sun Jan 13 14:33:27 2013] [error] Traceback (most recent call last):
[Sun Jan 13 14:33:27 2013] [error]   File "/usr/local/lib/python2.6/dist-packages/flask/app.py", line 1687, in wsgi_app
[Sun Jan 13 14:33:27 2013] [error]     response = self.full_dispatch_request()
[Sun Jan 13 14:33:27 2013] [error]   File "/usr/local/lib/python2.6/dist-packages/flask/app.py", line 1360, in full_dispatch_request
[Sun Jan 13 14:33:27 2013] [error]     rv = …
Run Code Online (Sandbox Code Playgroud)

python apache mod-wsgi flask

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

mod_wsgi报告金字塔模块中的语法错误

我刚刚完成了mod_wsgi的安装,但是我在启动Pyramid应用程序时遇到了问题.

我在CentOS 5.8上使用python 2.7,Apache 2.2.3,mod_wsgi 3.4

这是我的httpd.config文件

WSGISocketPrefix run/wsgi

<VirtualHost *:80>
 ServerName  myapp.domain.com
 ServerAlias myapp
 WSGIApplicationGroup %{GLOBAL}
 WSGIPassAuthorization On
 WSGIDaemonProcess pyramid user=apache group=apache  processes=1 threads=4 \
   python-path=/var/wsgi_sites/site-packages
 WSGIScriptAlias / /var/wsgi_sites/myapp/apache.wsgi

<Directory /var/wsgi_sites/myapp>
  WSGIProcessGroup pyramid
  Order allow,deny
  Allow from all
</Directory>

  LogLevel debug
  ErrorLog /var/log/httpd/myapp_error
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我给了Apache所有的site-package,python-eggs和myapp文件夹.

我用来创建WSGI应用程序appache.wsgi的模块包含以下代码

import os
os.environ['PYTHON_EGG_CACHE'] = '/var/wsgi_sites/python-eggs'

from pyramid.paster import get_app
application = get_app('/var/wsgi_sites/myapp/development.ini','main')
Run Code Online (Sandbox Code Playgroud)

当我重新启动Apache并尝试访问应用程序时,我收到以下错误

mod_wsgi (pid=14842, process='pyramid', application=''): Loading WSGI script '/var/wsgi_sites/myapp/apache.wsgi'.
mod_wsgi (pid=14842): Target WSGI script '/var/wsgi_sites/myapp/apache.wsgi' cannot be loaded as Python module. …
Run Code Online (Sandbox Code Playgroud)

python apache mod-wsgi pyramid

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

apache2,mod_wsgi,python web app(瓶子框架)

注意:我想瓶子框架在这里不相关.Wsgi是.

我已经设法将我的apache配置为使用基于python bottle框架的wsgi和单文件Web应用程序.下面的文件是我现在所拥有的 - apache使用virtualenv并运行包含所有内容的单个wsgi/py文件.

虚拟主机:

<VirtualHost *:80>
    ServerName bottle-test

    WSGIDaemonProcess bottle-test user=www-data group=www-data processes=1 threads=5
    WSGIScriptAlias / /home/tducin/Development/Python/bottle-test/src/app.wsgi

    <Directory /home/tducin/Development/Python/bottle-test/src>
        WSGIProcessGroup bottle-test
        WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
    </Directory>
    ErrorLog /var/log/apache2/wsgi/error-bottle.log
    CustomLog /var/log/apache2/wsgi/access-bottle.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

httpd.conf(这是我的virtualenv所在的地方):

WSGIPythonHome /home/tducin/Development/Python/bottle-test
Run Code Online (Sandbox Code Playgroud)

最后,这是app.wsgi:

import os

# Change working directory so relative paths (and template lookup) work again
os.chdir(os.path.dirname(__file__))

import bottle

app = bottle.Bottle()

@app.route('/')
def siema():
    return bottle.template('<h1>SIEMA {{arg}}!</h1>', arg='Janie')

@app.route('/hello/<name>')
def hello(name):
    return bottle.template('<b>Hello {{name}}</b>!', name=name)

application = app …
Run Code Online (Sandbox Code Playgroud)

python apache mod-wsgi

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

如何制作一个Python软件包,为Flask的网站提供服务?

我编写了一个Python包hwrt(如果你想试试,请参阅安装说明),它在执行时为网站提供服务

$ hwrt serve
2014-12-04 20:27:07,182 INFO  * Running on http://127.0.0.1:5000/
2014-12-04 20:27:07,183 INFO  * Restarting with reloader
Run Code Online (Sandbox Code Playgroud)

我想让它在http://www.pythonanywhere.com上运行,但是当我开始它时,我得到它

19:19 ~ $ hwrt serve
2014-12-04 19:19:59,282 INFO  * Running on http://127.0.0.1:5000/
Traceback (most recent call last):
  File "/home/MartinThoma/.local/bin/hwrt", line 108, in <module>
    main(args)
  File "/home/MartinThoma/.local/bin/hwrt", line 102, in main
    serve.main()
  File "/home/MartinThoma/.local/lib/python2.7/site-packages/hwrt/serve.py", line 95, in main
    app.run()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 739, in run
    run_simple(host, port, self, **options)
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 613, in run_simple
    test_socket.bind((hostname, …
Run Code Online (Sandbox Code Playgroud)

python apache mod-wsgi flask

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

如何将 Django 放入网站的子目录中?

我想在 运行 WordPress mysite.com/,因为编辑销售文案等更容易。我想在其中运行我的 Django 网站mysite.com/members/

httpd.conf:

<VirtualHost *:80>
ServerName mysite.com
ServerAlias www.mysite.com
DocumentRoot /var/www/mysite.com
WSGIDaemonProcess mysite python-path=/var/www/mysite.com/mysite:/var/www/mysite.com/
WSGIProcessGroup mysite
WSGIScriptAlias / /var/www/mysite.com/mysite/mysite/wsgi.py
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我到底需要做什么才能让 Django/members/在我的域/网站的目录中运行?

apache django mod-wsgi wsgi

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

如何用mod_wsgi提高Apache的性能?

使用Apache/2.4.12(Unix)和mod_wsgi-4.4.11并打击apache/conf/extra的配置:

//httpd-mpm.conf
<IfModule mpm_worker_module>
    StartServers             3
    MinSpareThreads          75
    MaxSpareThreads          250 
    ThreadsPerChild          25
    MaxRequestWorkers        400
    MaxConnectionsPerChild   0
</IfModule>


//httpd-vhosts.conf
WSGIRestrictEmbedded On
<VirtualHost *:443>
    ServerName form.xxx.com

    WSGIScriptAlias / /usr/local/apache/services/form/form.wsgi 
    WSGIDaemonProcess paymentform user=test processes=10 threads=5 display-name=%{GROUP} maximum-requests=100

    WSGIApplicationGroup %{RESOURCE}
    WSGIProcessGroup form
    DocumentRoot /usr/local/apache/services/form

    SSLEngine On
    //any certification files  
   <Directory /usr/local/apache/services/form>
      Require all granted
   </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

在这个配置中,我使用Apache jmeter进行测试.

GET : form.xxx.com //only return "index" string
Number of Threads(users):100  
Ramp-up Period : 0
Loop count : 10 
Run Code Online (Sandbox Code Playgroud)

但结果是......

samples: 1000
Average: 3069   
Min    : 13 …
Run Code Online (Sandbox Code Playgroud)

apache mod-wsgi

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

Django:限制非登录用户访问静态文件夹

我试图限制那些在浏览器中直接点击绝对静态图像 url 路径(www.xyz.com/static/img/sam.png)并访问它的用户。

我尝试使用以下 Django 文档:

https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/apache-auth/

但这也会阻止登录页面中的那些图像(在验证有效用户之前)。

有没有其他有效的方法来限制未登录的用户?

编辑: 我曾提到过这个Django: Serving Media behind Custom URL,但它与 nginx 而不是 apache 相关。并且黑白静态和媒体内容也有区别。我的问题仅与静态内容有关

python apache django mod-wsgi wsgi

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

Django插入Apache不像Django独立工作

我遇到了一大堆错误,试图将我的django网站用Apache生产.最终得到mod_wsgi排序和Apache至少看起来试图加载网站我看到主页无法加载时调试细节中的一些令人困惑的问题.

当我使用python manage.py runserver 10.10.10.214:8080它启动网站时,这些错误都不会出现- 它以这种方式100%正常工作

  1. 导入错误 - 我不能from x import y- 由于某种原因它只允许我这样做from x import *一个例子是#from django.conf.urls import patterns, include, url错误的 - 我不得不改为from django.conf.urls.defaults import *
  2. 权限错误 - 例如,我必须chmod之前工作正常的DB文件.我想没什么大不了的,但我只是想知道为什么
  3. 数据库字段错误:Cannot resolve keyword 'user_id' into field. Choices are: end_date, id, singleDate, start_date, useruser_id在独立模式下工作正常.
  4. Apache日志给出了错误TemplateSyntaxError: Caught ImportError while rendering: No module named staticfiles,我只是通过django.contrib.staticfiles在settings.py中注释掉而懒洋洋地绕过它.不用说,这没有解决任何问题

几乎感觉这些文件是在独立的基础上处理的,而不是在django框架内.以前有没有人经历过这种出牙问题?我愚蠢地认为我可以插上.我有一种(毫无根据的)乐观的感觉它必须只是某个文件中的指令.

干杯,亚瑟

python apache django mod-wsgi

0
推荐指数
1
解决办法
1270
查看次数

标签 统计

mod-wsgi ×10

apache ×9

python ×8

django ×3

wsgi ×3

flask ×2

compiler-construction ×1

pyramid ×1

ubuntu ×1