阿里云上 centos系统部署flask并运行
- 时间:2020-04-21
- 905人已阅读
1在Linux上安装Python 3
查看python版本
python -V
2Python虚拟环境
在Python中虚拟环境是一个放置你的项目的依赖环境的目录。这是一个将带有不同的依赖环境的项目隔离的好办法。它可以让你不用sudo命令就能安装包。
[leo@linux-vps] mkdir flask [leo@linux-vps] cd flask [leo@linux-vps flask] pyvenv-3.6 venv
要创建虚拟环境你需要使用“pyvenv-3.4”命令。上述命令会在venv文件夹的内部创建一个名为lib的目录,这里会安装项目所依赖的包。这里同样会创建一个bin文件夹容纳该环境下的pip和python可执行文件。
为我们的Linux系统信息项目激活虚拟环境
[leo@linux-vps flask] source venv/bin/activate
在虚拟环境中可以直接用pip3来安装flask 以及pymysql
然后我们将项目上传到我们的flask目录
下面是重点在服务器上flask程序运行的时候要指定host具体的修改以后的代码如下:
if __name__ == '__main__': app.run(debug=True,port=80,host='0.0.0.0')
指定host非常重要下面说一下0.0.0.0与127.0.0.1以及localhost的区别
0.0.0.0和127.0.0.1
共同点:
都属于特殊地址。
都属于A类地址。
都是IPV4地址。
区别:
在服务器中,0.0.0.0指的是本机上的所有IPV4地址,,如果我绑定的端口指定了0.0.0.0,那么通过内网地址或外网地址都可以访问我的应用。但是如果我只绑定了内网地址,那么通过外网地址就不能访问,所以如果绑定0.0.0.0,也有一定安全隐患,对于只需要内网访问的服务,可以只绑定内网地址。
在路由中,0.0.0.0表示的是默认路由,即当路由表中完全没有找到完全匹配的路由的时候所对应的路由。
用途
回环测试,通过使用ping 127.0.0.1 测试某台机器上的网络设备,操作系统或者TCP/IP实现是否工作正常。
DDos攻击防御:网站收到DDos攻击之后,将域名A记录到127.0.0.1,即让攻击者自己攻击自己。
大部分Web容器测试的时候绑定的本机地址。
localhost
localhost其实是个域名,而不是一个ip地址。之所以我们经常把localhost与127.0.0.1认为是同一个是因为我们使用的大多数系统上都默认localhost指向了127.0.0.1这个地址。
在linux系统中,/ets/hosts文件中都会有如下内容:
总结
127.0.0.1是一个环回地址或仅本地接口的ip地址(从该接口发送出去,双从该接口接收回来)。
3最后使python程序在Linux下一直运行
使用nohup命令
nohup
nohup 命令
用途:LINUX命令用法,不挂断地运行命令。
语法:nohup Command [ Arg ... ] [ & ]
描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。
[root@VM_0_14_centos longteng_web]# nohup python3 hello.py > log.txt && [1] 22103 [root@VM_0_14_centos longteng_web]#
或者
[root@VM_0_14_centos longteng_web]# nohup python -u index.py > log.txt 2>&1 & [1] 9391
已成功使python程序在Linux下一直运行。