Start Your Django Project in Nginx with uWsgi
Step 0:Install A,B,C,blabla needed
This can be seen in my another article in the blog.click here(unavailable now,just in the future)
Step 1:Create A Django Project
chdir /path/to/your/project/base/
django-admin.py startproject mysite
Step 2:Create Your uwsgi congfigure files and Edit them
chdir /path/to/your/project/base/mysite
touch mysite_uwsgi.conf mysite_uwsgi.py mysite_uwsgi.ini mysite_mysite_uwsgi.pid uwsgi.pid
sudo ln -s /path/to/your/project/base/mysite/mysite_uwsgi.conf /etc/nginx/sites-enabled/ # so that this configuration can be included into nginx's conf
# sudo ln -s /path/to/your/project/base/mysite/mysite_uwsgi.conf /etc/nginx/sites-enabled/mysite_nginx.conf # another name is also ok!
## ------------------------------------------------------------------------------------------------------------------------
vim mysite_uwsgi.conf
# mysite_uwsgi.conf
server {
listen 8000;
server_name 10.10.10.132; # after all of these steps,type http://10.10.10.132:8000/ into your browser to get what you want(ps.10.10.10.132 is my IP)
charset UTF-8; client_max_body_size 75M; location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8001; # nginx(not you) wiil get something from 127.0.0.1:8001 then return to you
uwsgi_read_timeout 2;
}
location /static {
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /path/to/your/project/base/mysite/mysite/static/;
}
}
# ln this file into the '/path/to/nginx/site-enable/' (have done in step 2 'sudo ln blablablabla')
## ------------------------------------------------------------------------------------------------------------------------
vim mysite_uwsgi.py
# mysite_uwsgi.py
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
## ------------------------------------------------------------------------------------------------------------------------
vim mysite_uwsgi.ini
[uwsgi]
socket = :8001
master = true
module = mysite_uwsgi
processes = 8
listen = 120
enable-threads = true
daemonize = /path/to/your/project/base/mysite/mysite_uwsgi.log
pidfile = /path/to/your/project/base/mysite/mysite_uwsgi.pid
pythonpath = /path/to/your/project/base/mysite/
pythonpath = /path/to/your/project/base/mysite/mysite_uwsgi
pythonpath = /path/to/your/project/base/mysite/mysite
buffer-size = 32768
reload-mercy = 8
vacuum = true
After all of these above,we can go to Step 3.
Step 3:Restart Your Nginx Service And uWsgi service
Here list the Commonly used commands:
sudo /etc/init.d/nginx stop
sudo /etc/init.d/nginx start
sudo /etc/init.d/nginx restart
And in this step you just need to restart your nginx(if it is started before, or use start instead)
sudo /etc/init.d/nginx restart # restart nginx
chdir /path/to/your/project/base/mysite
uwsgi --socket 127.0.0.1:8001 --wsgi-file mysite_uwsgi.py # start uwsig service,if not,you will get a 502(Bad Gateway) error.
Tips:
chdir /path/to/your/project/base/mysite
uwsgi --http 10.10.10.132:8001 --wsgi-file mysite_uwsgi.py
and then type http://10.10.10.132:8000/ in your browser to see if uwsgi work ok.if ok ,then shose socket
Tips:
nginx + uwsgi
apache + mod_wsgi
nginx + apache + ???
Step 4:Check If It is OK
Open your browser and type http://10.10.10.132:8000/ (10.10.10.132:8000 also ok)
And you will see the django's beautiful welcome page.
Q1:invalid request block size: 21573 (max 4096)...skip
uwsgi --socket :8052 --wsgi-file demo_wsgi.py --protocol=http
http://stackoverflow.com/questions/15878176/uwsgi-invalid-request-block-size
Q2:The requested URL /public was not found on this server.
# Django media
location /media {
alias /path/to/your/mysite/media; # your Django project's media files - amend as required
} location /static {
alias /path/to/your/mysite/static; # your Django project's static files - amend as required
} # Finally, send all non-media requests to the Django server.
location / {
uwsgi_pass django;
include /path/to/your/mysite/uwsgi_params; # the uwsgi_params file you installed
}
for more information:
tutorial from uwsgi.readthedocs.org:Django_and_nginx (follow it but failed,orz...)
tutorial from oschina.net:nginx + uwsgi + django (work)
Start Your Django Project in Nginx with uWsgi的更多相关文章
- 基于Nginx 和 uwsgi 搭建 django.
第一篇博客,不是很懂语法之类的,希望通过多写点东西,记录自己的成长,早点成为一个pyer. 就写下这两天折腾的这个nginx-uwsgi-django. 首先附上官方文档链接 http://uwsgi ...
- centos 7下 django 1.11 + nginx 1.12 + uwsgi 2.0
之前写过一个博客关于如何安装django的,见下网址, http://www.cnblogs.com/qinhan/p/8732626.html 还有一个网址如何安装nginx的 http://www ...
- 安装Django、Nginx和uWSGI
安装Django.Nginx和uWSGI 1.确定已经安装了2.7版本的Python: 2.安装python-devel yum install python-devel 3.安装uwsgi pip ...
- 基于Nginx和uWSGI在Ubuntu上部署Django项目
前言: 对于做Django web项目的童鞋,重要性不言而喻. 参考:https://www.cnblogs.com/alwaysInMe/p/9096565.html https://blog.cs ...
- Nginx+Python+uwsgi+Django的web开发环境安装及配置
Nginx+Python+uwsgi+Django的web开发环境安装及配置 nginx安装 nginx的安装这里就略过了... python安装 通常系统已经自带了,这里也略过 uwsgi安装 官网 ...
- centos6.5安装nginx+python+uwsgi+django
nginx+uwsgi+django环境部署及测试 默认系统自带的python2.6.6 第一步(安装setuptools) wget https://pypi.python.org/packages ...
- nginx 基于uwsgi部署Django
1.安装nginx yum install -y nginx(需要epel源) 2.安装环境 可以考虑使用虚拟化环境,本处不再使用 3.安装uwsgi yum groupinstall "D ...
- 项目的发布(nginx、uwsgi、django、virtualenv、supervisor)
导论 WSGI是Web服务器网关接口.它是一个规范,描述了Web服务器如何与Web应用程序通信,以及Web应用程序如何链接在一起以处理一个请求,(接收请求,处理请求,响应请求) 基于wsgi运行的框架 ...
- docker 部署django项目(nginx + uwsgi +mysql)
最近在学习用docker部署Django项目,经过百折不挠的鼓捣,终于将项目部署成功,爬过好多坑,也发现很多技能需要提高.特此写下随笔与小伙伴们分享,希望能对大家有所启发. docker的理论我就不赘 ...
随机推荐
- 用redis实现支持优先级的消息队列
http://www.cnblogs.com/tianqiq/p/4309791.html http://www.cnblogs.com/it-cen/p/4312098.html http://ww ...
- Struct2 向Action中传递参数(中文乱码问题)
就是把视图上的值传递到Action定义的方法中 也就是把数据从前台传递到后台 三种方式: 1. 使用action属性接收参数 比如jsp页面: <body> 使用action属性接收参数 ...
- 细谈Java
重载:相同函数名,不同参数. 重写(覆写):父类和子类之间的,子类重写了父类的方法. java的多态:重载+覆写 1. Main方法: 是public的,也是static,也是void的,参 ...
- 容斥原理应用(求1~r中有多少个数与n互素)
问题:求1~r中有多少个数与n互素. 对于这个问题由容斥原理,我们有3种写法,其实效率差不多.分别是:dfs,队列数组,位运算. 先说说位运算吧: 用二进制1,0来表示第几个素因子是否被用到,如m=3 ...
- Apache服务器部署多个进程
本文以xampp安装的apache服务为例进行介绍 1.复制配置文件目录,复制一个新的配置文件目录conf2,区别于原来的配置文件目录conf
- list去除重复
1. [代码][Python]代码 简单去重 ? 1 2 3 4 5 l = [1,2,3,3] l = list(set(l)) >>>l >>>[ ...
- redis.config翻译
# Redis configuration file example#redis配置文件范例 # Note on units: when memory size is needed, it is po ...
- jQuery Mobile 图标无法显示
对jquery mobile来说,使用data-icon属性配置,可以设置元素的图标.图标没有变成右箭头,而是如下图所示: //已经设置了图标 ,data-icon="home" ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(48)-工作流设计-起草新申请
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(48)-工作流设计-起草新申请 系列目录 创建新表单之后,我们就可以起草申请了,申请按照严格的表单步骤和分 ...
- JSON 数据的系统解析
- (IBAction)jsonSystemButtonDidClicked:(UIButton *)sender { self.JSONArray = [NSMutableArray array]; ...