Articles of mod wsgi

mod-wsgi用于不同ServerNames的多个VirtualHost的一个守护进程

我有一个apache2 / mod-wsgi部署服务多个域与本质上是一个单一的应用程序。 所有域都在端口80和443上提供。 所以,我的configuration看起来像这样: <VirtualHost *:80> #ServerName www.example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined WSGIDaemonProcess example processes=2 threads=12 python-path=/app_path WSGIProcessGroup example WSGIScriptAlias / /scripthome …… </VirtualHost> <VirtualHost *:80> ServerName example.com Redirect permanent / http://www.example.com/ </virtualHost> <VirtualHost _default_:443> ServerName www.example.com ErrorLog ${APACHE_LOG_DIR}/error_easyset_ssl.log CustomLog ${APACHE_LOG_DIR}/access_easyset_ssl.log combined WSGIDaemonProcess example_ssl processes=2 threads=12 python-path=/app_path WSGIProcessGroup example_ssl WSGIScriptAlias / /scripthome SSLEngine […]

带有Apache和mod_wsgi的Django:除非设置Debug = True,否则不需要系统日志

我使用Apache Web服务器和mod_wsgi将请求转移到Django。 $ apache2ctl -v Server version: Apache/2.4.10 (Raspbian) Server built: Sep 17 2016 16:40:43 我正在使用这个Apache网站声明Django的应用程序: ServerName example.com DocumentRoot /srv/webapps/myapp <Directory /srv/wepapps/myapp/mysite> <Files wsgi.py> Require all granted </Files> </Directory> WSGIDaemonProcess example.com python-path=/srv/webapps/myapp:/usr/local/lib/python3.4/dist-packages:/usr/lib/python3/dist-packages WSGIProcessGroup example.com WSGIScriptAlias / /srv/webapps/myapp/mysite/wsgi.py LogLevel warn ErrorLog ${APACHE_LOG_DIR}/example.com_error.log CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined 它工作的很好,但是如果引发一个exception,它会显示一个错误500,但是我的example.com_error.log没有任何内容。 如果我修改我的设置来设置Debug = True ,我可以在我的Web浏览器中看到错误,但也在我的/ var / log / apache2文件中。 但我真的不想在我的产品环境中保持这个设置。 […]

尝试使用Python 3.6在Windows Apache服务器上运行Flask

我听说为了在Windows Apache服务器上运行Flask,你必须安装mod_wsgi。 然而,安装mod_wsgi是我尝试过的最困难的安装,因为它令人困惑,令人沮丧,而且一点也不清楚。 我听说你必须有Python,Apache和mod_wsgi都是64位或32位。 我最近安装了64位的Anaconda Python 3.6.1,所以我想最好是安装一个新的64位版本的Apache。 所以我安装了Apache2自带的bitnami。 我尝试通过cd到Anaconda / Scripts目录并运行pip install mod_wsgi来通过pip来pip install mod_wsgi 。 我得到了消息'RuntimeError:没有Apache安装可以find。 将MOD_WSGI_APACHE_ROOTDIR环境设置为其位置。 我研究了如何做到这一点,并将其设置为bitnami apache2位置。 我试着再次安装,并得到消息:'错误:Microsoft Visual C ++ 14.0是必需的。 使用“Microsoft Visual C ++构build工具”获取它: http : //landinghub.visualstudio.com/visual-cpp-build-tools ' 所以我去了这个页面,下载了构build并安装它。 (4GB)。 然后我又跑了一下,得到这个消息:'c:\ users \ christon \ appdata \ local \ temp \ pip-build-gdd4udc8 \ mod-wsgi \ src \ server \ wsgi_apache.h(39):fatal […]

在Ubuntu上使用Apache连接重设错误104

我使用mod_wsgi和Apache2build立了一个新的Ubuntu 16.04服务器来服务我的Python应用程序。 它正在工作,但突然显示ConnectionReset错误104.我的应用程序连接到两个数据库。 login屏幕工作正常,但当我成功login它加载所有的数据也工作正常,但是当应用程序应该返回所有的数据到客户端机器我得到的错误。 我想我必须调整最大的线程和进程。 由于login屏幕非常简单,所以不会导致任何错误。 然而,/ etc / apache2 /中的apache2.conf只有标准的行,我不知道在哪里可以调整它。 谢谢。

做mod_wsgi守护进程和mpm-prefork实际创build线程?

