近期弄了一个小程序应用,后台选用的Python Flask。由于是第一次实际应用,而本地开发环境使用的是Windows和PyCharm,在最终部署到生产环境的时候就“麻爪”了,于是开始在网上搜索相关文章。搜到的文章要不有些年头,要不跟我情况不太一样,还有一些安装无用的东西太多。最终结合几个文章加上一天的尝试探索,找到了一个最简成功的过程方法,先整理分享,以期对所需之人有所助益。
本地项目环境:系统Windows10、开发工具PyCharm、框架flask_script、Python2.7
目标部署环境:阿里云ECS、系统CentOS7.1、Nginx 、uWSGI
使用工具:Xshell6、Xftp6
首先就是一台CentOS7服务器了,本人是赶在双十一在阿里云上购买的ECS,最近是双十二活动各位有意下手的抓紧了。服务器管理密码在控制台中进行重置修改。言归正传,服务器购买并准备好后,你还需要Xshell6和Xftp6这两个远程命令行和文件管理工具(当然你还可以选用其他,这两个也有个人免费版下载哦。下载方式搜一下)。
必要工具都准备好了,下面开始。运行Xshell,新建会话连接,输入目标主机IP地址,确认输入用户和密码,成功连接后
系统默认自带Python2.7,实际情况可以输入python -v查看;
首先安装pip
至此,所需要的基础环境包都装好了,此时你可以执行sudo nginx来测试一下。如果你已经在阿里云控制台安全组规则开放了服务器的80端口,就可以在浏览器中输入ip地址来查看。没问题的话应该可以看到下面的页面
接下来就是部署自己的项目到服务器。这时候就用到xftp了,同样连接到服务器,操作界面如图
首先使用xftp在服务器上创建要部署的环境目录,然后在xshell中使用cd命令切换到项目目录下。
创建虚拟环境 virtualenv venv (venv为虚拟环境目录名字) 看到done. 说明成功
激活 source venv/bin/activate (venv同上)
前面的venv表明我们当前进入到了python的虚拟环境。
此时我们可以用xftp上传我们项目的requirements.txt,即项目库列表到服务器目录下,再执行pip install -r requirements.txt来安装项目所需库。结束后我们可以执行deactivate来退出虚拟环境。
上传项目文件到服务器,本地创建好nginx的conf配置文件和uwsgi的ini配置文件并上传到服务器项目目录下。如果配置正确运行nginx,运行uwsgi,在浏览器中访问就能看到项目运行效果了。不同的系统命令不一样,包括安装库的名称等。简单列举Centos下nginx的几个基本命令
关于一些库的作用,还有配置文件的参数,及注意事项,等我搞清楚后另行说明。
纯属分享,不喜勿喷,谢谢!