阿里云服务器ubuntu部署python+flask+Nginx+uwsgi网站
1、云服务器
-
小编首选阿里云服务器ECS 阿里云服务器可以使用阿里云高校学生计划,通过答题可以获得2个月免费使用权限,到期之后通过考核还能再获得4个月使用权限,同时也可以通过云翼计划获得购买优惠(对学生的优惠力度还是很大的!) -
阿贝云免费服务器 说一下简要使用体验吧,小编开始想白嫖服务器的,结果发现不是很友好,通过阿贝云网站能够获得免费的云服务器以及虚拟主机,但是首先得通过实名认证,这里就需要充值1块钱,之后就可以获得免费的虚拟主机,虚拟主机只支持ASP/PHP语言,对于使用这两种语言的朋友还是比较友好的,对于小编使用python语言就不是很友好啦!云服务器名额较少,需要抢。同时首次开通虚拟主机有30天权限,云服务器有24小时权限,都需要进行延期申请,延期申请虽说是免费的,但是需要到各大平台去发帖子(其实就是变相推广)。使用几天之后小编果断换到了阿里云服务器。 当然也还有其他免费的平台,我没有尝试,有兴趣的可以尝试尝试!!!(记得多多分享呀~) -
如果不想使用云服务器的话,可以考虑内网穿透(如花生壳等),小编没有搞明白,没有尝试。
2、网站部署笔记
- 通过阿里云获得一个操作系统为ubuntu 20.4的云服务器(具体获取过程小编这里就不赘述啦,最重要的事情是重置实例密码,后面需要用到)
- 远程链接云服务器(yourip为阿里云服务器公网ip,通过阿里云控制台可以获取)
ssh root@yourip
简单说一下使用什么终端进行链接,小编这里采用两种方法:
- 通过虚拟机virtualbox(vmware)安装manjaro系统,个人感觉manjaro较为美观
- 通过windows应用商店安装ubuntu子系统,进行链接
链接成功之后进行下一步操作
- 可以为服务器再添加一个具有sudo权限的用户进行操作而不使用root
adduser yourname --ingroup sudo
后面会设置新密码,之后全部回车跳过即可
设置完成之后就可以使用yourname进行链接服务器
ssh yourname@yourip
- 为服务器添加python3、vurtualenv、Nginx、uwsgi配置
python3
安装
apt-get install python3-pip
检测版本
pip --version
安装出错时需要更新apt
sudo apt upgrade
vurtualenv
pip install virtualenv
uwsgi
pip3 install uwsgi
Nginx
sudo apt-get install nginx
nginx安装成功后,将阿里云公网ip复制到浏览器进行访问会出现下面页面 注意:安装之后无法访问请检查阿里云安全组配置,80端口是否启用!!!
- 前述都安装之后,开始flask项目迁移(Django项目类似)
1、进入Nginx文件夹
cd /var/www
2、新建虚拟环境目录env
virtualenv env
3、进入虚拟环境
source env/bin/activate
进入成功之后会显示
(env)root@...
4、进入虚拟环境根目录
cd env
5、上传本地项目包,通过ftp软件(常用Filezilla)
6、对项目进行解压
7z x yourproject.zip
可能会出现错误,需要安装解压软件
apt install p7zip-full
安装之后进行解压
在解压文件夹下可以看到app.py文件
7、进入项目文件夹
cd yourproject
8、运行文件
python3 app.py runserver
9、发现没有flask模块,安装flask
pip install flask
安装成功后再次运行8
10、使用8000端口运行
python3 app.py runserver 0.0.0.0:8000
这里需要在阿里云安全组开启8000端口
11、配置pywsgi
修改app.py添加以下内容:
from gevent import pywsgi
if __name__=='__main__':
server=pywsgi.WSGIServer(('0.0.0.0',8000),app)
server.serve_forever()
app.run()
这里在虚拟环境中也需要安装gevent包,类似安装flask,不然会报错
12、上述所有都配置完全后再运行8或10
13、再浏览器输入yourip:8000即可访问项目文件
完成上述安装之后就需要对域名以及数据库进行配置!!小编今天只完成了这部分工作,剩下的之后再写笔记啦~ 感谢各大平台各位大佬的教程~ 如有错误之处还请指正~
|