当前位置:   article > 正文

Ubuntu部署flask项目

ubuntu部署flask

安装并配置虚拟机的python环境

apt-get install python
  • 1
python -V
  • 1

在这里插入图片描述

安装pip包管理工具

将下载的pip-xxx.tar.gz包上传到虚拟机上tar -zxvf pip-xxx.tar.gz命令解压。
在这里插入图片描述

# 解压
tar -xzvf pip-xxx.tar.gz
# 切换到目录
cd pip-xxx
# 安装pip
python setup.py install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

或者直接wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate

在这里插入图片描述

切换到解压目录下安装pip。
在这里插入图片描述
输入pip -V检查是否安装成功:
在这里插入图片描述
参考

安装flask第三方插件

# 安装flask
pip3 install flask

# 安装数据库驱动
pip3 install mysql-connector
# 驱动辅助工具
pip3 install mysql-connector-python

# 安装数据库交互插件pymysql
pip3 install pymysql

# 安装ORM框架
pip3 install flask-sqlalchemy

# 安装jinja2为flask的模板引擎
pip3 install jinja2

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

安装成功的页面应该如此:

在这里插入图片描述

上传flask项目并运行

将文件上传之后不能使用python3 ./index.py 来启动,该命令是本地的,外网任然无法访问。
在这里插入图片描述

只能通过127.0.0.1:5000来访问。若要在外网访问需要借助需要借助服务器。

安装Nginx服务器

  1. 安装GCC编译器
apt-get install gcc
apt-get install gcc-c++
  • 1
  • 2
  1. 安装依赖包pcre
apt-get install libpcre3 libpcre3-dev
  • 1
  1. 安装依赖包zlib
apt-get install zlib1g-dev
  • 1
  1. 安装OpenSSL开发库
apt-get install openssl libssl-dev
  • 1

安装网上述的插件后进入解压目录:
在这里插入图片描述
进入目录后执行以下命令编译安装:

./configure --with-stream
  • 1

在这里插入图片描述

make 
  • 1

在这里插入图片描述

sudo make install
  • 1

在这里插入图片描述

Nginx的启动与关闭

  1. 启动
sudo /usr/local/nginx/sbin/nginx
  • 1

或者直接切换到obj目录下使用 ./nginx来启动。
在这里插入图片描述
nginx配置文件在/usr/local/nginx/conf/nginx.conf

nginx配置文件检查命令 nginx -t

nginx启动命令 nginx

nginx停止命令 nginx -s stop

nginx重启命令 nginx -s reload

nginx日志文件在 /usr/local/nginx/logs

如果直接用flask自带的服务器的话使用命令会出现:

WARNING: This is a development server. Do not use it in a production deployment.
  • 1

在这里插入图片描述

# 解决方案
Use a production WSGI server instead.
  • 1
  • 2
if __name__ == '__main__':
    server = make_server('127.0.0.1', 5000, app)
    server.serve_forever()
    app.run()
  • 1
  • 2
  • 3
  • 4

或者

# app.run()改为app.run(host=‘0.0.0.0’,port=5000)
  • 1

没有上面的过程当Xshell关闭后进程也就结束了,外网也访问不到了。

uWSGI是一个web服务器,可能听说过服务器apache/tomcat之类的词汇,其实apache/tomcat是tcp/ip协议进行通信的,uWSGI与之不同之处在于它可以提供独特的uwsgi协议进行通信。

Ubuntu下Nginx安装、启动、关闭、配置详解

最简单的部署

除了使用uWSGI+Nginx来运行之外还有一个更简单的方法,使用screen:(运行了一个springboot项目,然后关闭xshell之后,项目自动停止。也可以使用该方法解决)

# 安装screen命令
apt-get install screen

# 创建screen会话,会话名任意
screen -S test
  • 1
  • 2
  • 3
  • 4
  • 5

在新建的窗口启动flask程序,退出Xshell后程序任然运行。

还可以用Docker来部署项目。

Linux screen命令

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/711679
推荐阅读
相关标签
  

闽ICP备14008679号