您的位置:首页 > 数据库 > SQL

VPS上配置NGINX+UWSGI+DJANGO+MYSQL

2014-10-20 11:31 483 查看
1.安装Django 参见:http://djangobook.py3k.cn/2.0/chapter02/
2.安装pip

$ sudo apt-get install python-pip python-dev build-essential
$ sudo pip install --upgrade pip
$ sudo pip install --upgrade virtualenv
$ sudo apt-get install libmysqld-dev

3.安装MySQL

$ apt-get install mysql-server

4.安装mysql-python

$ sudo easy_install mysql-python

5.安装uwsgi

$ add-apt-repository ppa:stevecrozz/ppa
$ apt-get update
$ apt-get install uwsgi

6.测试uwsgi 新建test文件

# test.py
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return "Hello World"

然后执行:

uwsgi --http :8001 --wsgi-file test.py

在浏览器访问 http://youip:8001 即可看到结果 7.配置Django

django-admin.py startproject django_test    #创建一个Django项目

编写django_wsgi.py文件,将其放在与文件manage.py同一个目录下。

#!/usr/bin/env python
# coding: utf-8

import os
import sys

# 将系统的编码设置为UTF8
reload(sys)
sys.setdefaultencoding('utf8')

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django_test.settings")

from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()

假如你的项目目录在/home/django_test,则执行命令:

uwsgi --http :8000 --chdir /home/django_test --module django_wsgi

8.配置uWSGI 新建一个XML文件: djangochina_socket.xml,将它放在 /home/django_test/ 目录下:

<uwsgi>
<socket>:8077</socket>
<chdir>home/django_test</chdir>
<module>django_wsgi</module>
<processes>4</processes> <!-- 进程数 -->
<daemonize>uwsgi.log</daemonize>
</uwsgi>

9.安装nginx

$ sudo apt-get install nginx

启动

$ sudo /etc/init.d/nginx start

10.配置 nginx uwsgi django 运行shell:

$ sudo vim /etc/nginx/sites-available/default

添加:

server {

listen   90;
server_name local;
access_log /home/django_test/logs/access.log;
error_log /home/django_test/logs/error.log;

#charset koi8-r;

#access_log  logs/host.access.log  main;

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

#error_page  404              /404.html;

# redirect server error pages to the static page /50x.html
#
error_page   500 502 503 504  /50x.html;
location = /50x.html {
root   html;
}

location /static/ {
alias  /home/django_test/collectedstatic/;
index  index.html index.htm;
}

location /media/ {
alias  /home/django_test/public/media/;
}
}

注意:配置文件中的一些文件夹需要自己新建 10.Nginx+uWSGI+Django的实现方式 重启Nginx服务器,以使Nginx的配置生效。

$sudo nginx -s  reload

重启后检查Nginx日志是否有异常。 启动uWSGI服务器

cd /home/django_test

uwsgi -x djangochina_socket.xml

检查日志 uwsgi.log 是否有异常发现。 访问服务 因此,我们访问VPS IP:8090,如果发现程序与 单独使用Django启动的程序一模一样时,就说明成功啦!
关闭服务的方法 将uWSGi进程杀死即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: