微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ubuntu 18.04 搭建flask服务器(大合集)

ubuntu 18.04 搭建flask服务器(大合集)

Ubuntu python flask 服务器


本次使用的Ubuntu版本为:Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-112-generic x86_64)

本文档基于aliyun服务器上部署个人站步骤建立,全为个人实操,请参考自己项目使用,因为aliyun服务器中的Ubuntu镜像认使用的就是阿里源,所以我不需要进行换源操作(推荐换为国内源软件下载速度快)

因为服务器上使用的是root账户,所以部分命令没有加sudo权限也能使用,个人电脑上安装时,相应命令无法使用时,可以加上 sudo权限试试

准备:

本次搭建的是flask服务器环境,需要安装的组件有NginxMysqL、uwsgi、flask
Ubuntu 18.04中自带的python版本为
Python 2.7.17 (default, Jul 20 2020, 15:37:01)
Python 3.6.9 (default, Jul 17 2020, 12:50:27)
我的项目python3.6就够用了,所以我不需要对python环境进行改变,如有其它需求,请自行对应修改

对Ubuntu相关资源升级
1. linux资源升级 sudo apt-get update
2. linux软件升级 sudo apt-get upgrade

Nginx组件下载安装

1、Nginx下载并安装 sudo apt install Nginx
2、查看安装状态:sudo systemctl status Nginx

截图

3、查看安装版本:sudo Nginx -v

截图

4、上面结果正确后,浏览器访问你服务器的地址可得到下面结果(认情况下,阿里云的80端口是打开的,如果是本地的话还可能需要配置端口以及防火墙,请自行操作,本地地址http://127.0.0.1:80)

MysqL下载安装

1、MysqL下载安装:sudo apt-get install MysqL-server

2、配置MysqL,初始化:sudo MysqL_secure_installation
1)验证密码插件可以用来测试密码提高安全性。它检查密码的强度只允许用户设置足够安全。是否要设置验证密码插件


我选的 N (因为我是个人站,学习使用)
2)然后输入密码,第二次再次输入确认,这个密码就是MysqL数据库的root账号密码


3)认情况下,MysqL安装有一个匿名用户,允许任何人登录MysqL而不必为他们创建的用户帐户。这只是为了测试,并使安装变得更加顺利。您应该在进入生产之前删除它们环境。


我选的 N
4)通常,只允许根用户从“本地主机”。这确保了有人不能猜到来自网络的根密码


我选的 Y
5)认情况下,MysqL附带一个名为“test”的数据库任何人都可以访问。这也仅用于测试,在投入生产前应将其移除环境。


我选的 Y
6)重新加载特权表将确保所有更改到目前为止,将立即生效。


我选的 Y

3、检查服务状态 systemctl status MysqL.service ,出现以下结果及说明正常。

4、配置远程访问(仅本地使用即可不管)
1)首先使用root用户登入MysqL sudo MysqL -uroot -p,回车后输入密码


2)GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "password";
\*.*:代表可以访问所有数据库和表
root:代表远程登录用户名为root
"%":代表任何ip地址都可访问,认为本地localhost
"password":代表远程访问root用户密码是password
成功后会输出如下字样:Query OK, 0 rows affected, 1 warning (0.00 sec)
成功后使用exit; 退出数据库命令行

实例:
1 创建数据库weixx
CREATE DATABASE weixx;
2 创建用户wxx(密码654321) 并允许wxx用户可以从任意机器上登入MysqL的weixx数据库
GRANT ALL PRIVILEGES ON weixx.* TO wxx@"%" IDENTIFIED BY "654321";

5、编辑MysqL配置文件vi /etc/MysqL/MysqL.conf.d/MysqLd.cnf
bind-address= 127.0.0.1注掉。
或者在bind-address后面增加远程访问IP地址
bind-address=127.0.0.1 114.196.197.1(允许多个IP可访问MysqL服务器,空格隔开)
我是简单粗暴直接注释掉

6、重启MysqL服务 service MysqL restart ,重启后systemctl status MysqL.service检查服务状态是否为runing,是则正确。

flask 环境安装配置

flask可以安装在虚拟环境中,也可全局安装

1、全局安装 pip3 install Flask ,flask后面可跟版本号,不加版本号认安装资源路径最新版, (aliyun的Ubuntu中pip认指向的是python2,我需要用python3,所以使用pip3,如果你认pip指向为python3则使用pip即可)

使用python -m Flask --version命令验证安装,该命令将打印 Flask 版本.

我使用的是 python3 -m flask --version 命令,本教程记录时flask最新版为1.1.2
Python 3.6.9
Flask 1.1.2
Werkzeug 1.0.1

2、虚拟环境中安装。
1)安装虚拟模块 sudo apt-get install python3-venv.
对于使用python2的来说,那么 venv 模块无法使用。相应的,必须安装 virtualenv.
virtualenv 通过操作系统的包管理器安装:
sudo apt-get install python-virtualenv
2)在任何安全位置创建一个你的项目文件夹,用于存放你的项目和虚拟环境,如myproject。然后进入myproject.
使用python3 -m venv venv创建一个环境.创建完成后myproject里面会多一个venv文件
3)激活相应的虚拟环境:
. venv/bin/activate,也可以使用source venv/bin/activate激活


激活后,你的终端提示符会显示虚拟环境的名称venv
4)激活后,在虚拟环境中可使用pip安装flask: pip install Flask
使用命令 pip 而不是 pip3 、 python 而不是 python3
(不过我在实际使用中,项目后面安装组件的时候有时使用python安装不上,而使用python3反而安装上了,请自己结合实际使用)
5)使用python -m flask --version验证安装

到此flask就安装完成了。接着就开始在你的项目中写代码

3、停用虚拟环境
完成工作后,通过键入 deactivate 来停用环境,你将返回正常的 shell。

flask 项目部署

首先将你的完整项目上传到服务器上,上传方法有许多,自行上传
我使用的是git方式: git在Ubuntu 18.04上安装方法

项目上传到服务器上后,安装缺少的组件
在本地生成requirements.txt文件
pip freeze > requirements.txt
然后在服务器虚拟环境中安装requirements.txt依赖
pip install -r requirements.txt

所有依赖安装完成后使用python运行项目,如果能成功则进入下一步,否则解决所有错误
项目调试完毕后,进行项目部署

uwsgi 安装

1、使用命令 pip3 install uwsgi 安装uwsgi
2、在项目更目录下新建一个ini文件 vi uwsgi_conf.ini
文件内容参考如下:

我的小站还在建设中,所以本文持续更新……

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

相关推荐