Ubuntu部署flask项目

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

apt-get install python
python -V

在这里插入图片描述

安装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

在这里插入图片描述

或者直接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

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

在这里插入图片描述

上传flask项目并运行

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

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

安装Nginx服务器

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

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

./configure --with-stream

在这里插入图片描述

make 

在这里插入图片描述

sudo make install

在这里插入图片描述

Nginx的启动与关闭

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

或者直接切换到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.

在这里插入图片描述

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

或者

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

没有上面的过程当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

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

还可以用Docker来部署项目。

Linux screen命令


版权声明:本文为xwh3165037789原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。