抵不住朋友的诱惑,今天终于入手了一台阿里云服务器,是Ubuntu 1.4 32位版本,最初考虑是用来尝尝鲜只是买了个最低配的,价格算起来与在国外买个空间的价格相当吧(可能一年才贵100多),但用起来感觉就很不错,速度那是一个字:快。
自从倒戈向Linux世界后,对于一切大而全的开发框架与软件都有一种不讨喜的感觉,个人更喜欢于使用那些小而精,高性能高产生力的软件和开发框架,So 我现在的第一语言是Python和Coffee,开发框架就当然是 AngularJS (前端) + Flask (后端) ,关于 AngularJS 与 Flask 不在本文的叙述范围之内,本文解决的是 Flask 最后一公里的问题:Linux 部署。
我采用的部署方案是:
- Web 服务器采用 uwsgi host Flask
- 用 Supervisor 引用 uwsgi 作常规启动服务
- 基于 Nginx 作反向代理
首先, 阿里云服务器可以通过 SSH 指令在本机的终端进行远程连接
ssh root@云服务器地址
输入密码进入后所有的操作与本地终端完全一至。
安装 Python 环境
接下来是python , Ubuntu 的默认环境已经预装 python 2.7 所以只需要安装 python 的 pip 安装工具即可。pip 用于安装一些基于python 应用的软件工具,在下文中将会频繁使用。
PIP
如果用python 而不懂 [pip|http://pypi.python.org/] 那最好就快点脑补吧, 指令如下:
sudo apt-get install pip
VirtualEnv
不同的项目可能会引用各种不同的依赖包,为了避免版本与和应用之间的冲突而造成的“依赖地狱”
[Virtualenv | https://virtualenv.readthedocs.org/en/latest/] 就是我们python 项目的必须品了。VirtualEnv 可以为每个Python应用创建独立的开发环境,使他们互不影响,Virtualenv 能够做到:
- 在没有权限的情况下安装新套件
- 不同应用可以使用不同的套件版本
- 套件升级不影响其他应用
安装:
sudo pip install virtualenv
安装VirtualEnv 后只需要在项目目录内运行 virtualenv 目录名
就可以建立一个虚拟环境文件夹,然后启用 activate
指令即可启用该python虚拟环境,具体操作如下:
假定我的项目目录叫 /home/www/my_flask
,首先安装虚拟环境 (我习惯使用的虚拟环境目录叫 venv )
my_flask root$ virtualenv venv
>> New python executable in venv/bin/python
>> Installing setuptools, pip...done.
在项目目录下就会建立一个新的 ve