设为首页 收藏本站
查看: 1328|回复: 0

[经验分享] Flask+uwsgi+Nginx+Ubuntu部署

[复制链接]

尚未签到

发表于 2017-12-22 23:06:26 | 显示全部楼层 |阅读模式
  

sudo apt-get install python-pip  

  使用 下面命令去安装flask
  

pip install flask  

  安装后呢,我们可以去测试下,
  import flask
  没有报错证明我们的flask 是安装成功的。那么接下来我们要做的就是安装ngnix和uwsgi。
  

sudo apt-get install nginx  

  安装好以后,我们可以先启动下, nginx start 直接命令行启动,简单粗暴
DSC0000.jpg

  这样我们的nginx就启动成功了,接下来,我们就是利用pip 去安装uwsgi
  我们安装好后,那么接下来就开始开干吧,
  首先我在hellowflak下创建一个app的python的包,
  

#app/__init__.py  
from flask import Flask
  
app = Flask(__name__)
  
from app import view
  

  接下来我们去创建view.py
  

from app import app  
@app.route(
'/')  

def index():return 'hellow'  

  那么我们去在app同级目录创建hello.py
  

from app import app  

if __name__ == "__main__":  app.run()
  

  ,那么我们可以在本地利用Python去调试我们的程序,
DSC0001.jpg

  那么我们可以在浏览器去看看,输入地址,可以得到这个,这么来看我们flask程序是没有问题的。
DSC0002.jpg

  那么我们接下来要做的就是让nginx去承担web服务。
  我这里做的是简单粗暴直接删除nginx的配置文件
  

$ sudo rm /etc/nginx/sites-enabled/default  

  接下来,我在hellowflask下创建的一个配置文件
  server {
  listen 3389;
  server_name 60.205.187.178 www.lileilei.online;
  charset     utf-8;
  client_max_body_size 75M;
  location / {
  include uwsgi_params;
  uwsgi_pass 127.0.0.1:9160;
  uwsgi_param UWSGI_PYTHON /usr/bin/python;
  uwsgi_param UWSGI_CHDIR /home/flask_blog-python3;
  uwsgi_param UWSGI_SCRIPT hello:application;
  }
  }
  稍作解释:server_name 可以是域名,也可以写 ip 地址,uwsgi_pass 是表明 Nginx 与 uwsgi 的交流方式。我这里选择的是制定的端口号。
  那么我们接下来去软连我们的这个配置到nginx中去。
  

sudo ln -s /home/liwanlei/Desktop/hellowflask/helloflask_nginx.conf /etc/nginx/conf.d/  这样我们再去启动我们的nginx,
  

  

sudo /etc/init.d/nginx restart  

  这里的不是welcome了,而是502错误呢,因为我们现在的uwsgi文件还没有配置,也没有去启动uwsgi,那么我们接下来就是要去出来这个uwsgi,下面的例子是我的配置。
[uwsgi]

  base = /home/flask_blog-python3
  pidfile = /var/run/uwsgi.pid
  master = true
  wsgi-file = hello.py
  chdir = /home/flask_blog-python3
  socket = 127.0.0.1:9160
  callable = application
  logto = %n.log
  processes = 10
  master = true   
  workers=10
  enable-threads = true
  py-autoreload = 1
  这时候我们的uwsgi已经配置号,那么我们去启动,
  

sudo /usr/bin/uwsgi --ini/home/liwanlei/Desktop/hellowflask/helloflask_uwsgi.ini  

  我们去重新启动我们的nginx,
  

sudo nginx>平滑重启可以用用,重新加载配置文件,用新的工作进程代替旧的工作进程。  

sudo nginx -s>  

  启动后,我这里修改了地址,这里就可以直接访问了,那么我们的部署这样就算可以了,简单的。
DSC0003.jpg

  

  

  完工之后,感觉还是很简单的 有问题那么就去看log,只要log配置得当,那么排除错误是很快的。
  我已经成功的把我写的部署到了阿里云上面。
  增加supervisor管理,当chrash了,可以自动重启
  安装后/etc/supervisor/conf.d/ 配置一个文件,如下 简单配置
  command=uwsgi /home/flask/flask_blog-python3/helloflask_uwsgi.ini
  autostart=ture
  autorestart=true
  stdout_logfile=/home/flask/flask_blog-python3/uwsgi_supervisor.log
  user=root
  配置后启动
  service supervisor start
  终止服务
  service supervisor stop

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-427001-1-1.html 上篇帖子: ubuntu(linux)如何安装nginx? 下篇帖子: Nginx个人简单理解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表