CentOS7部署Flask(Apache、mod_wsgi、Python36、venv)
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,一、安装Apache# yum install -y httpd httpd-devel# systemctl start httpd.service # 启动# systemctl stop
千家信息网最后更新 2025年12月03日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 -VPython 3.6.6
# yum install -y python36-setuptools# easy_install-3.6 pip# pip3 -Vpip 18.1 from /usr/local/lib/python3.6/site-packages/pip-18.1-py3.6.egg/pip (python 3.6)
# pip3 install virtualenv
三、创建项目
创建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()在项目文件夹下创建虚拟环境,安装flask
# cd /var/www/flask_test# virtualenv py3env # 创建虚拟环境# source py3env/bin/activate # 进入虚拟环境 (py3env) # pip install flask # 安装flask(py3env) # deactivate # 退出虚拟环境
四、在虚拟环境中用pip安装mod_wsgi
# yum install -y python36-devel.x86_64 # 一个依赖,不安装的话,下面pip会报错。。# source py3env/bin/activate # 进入虚拟环境(py3env) # pip install mod_wsgi # 安装mod_wsgi(py3env) # mod_wsgi-express install-module # 执行该命令,把输出内容复制下来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 # 退出虚拟环境
修改Apache的配置
# vi /etc/httpd/conf/httpd.conf
复制上面得到的这行内容,添加到配置文件的最后
复制代码 代码如下: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
写入以下内容(根据: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 syssys.path.insert(0, '/var/www/flask_test')from app import app as application
配置Apache
# vi /etc/httpd/conf/httpd.conf
写入以下内容(根据:https://dormousehole.readthedocs.io/en/latest/deploying/mod_wsgi.html#id1)
ServerName example.com WSGIScriptAlias / /var/www/flask_test/app.wsgi Require all granted
OK了,启动Apache,通过这台服务器的ip就能访问网页了
测试一些app.py里面写的两个路径
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
文件
环境
内容
项目
配置
文件夹
代码
两个
中用
例子
可以通过
命令
就是
服务器
端口
网页
路径
防火墙
页面
会报
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
海康服务器电源一闪一闪的
3d打印和软件开发哪个专业好
传统服务器架构
三级网络技术考什么
传奇世界单机服务端数据库密码
灵武软件开发技术靠谱吗
网络技术功能
写入foxpro数据库
苹果软件开发公司森
手绘网络安全的图画宣传栏
p2p网贷网络安全整治
中兴通讯数据库第一
工信部网络安全管理局副处长名单
道闸系统控制软件开发
新能源汽车技术数据库
生死狙击忘记哪个服务器了怎么办
网络安全工程师成绩单
延庆区软件开发程序
服务器的规格
山东软件开发建设
福建项目软件开发销售电话
2016年网络安全管理者必读
用工单位招聘网络技术维护
8k纸网络安全绘画比赛作品
我的世界网易通行证改服务器名字
软件开发团队考核制度
计算机网络技术数据分析
法信数据库如何申请退费
怎样转行软件开发
网络安全审查办法滴滴出行