CentOS7部署Flask(Apache、mod_wsgi、Python36、venv)
一、安裝Apache
# yum install -y httpd httpd-devel
# systemctl start httpd.service # 啟動 # systemctl stop httpd.service # 關閉 # systemctl restart httpd.service # 重啟 # systemctl enable httpd.service # 開機自啟
防火墻開放80端口
# firewall-cmd --zone=public --add-port=80/tcp --permanent # firewall-cmd --reload
開啟Apache,外網已經可以通過ip訪問Apache的默認頁面了
二、安裝Python36、pip3、virtualenv
# yum install -y epel-release # yum install -y python36 # python36 -V Python 3.6.6
# yum install -y python36-setuptools # easy_install-3.6 pip # pip3 -V pip 18.1 from /usr/local/lib/python3.6/site-packages/pip-18.1-py3.6.egg/pip (python 3.6)
# pip3 install virtualenv
三、創(chuàng)建項目
創(chuàng)建flask項目(最簡單的,一個項目文件夾、一個啟動文件)
# mkdir /var/www/flask_test # 項目文件夾 # vi /var/www/flask_test/app.py # 啟動文件
啟動文件例子:
from flask import Flask, request app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World' @app.route('/hello') def hello(): name = request.args.get('name','') return 'Hello ' + name + '!' if __name__ == '__main__': app.run()
在項目文件夾下創(chuàng)建虛擬環(huán)境,安裝flask
# cd /var/www/flask_test # virtualenv py3env # 創(chuàng)建虛擬環(huán)境 # source py3env/bin/activate # 進入虛擬環(huán)境 (py3env) # pip install flask # 安裝flask (py3env) # deactivate # 退出虛擬環(huán)境
四、在虛擬環(huán)境中用pip安裝mod_wsgi
# yum install -y python36-devel.x86_64 # 一個依賴,不安裝的話,下面pip會報錯。。 # source py3env/bin/activate # 進入虛擬環(huán)境 (py3env) # pip install mod_wsgi # 安裝mod_wsgi (py3env) # mod_wsgi-express install-module # 執(zhí)行該命令,把輸出內容復制下來 LoadModule wsgi_module "/usr/lib64/httpd/modules/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so" WSGIPythonHome "/var/www/flask_test/py3env" (py3env) # deactivate # 退出虛擬環(huán)境
修改Apache的配置
# vi /etc/httpd/conf/httpd.conf
復制上面得到的這行內容,添加到配置文件的最后
五、配置mod_wsgi
# vi /var/www/html/flask_test/app.wsgi
寫入以下內容(根據(jù):https://dormousehole.readthedocs.io/en/latest/deploying/mod_wsgi.html)
activate_this = '/var/www/flask_test/py3env/bin/activate_this.py' with open(activate_this) as file_: exec(file_.read(), dict(__file__=activate_this)) import sys sys.path.insert(0, '/var/www/flask_test') from app import app as application
配置Apache
# vi /etc/httpd/conf/httpd.conf
寫入以下內容(根據(jù):https://dormousehole.readthedocs.io/en/latest/deploying/mod_wsgi.html#id1)
<VirtualHost *:80> ServerName example.com WSGIScriptAlias / /var/www/flask_test/app.wsgi <Directory /var/www/flask_test> Require all granted </Directory> </VirtualHost>
OK了,啟動Apache,通過這臺服務器的ip就能訪問網頁了
測試一些app.py里面寫的兩個路徑
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
CentOS 7.4下安裝Oracle 11.2.0.4數(shù)據(jù)庫的方法
本篇文章主要介紹了CentOS 7.4下安裝Oracle 11.2.0.4數(shù)據(jù)庫的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12Linux下Mysql定時任務備份數(shù)據(jù)的實現(xiàn)方法
當安裝完成操作系統(tǒng)之后,默認便會啟動此任務調度命令。下面這篇文章主要給大家介紹了關于在Linux下Mysql定時任務備份數(shù)據(jù)的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2018-11-11Linux CentOS下安裝Tomcat9及web項目的部署
本文講解在Linux CentOS下安裝Tomcat9,以及Web項目的部署發(fā)布過程,通過實例代碼相結合的形式給大家介紹的非常的詳細,具有一定的參考借鑒價值,需要的朋友參考下吧2018-07-07