本文介紹了Python WEB應用部署的實現方法,分享給大家,具體如下:

使用Apache模塊mod_wsgi運行Python WSGI應用
Flask應用是基于WSGI規范的,所以它可以運行在任何一個支持WSGI協議的Web應用服務器中,最常用的就是 Apache+mod_wsgi 的方式
Apache主配置文件是/etc/httpd/conf/httpd.conf
其他配置文件存儲在/etc/httpd/conf.d/目錄
安裝mod_wsgi
安裝httpd-devel
$ yum install httpd-devel$ rpm -ql httpd-devel
安裝mod__wsgi
$ yum install mod_wsgi
安裝完成之后, mod_wsgi.so 會在Apache的modules目錄中
在 httpd.conf 文件中添加以下內容
LoadModule wsgi_module modules/mod_wsgi.so
重啟Apache來啟用配置
$ sudo service httpd restart
測試mod_wsgi
在Apache的DocumentRoot根目錄下創建一個文件 test.wsgi
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]這里的函數 application 即為WSGI應用對象,它返回的值就是該應用收到請求后的響應。
然后,再打開Apache的配置文件httpd.conf,在其最后加上URL路徑映射:
WSGIScriptAlias /test /var/www/html/test.wsgi
測試 curl http://localhost/test

使用Python虛擬環境
virtualenv 是一個創建隔絕的Python環境的工具。virtualenv創建一個包含所有必要的可執行文件以及 pip 庫的文件夾,用來使用Python工程所需的包。
配置app.wsgi
activate_this = '/var/www/html/py3env/bin/activate_this.py'execfile(activate_this, dict(__file__=activate_this))from flask import Flaskapplication = Flask(__name__)import syssys.path.insert(0, '/var/www/flask_test')from app import app as application
我們的虛擬環境在目錄 /var/www/html 下,你可以在其 /bin 子目錄中找到啟用腳本 activate_this.py 。在WSGI應用的一開始執行它即可。
apache配置文件
<VirtualHost *:80> ServerName example.com WSGIScriptAlias / /var/www/html/app.wsgi <Directory /var/www/html> Require all granted </Directory></VirtualHost>!
參考
https://www.jb51.net/article/153875.htm
新聞熱點
疑難解答