最近在做一个web 2.0项目,选定标题所示组合。为什么这么选不多说了,主要是想用python框架,同时又要考虑性能。
以上几个版本都是目前最新的稳定版,网上也找过很多资料,但都是基于旧版本的,摸索后安装成功,记下来备忘。
nginx 1.2.0的安装前一篇文章已经说过了。
uwsgi和django都可以选择pip安装或源码安装,简单一点,我们选择pip安装:
1. 安装pip工具:
如果原来有perl的pip工具,先删除:sudo apt-get remove pip
sudo apt-get install python-pip
2. 安装uwsgi:
sudo pip install uwsgi --proxy=http://proxy:port,如果有代理,一定要加--proxy选项。
3. 安装django
sudo pip install django --proxy=http://proxy:port
4. 配置nginx
sudo cp /etc/nginx/uwsgi_params /etc/nginx/conf.d/uwsgi_params
在/etc/nginx/conf.d/目录下建一个新的站点配置文件,设名字为:mysite.conf,编辑为以下内容:
server { listen 80; server_name 192.168.0.10; charset utf-8; access_log /var/log/nginx/mysite.access.log main; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:9090; uwsgi_param UWSGI_PYHOME /var/www/mysite; uwsgi_param UWSGI_CHDIR /var/www/mysite; uwsgi_param UWSGI_SCRIPT index; } }
在/var/www/mysite/目录下建一个uwsgi_app.py文件,编辑它:
#!/usr/bin/env python # coding: utf-8 import sys import os sys.path.append(os.path.abspath(os.path.dirname(__file__))) sys.path.append('/var/www/') os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings' from django.core.handlers.wsgi import WSGIHandler application = WSGIHandler()6. 在/var/www/mysite/目录下建一个uwsgi_conf.xml的uwsgi配置文件:
<uwsgi>
<socket>127.0.0.1:9090</socket>
<chdir>/var/www/mysite</chdir>
<pythonpath>..</pythonpath>
<module>uwsgi_app</module>
</uwsgi>
7. 编辑/etc/rc.local文件
/usr/local/bin/uwsgi /var/www/mysite/uwsgi_conf.xml8. 重启服务器。