如何在 Debian 10 上安装带 Python mod_wsgi模块的 Apache

时间:2019-04-29 03:17:19  来源:igfitidea点击:

WSGI(Web 服务器网关接口)是 Web 服务器将请求转发到 Python 编写的 Web 应用程序或框架的简单方法。WSGI 是规范,wich 描述,Web 服务器如何与 Web 应用程序通信。

mod_wsgi是一个 Apache 模块,用于通过 HTTP 为 Python 脚本提供服务。本教程帮助了解如何在 Debian 10 Linux 系统上安装 Apache mod_wsgi模块。

步骤 1 - 安装 Python

必须在系统上安装了所需的 Python 版本。对于 Ubuntu 系统,可以使用 apt 的包管理器在系统上安装 Python。

sudo apt update
sudo apt install python3 libexpat1

步骤 2 - 安装阿帕奇Mod_wsgi模块

接下来,需要在系统中安装 Apache Web 服务器,包括 Apache 实用程序包和mod_wsgi Python 模块。要安装这些包,请运行以下命令。

sudo apt install apache2 apache2-utils ssl-cert libapache2-mod-wsgi

安装后,重新启动 Apache 服务以重新加载所有模块。

sudo systemctl restart apache2

步骤 3 - 使用 WSGI 模块配置 Apache

现在,创建一个示例 python 脚本,以便与 mod_wsgi Apache 模块一起使用。运行以下命令以创建 Python 脚本并在最喜爱的文本编辑器中编辑:

mkdir -p /var/www/scripts
sudo nano /var/www/scripts/test_wsgi_script.py

将以下 python 脚本添加到文件:

def application(environ,start_response):
    status = '200 OK'
    html = '<html>\n' \
           '<body>\n' \
           ' Hooray, mod_wsgi is working\n' \
           '</body>\n' \
           '</html>\n'
    response_header = [('Content-type','text/html')]
    start_response(status,response_header)
    return [html]

保存 Python 脚本并关闭文件。
接下来,配置 Apache 服务器以通过 HTTP 协议提供此文件。让我们创建一个配置文件,为 wsgi_test_script.py 脚本提供目录 URL。

sudo nano /etc/apache2/conf-available/mod-wsgi.conf

添加以下内容:

WSGIScriptAlias /test_wsgi /var/www/scripts/test_wsgi_script.py

完成上述步骤后,启用 [mod-wsgi] 配置并重新启动 Apache 服务。

sudo a2enconf mod-wsgi
sudo systemctl restart apache2

步骤 4 - 测试设置

Python 脚本已准备好通过 Apache 提供服务。可以通过在 Web 浏览器中访问以下 URL 来测试脚本。

http://服务器ip或者域名/test_wsgi

总结

在本教程中,我们在 Ubuntu 系统上使用mod_wsgi模块在 Apache Web 服务器上部署 Python 脚本。