小工具      在线工具  汉语词典  dos游戏  css  js  c++  java

Ubuntu部署flask项目

# Python Web,flask,ubuntu,python 额外说明

收录于:112天前

安装并配置虚拟机的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 是一个网络服务器。您可能听说过服务器 apache/tomcat 等术语。事实上,apache/tomcat都是使用tcp/ip协议进行通信的。 uWSGI和uWSGI的区别在于它可以提供独特的uwsgi协议进行通信。

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

最简单的部署

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

# 安装screen命令
apt-get install screen

# 创建screen会话,会话名任意
screen -S test

在新窗口中启动flask程序,退出Xshell后程序仍会运行。

您还可以使用Docker来部署项目。

Linux 屏幕命令

. . .

相关推荐

额外说明

字符串.h

头文件 #include <string.h> strcasecmp 判断字符是否相等 (忽略大小写) 结果 相等: 等于0 例子 char* s1 = "hello"; char* s2 = "HELLO"; int result = strcas

额外说明

Unreal引擎

课程地址 https://www.bilibili.com/video/BV164411Y732?p=1 1 入门介绍 及 学习路线 2 安装 与 兼容设置 介绍 ps 2020.1 - ps 2020.2 3 修改虚幻4缓存路径,扩大C盘 闪退原因 4

额外说明

【Unity3D日常开发】应粉丝邀约,写一篇单例模式在Unity的实际应用,记得一键三连哦

推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 ❤ 一、前言 最近,有粉丝问我: 粉丝:“怎么用单例模式呀?” 我:“https://blog.csdn.net/weixin_4

额外说明

【从瀑布模式到水母模式】ChatGPT如何赋能软件研发全流程

文章目录 -前言 -本书概要 -内容简介 -作者简介 -专家推荐 -读者对象 -彩蛋 -前言 计算机技术的发展和互联网的普及,使信息处理和传输变得更加高效,极大地改变了金融、商业、教育、娱乐等领域的运作方式。数据分析、人工智能和云计算等新兴技术,也在不断

额外说明

Quarkus初体验--2.9.0.Final版本(Windows10系统 64位)

环境准备: 本地环境: Windows10系统 64位 Maven 3.8.4 GraalVM CE 22.1.0(包含了 Openjdk  11.0.15 ) Visual Studio 2022 社区版 一、安装 graalvm 相关介绍: Graa

额外说明

从源码解析Android系统模块架构

文章目录 Android的系统架构 深入理解PackageManagerService 深入理解ActivityManagerService Window 、WindowManager和WindowManagerService Application生命

额外说明

[JAVAee]锁策略

目录 乐观锁与悲观锁 乐观锁 乐观锁的冲突检测 悲观锁 读锁与写锁 重量级锁与轻量级锁  重量级锁 轻量级锁 自旋锁 公平锁与非公平锁 可重入锁与不可重入锁 乐观锁与悲观锁 乐观锁 在乐观锁中,假设数据并不会发生冲突,在正式提交数据时会对数据进行冲突检测

额外说明

第一个接受素数定理的人

文章目录 一、素数定理 二、素数定理的推论 (一)PNT推论1 (二)PNT推论2 三、第一个接受PNT的人 —— 高斯 一、素数定理 用 π ( N ) \pi(N) π(N)表示

额外说明

C讲课笔记:指针

文章目录 一、指针 二、指针变量 (一)概述 (二)案例演示 1、编写程序 - 演示指针变量用法.c 2、运行程序,查看结果 三、指针运算 (一)概述 (二)案例演示 1、编写程序 - 演示指向数组的指针.c 2、运行程序,查看结果 (三)课堂练习 (四

额外说明

10天从入门到精通Vue(四)Vue中的路由指南

文章目录 什么是路由 在 vue 中使用 vue-router 使用tag属性指定router-link渲染的标签类型 设置路由重定向 设置路由高亮 设置路由切换动效 在路由规则中定义参数 使用 `children` 属性实现路由嵌套 命名视图实现经典布

ads via 小工具