最近尝试把项目迁移到Python环境下,特别新装了一台干净的Debian系统,准备重新配置环境,上网找了一些运行Python Web的环境方案,最后敲定Nginx+uWSGI组合,Nginx用得比较多,熟练些;uWSGI据说性能不错,想尝试一下。
网上大部分教程都是要求到uWSGI官方网站下载源码包,然后通过编译的方式安装,比如对于一台新Debian系统,可以通过下面的命令安装:
apt-get updateapt-get upgradeapt-get install build-essential psmiscapt-get install python-dev libxml2 libxml2-devapt-get install python-setuptoolscd /opt/wget http://projects.unbit.it/downloads/uwsgi-latest.tar.gztar -zxvf uwsgi-latest.tar.gzmv uwsgi-latest/ uwsgi/cd uwsgi/python setup.py install
还有一些配置我就不介绍了,大家可以参考Linode Library的《Deploy Python Code with WSGI using uWSGI and nginx on Debian 6 (Squeeze)》介绍。
今天要介绍的是利用APT源直接apt-get install安装配置我们所需要的环境,首先按惯例先安装MySQL和Nginx:
然后通过Debian Packages网站找到我们所需要的uWSGI在sid里,sid版里的东西表示仍在开发测试中,不是最终稳定版,不过对于我们测试来说是够用了,为了用sid里面的软件包,我们还需要修改我们的/etc/apt/sources.list源,添加deb http://ftp.tw.debian.org/debian sid main non-free contrib这一行,或者直接输入命令:
echo "deb http://ftp.tw.debian.org/debian sid main non-free contrib" >> /etc/apt/sources.list
配置过源列表后,我们就可以通过下面的命令安装了:
apt-get updateapt-get install uwsgi uwsgi-core uwsgi-plugin-python
安装完成后,配置文件按惯例放在了/etc/uwsgi里面,服务控制可以通过invoke-rc.d uwsgi后面跟命令参数来实现,不过这里有个小插曲我不得不提一下,安装时可能会报这样的错误:
The following packages have unmet dependencies: libc6-dev : Breaks: gcc-4.4 (< 4.4.6-4) but 4.4.5-8 is to be installed. E: Broken packages
看样子是依赖包gcc版本不匹配,我后来通过下面的方式解决了:
apt-get updateapt-get upgrade # 先尝试升级系统软件包 apt-get install libc6-dev
接下来就是安装django以及Python的MySQL支持,继续APT命令:
apt-get install python-django python-mysqldb
通过上面的步骤,Python环境应该安装到你的系统里了,切换到/usr/lib:
cd /usr/libls -l | grep python
你可能会发现系统内被默认安装了几个版本的Python,比如我这里就安装有3个版本:
/usr/lib/python2.6/usr/lib/python2.7/usr/lib/python3
如何确定当前的Python默认版本呢?很容易,直接通过下面的命令就可以了:
新闻热点
疑难解答