架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7870|回复: 1

[技巧] Python flask项目部署流程

[复制链接]
发表于 2018-8-31 16:56:03 | 显示全部楼层 |阅读模式
项目部署相关环境安装1. 更新源(修改源)    sudo apt-get update2. mysql安装    apt-get install mysql-server    apt-get install libmysqlclient-dev3. redis安装    # 安装依赖    sudo apt-get update    sudo apt-get install gcc    sudo apt-get install build-essential tcl    # 安装redis    sudo apt-get install redis-server4. 安装虚拟环境    pip install virtualenv    pip install virtualenvwrapper5. 配置 virtualenvwrapper   1. 使得安装的virtualenvwrapper生效,编辑~/.bashrc文件        export WORKON_HOME=$HOME/.virtualenvs        export PROJECT_HOME=$HOME/workspace        source /usr/local/bin/virtualenvwrapper.sh    2. 使编辑后的文件生效        source ~/.bashrc6. 安装依赖包在虚拟环境使用以下命令将当前虚拟环境中的依赖包以版本号生成至文件中    pip freeze > requirements.txt进入虚拟环境 批量安装依赖包    pip install -r requirements.txt在安装 Flask-MySQLdb 的时候可能会报错,可能是依赖包没有安装,执行以下命令安装依赖包    sudo apt-get build-dep python-mysqldbNginxsudo apt-get install nginx运行及停止/etc/init.d/nginx start #启动/etc/init.d/nginx stop  #停止配置文件编辑文件:/etc/nginx/sites-available/default# 如果是多台服务器的话,则在此配置,并修改 location 节点下面的 proxy_passupstream flask {        server 127.0.0.1:5000;        server 127.0.0.1:5001;}server {        # 监听80端口        listen 80 default_server;        listen [::]:80 default_server;        root /var/www/html;        index index.html index.htm index.nginx-debian.html;        server_name _;        location / {                # 请求转发到gunicorn服务器                proxy_pass http://127.0.0.1:5000;                # 请求转发到多个gunicorn服务器                # proxy_pass http://flask;                # 设置请求头,并将头信息传递给服务器端                proxy_set_header Host $host;                # 设置请求头,传递原始请求ip gunicorn 服务器                proxy_set_header X-Real-IP $remote_addr;        }}MySQL安装sudo apt-get install mysql-server
不知道mysql 默认密码适用
1. ubuntu 查看默认密码 sudo cat /etc/mysql/debian.cnf2. 使用缺省账户登录,修改root用户密码    update mysql.user set authentication_string=password('mysql') where user='root'3. sudo mysql -uroot -p, 输入密码4. 更新密码    update user set password=password("mysql") where user="root";        update mysql.user set authentication_string=password('mysql') where user='root' ;5. 如果需要sudo 登录    vim /etc/mysql/my.cnf    添加    [mysqld]    skip-grant-tablesredis 安装sudo apt-get install redis-serverNginx卸载和安装采用 C 语言编写实现分流、转发、负载均衡
  • 删除nginx,-purge包括配置文件
    sudo apt-get --purge remove nginx
  • 移除全部不使用的软件包
    sudo apt-get autoremove
  • 罗列出与nginx相关的软件并删除
    dpkg --get-selections|grep nginx
    sudo apt-get --purge remove nginx
    sudo apt-get --purge remove nginx-common
    sudo apt-get --purge remove nginx-core
  • 查看nginx正在运行的进程,如果有就kill掉
    ps -ef |grep nginx
    sudo kill -9 XXX
  • 全局查找与nginx相关的文件
    sudo find / -name nginx*
    sudo rm -rf file
  • 删除列出的所有文件
    sudo rm -rf file
  • 重装nginx
    sudo apt-get update
    sudo apt-get install nginx
  • Nginx 的其他内容
    • 测试nginx配置是否正确
      sudo nginx -t
    • nginx 重启
      sudo service nginx restart
    nginx: [emerg] a duplicate default server for 0.0.0.0:80 in /etc/nginx/sites-enabled/ms.recipe_box.com.conf:2
    删除/etc/nginx/sites-available/default文件,重新启动服务即可
    Nginx 效果出现异常建议重启Nginx服务** sudo service nginx restart**

Gunicorn 安装1. Gunicorn(绿色独角兽)是一个Python WSGI的HTTP服务器2. 从Ruby的独角兽(Unicorn )项目移植3. 该Gunicorn服务器与各种Web框架兼容,实现非常简单,轻量级的资源消耗4. Gunicorn直接用命令启动,不需要编写配置文件安装
  • 安装
    pip install gunicorn
  • 查看选项
    gunicorn -h
  • 运行

# -w: 表示进程(worker -b:表示绑定ip地址和端口号(bindgunicorn -w 2 -b 127.0.0.1:5000 运行文件名称:Flask程序实例名pip升级
安装 sudo apt-get install python3-pip
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
python get-pip.py
升级 sudo pip3 install --upgrade pip
卸载 sudo apt-get remove python3-pip
附加内容
腾讯云(ubuntu16.04)不能升级pip 的解决方法
  • 尝试更新源
    sudo apt-get update
  • 修改源 sudo vim /etc/apt/sources.list
    deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse # disabled on upgrade to xenial
    deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse # disabled on upgrade to xenial
    deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse #Not for humans during development stage of release xenial
    deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse # disabled on upgrade to xenial
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse # disabled on upgrade to xenial
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse # disabled on upgrade to xenial
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse # disabled on upgrade to xenial deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse #Not for humans during development stage of release xenial
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse # disabled on upgrade to xenial

然后执行
  • 更新源 sudo apt-get update
  • 更新系统 sudo apt-get upgrade









上一篇:看到 我都想发帖了. 来一波Python
下一篇:关于 共享代码链接
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2018-8-31 16:57:42 | 显示全部楼层
e...... 不支持md 有点尴尬.....放上链接 https://blog.csdn.net/zzw19951261/article/details/80981936
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-24 15:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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