CentOS7部署Flask(Apache、mod_wsgi、Python36、venv)
发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,一、安装Apache# yum install -y httpd httpd-devel# systemctl start httpd.service # 启动# systemctl stop
千家信息网最后更新 2024年11月18日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安全错误
数据库的锁怎样保障安全
战地5怎么玩私人服务器
丽水嵌入式软件开发是做什么的
数据库 性别约束
共筑网络安全防线总结班会
计算机应用的主流网络技术
与网络安全有关的软件
盈信网络技术有限公司
php从数据库读取图片
北京睦和网络技术有限公司电话
网络安全熊猫头像
服务器机器人反应慢
微端服务器架设后加载不了地图
平邑软件开发入门教学哪家好
长岛直播软件开发公司
eos服务器节点
谷歌服务器连接地址超时
《网络安全法》一二三审稿
中山市钻淘网络技术有限公司
钉钉服务器今天
车辆违章管理数据库
国能e购 软件开发
计算机网络安全探究
我的世界服务器版的密室杀手
数据库宕机怎么处理
网页怎样定时访问数据库
计算机网络安全建议
乐视max2主服务器连接异常
杭州智学互联网科技有限
深信服笔试网络安全
路由器网络技术资料