这是我的网站主页: Welcome to your mod_wsgi website! It uses: Python 3.5.4 (default, Aug 22 2017, 05:13:36) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] WSGI version: (4, 5, 19) mod_wsgi.process_group = 'user' wsgi.multithread = False 相关的httpd.conf行是: WSGIDaemonProcess user processes=2 threads=1 python-home=<path-to-home> python-path=<python-path> WSGIProcessGroup user WSGIRestrictEmbedded On WSGILazyInitialization On WSGIApplicationGroup %{GLOBAL} 但是,htop在每个进程下显示3个线程: 我不介意,但我的应用程序不是线程安全的。 这里是httpd.conf的其余部分: ServerRoot "/home/user/webapps/apache/apache2" LoadModule mpm_prefork_module modules/mod_mpm_prefork.so […]

mod_wsgi“在AWS Elastic Beanstalk Python 3.6平台上调用”site.addsitedir()失败“

在AWS Elastic Beanstalk上,在“运行Python 3.6的64位Amazon Linux 2017.09 v2.6”平台上, mod_wsgiconfiguration似乎有问题。 我在/etc/httpd/conf.d/wsgi.conf看到: WSGIDaemonProcess wsgi processes=1 threads=15 display-name=%{GROUP} \ python-home=/opt/python/run/venv/ \ python-path=/opt/python/current/app:/opt/python/run/venv/lib64/python3.6/site-packages:/opt/python/run/venv/lib/python3.6/site-packages user=wsgi group=wsgi \ home=/opt/python/current/app 不过,我在/var/log/httpd/error_log得到了这个: [Mon Nov 20 19:54:44.565076 2017] [:error] [pid 32080] mod_wsgi (pid=32080): Call to 'site.addsitedir()' failed for '(null)', stopping. [Mon Nov 20 19:54:44.565444 2017] [:error] [pid 32080] mod_wsgi (pid=32080): Call to 'site.addsitedir()' failed for […]

在Gentoo上进行Python升级后,使用mod_wsgi / mod_python进行segfault

从Python 2.5升级到2.6后出现问题 我正在使用Gentoo并运行Apache 2和mod_python的Django应用程序。 升级之后,当我尝试访问该站点时,开始出现段错误,Apache开始正常工作,并可以提供静态页面。 我试过将网站移动到mod_wsgi,仍然得到段错误。 我试过重新安装Apache,Apr,mod_python,mod_wsgi。 我试过revdep-rebuild,python-updater。 我已经从系统中删除了Python 2.5。 当我从Django的开发服务器上运行它时,这个网站就起作用了。 我迷路了,我只是不知道如何解决这个问题。 任何帮助,将不胜感激。 提前致谢。

mod_wsgi内存泄漏?

我有一个django应用程序运行在Apache 2(Worker)上的mod_wsgi上,在Nginx反向代理(也提供静态内容)后面。 当应用程序开始同时获得一堆命中时,内存使用量将从<20%增加到> 96%,整个应用程序将停止运行。 这里是我的Apache WSGIconfiguration: WSGIDaemonProcess djangoboss user=django group=django processes=2 maximum-requests=500 threads=1 python-path=/home/django/django_env/lib/python2.6/site-packages display-name=%{GROUP} WSGIProcessGroup djangoboss WSGIScriptAlias / /home/django/django/wsgi/django_wsgi_handler.py 这里从htop输出: PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 29551 django 20 0 793M 745M 6868 R 61.0 42.8 1:28.65 (wsgi:djangoboss) -k start 29550 django 20 0 793M 745M 6868 S […]

mod_wsgi + cherrypy = 404 – 未findpath“/index.wsgi/”

.htaccess: AddHandler wsgi-script .wsgi RewriteEngine On RewriteBase / RewriteRule ^(media/.*)$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /index.wsgi/$1 [QSA,L,PT] index.wsgi: import atexit import threading import cherrypy cherrypy.config.update({'environment': 'embedded'}) if cherrypy.engine.state == 0: cherrypy.engine.start(blocking=False) atexit.register(cherrypy.engine.stop) class Root: def index(self): return "…" index.exposed = True def default(self): return "default" index.exposed = True application = cherrypy.tree.mount(Root(), "/") 这是一个共享的主机,我没有访问Apache […]

防止Django应用程序导致Linux机器内存耗尽

我的一个Linuxnetworking服务器最近耗尽内存,挂在一个OOM杀死狂热,并不得不重新启动。 这是一个512 MB的VPS,但自从几个月前成立以来,它一直在运行。 我怎样才能防止这种情况再次发生? 我无法从日志中找出哪个过程是原因。 死亡的进程是mysqld,接着是apache2。 根据框上运行的内容,我认为Django应用程序(在apache和mod_wsgi下运行)中可能出现了问题。 将限制堆栈大小(与stack-size选项为wsgi)帮助? 一般可以限制wsgi或python或apache的内存使用情况吗? ( 这个问题的答案不是。)