1.首先安装pip,pip安装其他的软件很方便, 已经有了pip就跳过这步。
wget https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz --no-check-certificatetar zxvf pip-1.3.1.tar.gzcd pip-1.3.1ln /usr/local/python2.6/bin/pip /usr/bin/pip
2. 安装uwsgi
pip install uwsgi
测试uwsgi,/home/mm/www目录下建立test.py,代码如下:
# test.pydef application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) return "Test uwsgi success!"
启动uwsgi,
uwsgi --http :8002 --wsgi-file /home/mm/www/test.py
本人服务器的ip是192.168.8.99, 在浏览器充访问http://192.168.8.99:8002/,显示"Test uwsgi success!", 说明uwsgi安装成功。
3. 安装django
pip install djangoln /usr/local/python2.6/bin/django-admin.py /usr/bin/django-admin.py
测试django,首先创建django应用mysite
[root@localhost www]# cd /home/mm/www/[root@localhost www]# django-admin.py startproject mysit
看看mysite这个应用
[root@localhost www]# cd mysite[root@localhost mysite]# lsmanage.py mysite
启动django应用
manage.py runserver 0.0.0.0:8002
好了,django应用的服务器启动了,在浏览器中访问
4.连接django和uwsgi
在/home/mm/www/mysite目录下创建django_wsgi.py,django_wsgi.py和manage.py位于同一个目录,django_wsgi.py的内容如下:
#!/usr/bin/env python# coding: utf-8import osimport sysreload(sys)sys.setdefaultencoding('utf8')os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")from django.core.handlers.wsgi import WSGIHandlerapplication = WSGIHandler()
然后启动uwsgi,
uwsgi --http :8002 --chdir /home/mm/www/mysite/ --module django_wsgi
在浏览器中访问http://192.168.8.99:8002/,同样能显示下图,表示成功,此次请求是经uwsgi传给django程序的。
5.nginx配置
nginx的安装和配置就不多说了。
在nginx.conf文件中加入下面内容
############################## django uwsgi#####################server { listen 8000; server_name 192.168.8.99; access_log /home/mm/www/logs/access.log; error_log /home/mm/www/logs/error.log; root /root/mm/www; location / { uwsgi_pass 127.0.0.1:8077; include /usr/local/nginx/conf/uwsgi_params; } access_log off;}
这样nginx配置就完成了, 然后重启nginx。
6.uwsgi使用ini配置
以上一直是用命令启动uwsgi,实际部署中使用配置文件方式启动。在/home/mm/www/mysite目录下创建文件uwsgi.ini, 内容如下:
[uwsgi]vhost = falseplugins = pythonsocket = 127.0.0.1:8077master = trueenable-threads = trueworkers = 1wsgi-file = /home/mm/www/mysite/mysite/wsgi.pychdir = /home/mm/www/mysite
以上设置中,Nginx 采用 8077 端口与 uWSGI 通讯。
下面启动uwsgi,
uwsgi --ini /home/mm/www/mysite/uwsgi.ini&
查看uwsgi进程,
[root@localhost mysite]# netstat -ntlp | grep uwsgitcp 0 0 127.0.0.1:8077 0.0.0.0:* LISTEN 19773/uwsgi
uwsgi启动成功了。
在浏览器中访问
至此,django + uwsgi + nginx的环境完成,吖吖,很快捷呀。
关闭uwsgi的方法:
killall -9 uwsgi