1.第一步:安装nginx。 我这人比较懒,所以nginx安装我选择的是使用lnmp一键安装包。(百度搜索lnmp第一个就是) 这样,nginx、mysql、php也都有了。安装照着它的教程来就是了。安装好后 访问你的服务器地址如http://localhost/ 或http://你的服务器ip/ 显示一个带有大大的nginx图片的页面就说明安装正常。

2.第二步:编译安装python3.3。由于我的centos6.4默认安装的是python2.6,所以我要安装个3.3。
1) 下载python3.3
~$ wget http://www.python.org/ftp/python/3.3.0/Python-3.3.0.tgz
2) 解压、进入目录、创建安装目录
~$ tar -zxvf Python-3.3.0.tgz
~$ cd Python-3.3.0
~$ mkdir /usr/local/python33
3) 编译、安装。(–prefix 指定安装到的位置;如果是centos5或其它版本,有可能在安装完后python中import zlib时会提示no module named zlib,需要在这条语句后面追加参数 –with-zlib)
~$ ./configure –prefix=/usr/local/python33
~$ make && make install
4) 设置,因为安装完后 系统默认执行python命令时还是启动的2.6,我们需要把默认的2.6从bin目录中转移走,换成我们的python3.3。
~$ mv /usr/bin/python /usr/bin/python26
~$ ln -s /usr/local/python33/bin/python3.3 /usr/bin/python
以上两句 第一句 将原系统中的python重命令为python26,第二句创建软连接(快捷方式)指向到我们新安装的python3.3。这样在系统命令行中两个版本python都可以用。运行python将启动python3.3,运行python26将启动python2.6。

3.第三步,编译安装uWSGI。
1) 下载uwsgi
~$ wget http://projects.unbit.it/downloads/uwsgi-latest.tar.gz
2) 解压、进入目录
~$ tar zxvf uwsgi-latest.tar.gz
~$ cd uwsgi-2.0
3) 编译安装
~$ yum install python-devel
~$ make
4) 配置、修改权限
~$ cp uwsgi /usr/bin/
~$ chmod a+x /usr/bin/uwsgi
~$ groupadd -g 51 uwsgi
~$ useradd -g 51 uwsgi

4.第四步,配置nginx
~$ vi /usr/local/nginx/conf/nginx.conf
在server中加入一段


location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8080;
}


像这样:

nginx开启对python支持 nginx配置python_nginx

5.第五步,重启你的nignx: ~$ service nginx restart
重新访问你的服务器地址如http://localhost/ 或http://服务器ip/ 如果显示一个大大的502,说明应该正常。。

6.第六步,安装Bottle框架。安装这个bottle很简单,去它官网下载这个bottle.py文件,直接放到你的网站目录就行了,我们现在下载后放到default中。测试期间 使用lnmp默认的网站目录就行。默认网站目录在/home/wwwroot/default/中。
我比较喜欢定位到default后再支持wget下载。
~$ cd /home/wwwroot/default
default$ wget https://github.com/defnull/bottle/raw/master/bottle.py

7.第七步,现在可以编写你的python项目程序了。记得也放到这个default目录中(只是测试时)。
比如你写了一个hello world程序如下:


from bottle 
  import route 
  , default_app 
  
@route 
  ( 
  '/' 
  ) 
  
def hello 
  ( 
  ): 
  
return 
   'hello world!' 
  
 application 
  = default_app 
  ( 
  )


我们把这个文件命名为hello.py吧。。(注意它是/home/wwwroot/default/hello.py)

8.第八步,运行uWSGI。(注意现在我们当前目录还定位在default中)
$ uwsgi -s 127.0.0.1:8080 -w hello

回车后检查回显的信息中没有报错信息(你的hello.py中如果有语法错误等也将会显示在这些信息中,一般它的报错在倒数第四行以上),且最后一行提示spawned uwsgi worker 1 …. 说明你的uwsgi已经成功启动!

nginx开启对python支持 nginx配置python_nginx_02


现在依旧打开你的http://localhost/ 或http://服务器ip/ 看看是不是输出hello world了? 恭喜,第一个bottle app已经完成~~~!!!

上面启动uwsgi的方式不能关闭命令框,关闭的话uwsgi也将停止,访问页面时还是502。 要想把uwsgi放到后台,追加参数 –daemonize /var/log/uwsgi.log 这样,运行完命令后,不会显示那一片信息,像是什么都没做。 所有的回显信息都以日志的信息保存在uwsgi.log文件中。

linux的整个过程中,如果你想知道某个文件xxx的路径,可以用查找命令 find / -name xxx 。
happy!