flask项目部署到阿里云服务器
来源:互联网 发布:手机淘宝怎么上架商品 编辑:程序博客网 时间:2024/05/20 15:56
写在前面
如果想看真教程的话请移驾教程传送门,详细到令人发指。
写好了一个半吊子flask项目,又恰逢双十一忍不住买了服务器,所以就有了这篇文章。第一次部署,查了一堆资料耗时二天终于部署成功。当部署成功以后回过头来看看部署时遇到的坎坷,觉得自己像个智障。另外,因为是自己记录过程,所以我已经熟记于心的一些东西就全部省掉了。如果没能帮到您,深表歉意。
部署实施第一步
万事开头难这个是真的,因为只是配置uwsgi就用去了大半时间。起初为了速度,就随便找了篇站内的教程复制、粘贴、修改,结果就是知其然不知其所以然,路路不通。百感交集之际无奈去啃了一丢丢官方文档,然后豁然开朗,虽然了解不深但是足以解我燃眉之急。那么uwsgi到底要怎么配置呢?(配置uwsgi时项目代码已经在服务器,并且位于虚拟开发环境下)
- 安装
- source activate # 开启虚拟开发环境模式
- pip install uwsgi # 安装uwsgi
配置
uwsgi配置文件支持很多格式,我采用.ini格式,命名为uconfig.ini具体内容如下:启动uwsgi
命令输入uwsgi uconfig.ini
外部访问测试
此时在外部访问 公网IP:5000就可以访问了
[uwsgi]# 外部访问地址,可以指定多种协议,现在用http便于调试,之后用sockethttp = 0.0.0.0:5000# 指向项目目录chdir = /home/pythonproject/my_flask/py3env/myblog/# flask启动程序文件wsgi-file = manage.py# flask在manage.py文件中的app名callable = app# 处理器数processes = 4# 线程数threads = 2#状态检测地址stats = 127.0.0.1:9191
部署实施第二步
安装 Supervisor:sudo apt-get install supervisor
Supervisor可以同时启动多个应用,最重要的是,当某个应用Crash的时候,他可以自动重启该应用,保证可用性。
Supervisor 的全局的配置文件位置在:/etc/supervisor/supervisor.conf
正常情况下我们并不需要去对其作出任何的改动,只需要添加一个新的 *.conf 文件放在/etc/supervisor/conf.d/
下
[program:myblog]# 启动命令入口command=/home/pythonproject/my_flask/py3env/bin/uwsgi /home/pythonproject/my_flask/py3env/myblog/uconfig.ini# 命令程序所在目录directory=/home/pythonproject/my_flask/py3env/myblog#运行命令的用户名user=rootautostart=trueautorestart=true#日志地址stdout_logfile=/home/pythonproject/my_flask/py3env/myblog/uwsgi_supervisor.log
启动服务:sudo service supervisor start
终止服务:sudo service supervisor stop
重启服务:sudo service supervisor restart
这个工具还不慎了解,因为部署时一次配置通过了,就懒得去看官方文档了,之后再说。
部署实施最后一步
安装 Nginx:sudo apt-get install nginx
Nginx是轻量级、性能强、占用资源少,能很好的处理高并发的反向代理软件。Ubuntu 上配置 Nginx 也是很简单,不要去改动默认的 nginx.conf 只需要将/ext/nginx/sites-available/default
文件替换掉就可以了。
新建一个 default 文件:
server { listen 5000; server_name 公网IP; location / { uwsgi_pass 127.0.0.1:8001; include uwsgi_params; uwsgi_param UWSGI_PYHOME /home/pythonproject/my_flask/py3env/Scr ipts; # 指向虚拟环境目 uwsgi_param UWSGI_CHDIR /home/pythonproject/my_flask/py3env/myb log; # 指向网站根目录 uwsgi_param UWSGI_SCRIPT manage:app; # 指定启动程序 }
启动服务:
sudo service supervisor start
sudo service nginx start
- flask项目部署到阿里云服务器
- web项目部署到阿里云服务器
- flask 部署阿里云
- javaWeb项目部署到阿里云服务器步骤
- Java Web项目部署到阿里云服务器
- 本地web项目部署到阿里云Linux服务器指南
- javaWeb项目部署到阿里云服务器步骤win环境
- Java Web项目部署到阿里云服务器
- Java Web项目部署到阿里云服务器
- 将项目部署到阿里云服务器ECS总结
- 记录web项目部署到阿里云服务器步骤
- 配置阿里云CentOS7.2+nginx+uwsgi 部署flask项目
- Flask--阿里云上部署
- 在阿里云服务器上部署项目
- 阿里云服务器部署java web项目
- 阿里云服务器部署JavaWeb项目步骤
- 将javaweb项目部署到阿里云
- 将javaweb项目部署到阿里云
- jqgrid中当前页数据动态搜索,显示隐藏对应行
- Focal Loss for Dense Object Detection
- span 垂直居中div
- dialog样式的activity显示问题。
- Oracle PL/SQL光标的引入
- flask项目部署到阿里云服务器
- 光标实现为员工涨工资
- app弱网测试常用工具和测试策略
- 阿里云部署java环境(附:自动化部署脚本)
- PL/SQL光标之带参数光标
- 面向对象--控制多个选项卡自动播放
- PL/SQL例外概念和系统例外
- 百度地图调用及电子围栏设置
- spring-mybatis整合