Apache Server 2.2.34 x64-使用mod_wsgi-运行Python脚本-无法使用WSGIDaemonProcess守护程序模式

时间:2018-07-28 13:35:28

标签: python apache mod-wsgi wsgi

我正在尝试创建一个Apache服务器来服务现有的Python脚本以返回R统计信息。在Apache之外,我的脚本运行良好,但可能需要几分钟才能运行。在Apache内部,该脚本有50%的时间运行,而且运行速度通常很慢。

我正在尝试在httpd.conf中使用WSGIDaemonProcess指令,但是Apache拒绝启动它,因此我假设我陷入了嵌入式模式。

我没有定义虚拟服务器,而是在httpd.conf中声明了所有内容。

ServerRoot "e:/Apache2"
Listen 80
LoadFile "e:/program files/python36/python36.dll"
LoadModule wsgi_module "e:/program files/python36/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "e:/program files/python36"
#
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule include_module modules/mod_include.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
#
<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
#
User daemon
Group daemon

</IfModule>
</IfModule>

ServerAdmin admin@example.com
ServerName x.y.z.d:80
DocumentRoot "e:/Apache2/htdocs"
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

<Directory "e:/Apache2/htdocs">
    Options Indexes FollowSymLinks +ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html index.py
</IfModule>

<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>

ErrorLog "logs/error.log"
LogLevel crit

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>

    CustomLog "logs/access.log" common
</IfModule>

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "e:/Apache2/cgi-bin/"
</IfModule>

<IfModule cgid_module>
    #Scriptsock logs/cgisock
</IfModule>

<Directory "e:/Apache2/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

DefaultType text/plain

<IfModule headers_module>
    RequestHeader unset Proxy early
</IfModule>

<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddHandler cgi-script .cgi
    AddHandler cgi-script .py
</IfModule>

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

WSGIScriptAlias /wsgi "E:/wsgi_app/wsgi_app.py"
<Directory "E:/wsgi_app">
<Files wsgi_app.py>
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order deny,allow
Allow from all
</Files>
</Directory>

任何建议将不胜感激。如果更容易,我可以将其移至Linux。

谢谢

0 个答案:

没有答案