##如何把Flask网站部署到腾讯云主机上
###腾讯云主机系统:ubuntu12.0
最近学习Flask开发,在腾讯云用学生身份买了一台主机,下面开始部署这个网站到主机上。
参考文章:http://www.oschina.net/translate/serving-flask-with-nginx-on-ubuntu
(但是本人遇到了一些不同的问题,已经解决了,现在分享给大家)
SSH工具:ssh secure shell client
登录云主机:
#前提条件
由于自带了python环境,所以不用再下载了,但是要安装两个python的安装工具:
sudo apt-get install python-setuptools
sudo easy_install pip
再用pip安装虚拟环境(防止和当前环境冲突)
sudo pip install virtualenv
#Nginx安装
什么是nginx:
Nginx (“engine x”) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、新浪、网易、腾讯等。
为什么要装nginx:
nginx 这个轻量级、高性能的 web server 主要可以干两件事情:
〉直接作为http server(代替apache,对PHP需要FastCGI处理器支持);
〉另外一个功能就是作为反向代理服务器实现负载均衡
安装方法:
安装并运行Nginx:
sudo apt-get install nginx
sudo /etc/init.d/nginx start
安装好了就可以测试一下:
打开浏览器访问你的服务器,你应该能看到Nginx欢迎页:
nginx用来作为反向代理服务器,放置到两台apache之前,作为用户访问的入口;nginx仅仅处理静态页面,动态的页面(php请求)统统都交付给后台的两台apache来处理。也就是说,可以把我们网站的静态页面或者文件放置到nginx的目录下;动态的页面和数据库访问都保留到后台的apache服务器上。
这里可以测试一个静态页面的访问:
写一个简单的hello.py(这里不使用虚拟环境,因为都是2.X的python写的),运行 python hello.py
然后访问服务器相应端口即可。
但是Nginx只能处理静态的页面,动态的需要另外一个东西:uwsgi
UWSGI:
什么是:uwsgi
安装uwsgi:uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换
sudo pip install uwsgi