Ubuntu部署flask项目

得意时要看淡,失意时要看开。不论得意失意,切莫大意;不论成功失败,切莫止步。志得意满时,需要的是淡然,给自己留一条退路;失意落魄时,需要的是泰然,给自己觅一条出路Ubuntu部署flask项目,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

安装并配置虚拟机的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命令

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/156269.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!