python bottle部署_centos6中简单配置nginx+uWSGI+python3+bottle环境新手教程

这两天在学习python的web开发,一开始是选择的是django,好不容易入门了,发现其与mysql.connector不兼容。裤子都脱了居然闹这样。。。

于是改用Bottle框架,这个框架对python3.3支持比较好一些。现在就简单记录一下我在centos6.4上的环境搭建之路,准备脱。

(教程中所有的~$只是代表linux命令输入的开始)

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-uwsgi-config.png

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已经成功启动!

uwsgi-start.png

现在依旧打开你的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!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值