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进程杀死即可。 参考文章: 《五步教你实现使用Nginx+uWSGI+Django方法部署Django程序》(下) 《五步教你实现使用Nginx+uWSGI+Django方法部署Django程序》(上) http://wiki.ubuntu.org.cn/Nginx
时间: 2024-12-28 00:57:39