濮阳杆衣贸易有限公司

主頁 > 知識庫 > CentOS7部署Flask(Apache、mod_wsgi、Python36、venv)

CentOS7部署Flask(Apache、mod_wsgi、Python36、venv)

熱門標簽:申請400電話價格多少 智能電話機器人坐席 廈門營銷外呼系統(tǒng)平臺 涪陵商都400電話開通辦理 云會外呼系統(tǒng) 外呼系統(tǒng)不彈窗 外呼系統(tǒng)的經(jīng)營范圍 安陽ai電銷機器人軟件 柳州市機器人外呼系統(tǒng)報價

一、安裝Apache

# yum install -y httpd httpd-devel
# systemctl start httpd.service    # 啟動
# systemctl stop httpd.service     # 關(guān)閉
# systemctl restart httpd.service   # 重啟
# systemctl enable httpd.service    # 開機自啟

防火墻開放80端口

# firewall-cmd --zone=public --add-port=80/tcp --permanent
# firewall-cmd --reload

開啟Apache,外網(wǎng)已經(jīng)可以通過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í)行該命令,把輸出內(nèi)容復制下來
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

復制上面得到的這行內(nèi)容,添加到配置文件的最后

復制代碼 代碼如下:
LoadModule wsgi_module "/usr/lib64/httpd/modules/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"

五、配置mod_wsgi

# vi /var/www/html/flask_test/app.wsgi

寫入以下內(nèi)容(根據(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

寫入以下內(nèi)容(根據(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就能訪問網(wǎng)頁了

測試一些app.py里面寫的兩個路徑

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:巴中 南充 綏化 福州 撫順 晉城 孝感 蕪湖

巨人網(wǎng)絡(luò)通訊聲明:本文標題《CentOS7部署Flask(Apache、mod_wsgi、Python36、venv)》,本文關(guān)鍵詞  CentOS7,部署,Flask,Apache,mod,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《CentOS7部署Flask(Apache、mod_wsgi、Python36、venv)》相關(guān)的同類信息!
  • 本頁收集關(guān)于CentOS7部署Flask(Apache、mod_wsgi、Python36、venv)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    清苑县| 武夷山市| 宜兰县| 江油市| 龙里县| 依安县| 扎兰屯市| 庄河市| 哈巴河县| 武穴市| 师宗县| 张家界市| 上杭县| 博罗县| 平乡县| 钟祥市| 西乡县| 江山市| 嘉祥县| 咸丰县| 茂名市| 海门市| 永新县| 昌邑市| 宁都县| 南平市| 阜南县| 偏关县| 武威市| 托里县| 日土县| 通许县| 玉门市| 萨迦县| 金湖县| 香格里拉县| 巴林左旗| 莱西市| 喜德县| 张掖市| 旬邑县|