Nginx+uWSGI+Django在Ubuntu下的部署
来源:互联网 发布:如何看待奚梦瑶 知乎 编辑:程序博客网 时间:2024/06/06 07:08
首先来介绍一下这三者之间的关系:
django是一个python web应用框架。采用了MVC的软件设计模式,即模型M,视图V和控制器C.
uwsgi是一个web服务器,它支持WSGI协议和uWSGI协议,通过协议规定的统一的接口,可以让web服务器和框架之间解耦,只需要支持相应的协议即可.
nginx ("engine x") 是一个高性能的HTTP和反向代理服务器.通过使用nginx可以将静态资源请求交由nginx来处理,动态请求再转发给应用.大大提高了效率.
1.django,django自带简单的web服务器,不过一般只用来做调试使用,不够稳定而且只支持单一进程.
2.django+uwsgi,通过使用uwsgi可以起多个进程来响应服务.
3.django+uwsgi+nginx,常用组合,效率较高.
1.django
(1)django安装
sudo apt-get install python-django
(2)新建工程
django-admin.py startproject test_project
(3)新建应用
cd test_project/ && django-admin.py startapp test_app
(4)运行
python manage.py runserver 127.0.0.1:8080
打开网页能看到django的提示界面就说明启动成功了
2.uwsgi
(1)安装
sudo pip install uwsgi
(2)运行
uwsgi --http :8000 --chdir /home/yixiang/Practice/Python/nginx_django/test_project --module test_project.wsgi
打开127.0.0.1:8000能看到之前django的欢迎界面表示uwsgi运行成功.
(3)配置
用命令行的方式启动参数较为复杂,我们一般用配置文件的方式,uwsgi支持多种配置文件格式,xml,ini等,我们这次使用xml作为例子.新建mytest_scoket.xml 目录.写入以下配置.
<uwsgi> <socket>127.0.0.1:8099</socket> <chdir>/home/yixiang/Practice/Python/nginx_django/test_project</chdir> <module>test_project.wsgi</module> <processes>1</processes> <daemonize>uwsgi.log</daemonize></uwsgi>
执行:uwsgi -x mytest_scoket.xml
3.nginx
(1)下载
sudo apt-get install nginx
(2)增加配置
新建一个配置文件test_project_nginx.conf,写入如下配置:
server { listen 8000; server_name 127.0.0.1; access_log /home/yixiang/Practice/Python/nginx_django/test_project/access.log; error_log /home/yixiang/Practice/Python/nginx_django/test_project/error.log; #charset koi8-r; #access_log logs/host.access.log main; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8099; } #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/yixiang/Practice/Python/nginx_django/test_project/static/; index index.html index.htm; } location /media/ { alias /home/yixiang/Practice/Python/nginx_django/test_project/media/; } }
然后将配置文件软连接到nginx的配置文件目录下:
cd /etc/nginx/sites-enabled/ && sudo ln -s /home/yixiang/Practice/Python/nginx_django/test_project/test_project_nginx.conf ./
(3)重新加载配置
sudo /etc/init.d/nginx reload
此时访问127.0.0.1:8000就能看到django的欢迎界面了.
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-07/133490.htm
- nginx+uwsgi在Ubuntu下部署django
- nginx+uwsgi+django在Ubuntu下的部署
- Nginx+uWSGI+Django在Ubuntu下的部署
- Nginx+uWSGI+Django在Ubuntu下的部署
- 从零开始在 Ubuntu 下部署 Nginx uWSGI Django 服务器
- Ubuntu下Django部署nginx+uwsgi
- Ubuntu下Django+uwsgi+nginx项目部署
- python Django + uwsgi + nginx 在阿里云Ubuntu环境下的部署
- 在Ubuntu上使用Nginx+uwsgi部署django
- 基于nginx和uWSGI在Ubuntu上部署Django
- 基于nginx和uWSGI在Ubuntu上部署Django
- Ubuntu+nginx+uwsgi部署Django项目
- ubuntu+uwsgi+nginx+django+supervisor部署
- Django Ubuntu部署:nginx + uWSGI配置
- linux下nginx uwsgi方式部署django
- Linux下uWSGI+NGINX部署Django+AngularJs
- Django+Nginx+uwsgi部署
- nginx uwsgi django部署
- Android FlowLayout实现热门标签功能
- python修改文件(fileinput)
- 数据结构期末总结
- Git综述
- Ubuntu 14.04 ROS android
- Nginx+uWSGI+Django在Ubuntu下的部署
- 面试题目详解
- LeetCode每日一题——231. Power of Two
- mysqlbinlog 导出操作日志
- 观察者模式
- FastStone Capture 注册码
- UITextFiedl 左侧设置小图标 leftview
- 1212小结
- Hadoop源码学习-运行实例