如何使用mod_wsgi模块在Apache上运行Python应用
时间:2020-03-05 15:28:58 来源:igfitidea点击:
Mod_wsgi是Graham Dumpleton的Apache HTTP Server模块,提供了WSGI兼容接口,用于托管基于Python的Web应用程序。
它用C代码编写。
因此,与mod_python或者其他版本相比,它具有更好的性能和更低的内存开销。
本教程将教我们如何在Ubuntu和Centos上使用mod_wsgi模块在Apache上运行python脚本。
步骤1)安装Apache2,Python和mod_wsgi
首先让我们在Linux上安装apache,python和mod_wsgi软件包。
在Ubuntu上
Ubuntu的最新版本已安装python,如果要安装特定版本,请运行以下命令。
$sudo apt install python3.7 -y
在Ubuntu 18.04上安装apache2
$sudo apt install apache2 apache2-utils ssl-cert
使用以下命令安装mod_wsgi:
$sudo apt-get install libapache2-mod-wsgi
在CentOS上
在CentOS上,我们可以使用yum命令来安装软件包。
安装Apache
$sudo yum install httpd
以下命令将在CentOS上安装python 3.6.
$sudo yum install rh-python36
安装mod_wsgi
# yum install mod_wsgi
步骤2)使用mod_wsgi配置Apache
修改“ /etc/httpd/conf/httpd.conf”文件,并在“ LoadModule”部分中添加以下行:
LoadModule wsgi_module modules/mod_wsgi.so
更新配置文件后,请重新启动apache网络服务器。
如果存在/etc/httpd/conf.d/wsgi.conf,则可能不需要修改“ httpd.conf”文件。
步骤3)建立网页存取目录和python档案
例如,创建“/usr/local/wsgi/scripts”目录并其中添加“ wsgi-myapp.py”文件。
文件内容如下:
def application(environ,start_response): status='200 OK' output='Hello world' response_headers=[('Content-type','text/plain'), ('Content-Length',str(len(output)))] start_response(status,response_headers) return [output]
步骤4)创建Apache conf文件
创建一个名为“ myapp.conf”的文件,并将其放在“ /etc/httpd/conf.d/”目录中。
文件内容为:
Alias /myapp “/usr/local/wsgi/scripts/wsgi-myapp.py” Options ExecCGI SetHandler wsgi-script Order allow,deny Allow from all
步骤5)检查结果
现在重新启动httpd服务。
然后打开Firefox并输入地址“ localhost/myapp”,我们将在网页中看到“ Hello world”。