nginx + uswgi +django
适合ubuntu 系统,不只是树莓派
安装必要软件
pt-get install build-essential psmisc
apt-get install python-dev libxml2 libxml2-dev
apt-get install python-setuptools
cd /opt/
wget http://projects.unbit.it/downloads/uwsgi-latest.tar.gz
tar -zxvf uwsgi-latest.tar.gz
mv uwsgi-latest/ uwsgi/
cd uwsgi/
python setup.py install
安装nginx/安装mysql
apt-get install mysql-server
apt-get install nginx
安装uwsgi,阿里源带了uwsgi这里直接安装
apt-get install uwsgi uwsgi-core uwsgi-plugin-python
安装django
apt-get install python-django python-mysqldb
配置
cat /etc/uwsgi/apps-enabled/www.ini
[uwsgi]
socket = 192.168.0.14:9000
chmod-socket =
limit-as =
processes =
master = true
daemonize = /var/log/uwsgi.log
enable-threads = true
vacuun = true
chdir = /var/www/html/testp/mysite #django 项目目录
module = mysite.wsgi #创建完项目后会在mysite侠自动生成wsgi.py ####说明module 配置######
tree /var/www/html/testp/mysite/
/var/www/html/testp/mysite/
├── manage.py
└── mysite
├── __init__.py
├── __init__.pyc
├── settings.py
├── settings.pyc
├── urls.py
├── wsgi.py
└── wsgi.pyc
重启uwsgi服务,此时会开放9000端口
voke-rc.d uwsgi restart
nginx配置
cat /etc/nginx/sites-enabled/www
server {
listen 8000; //转发8080端口到uwsgi端口9000
server_name localhost;
location / {
include uwsgi_params;
uwsgi_pass 192.168.0.14:9000;
uwsgi_read_timeout 2;
}
location /static {
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /home/fnngj/pydj/myweb/static/;
}
}
socket配置,这里可以选择写ip或者改成socket
cat > /etc/uwsgi/apps-enabled/www.ini << EOF
[uwsgi]
socket = /var/run/uwsgi/app/www/socket
chmod-socket =
limit-as =
processes =
max-request =
memory-report = true
enable-threads = true
pythonpath = /home/user/www
chdir = /home/user/www/mysite
wsgi-file = /home/user/www/mysite/wsgi.py
EOF # 重启uwsgi
invoke-rc.d uwsgi restart
注意上面的socket配置,这个在我机子上是这个路径,大家可以cd /var/run里面找下,然后配置正确,接下来建立Nginx配置文件: nginx配置 cat > /etc/nginx/sites-enabled/www << EOF
server {
listen ;
server_name localhost;
location / {
include uwsgi_params;
uwsgi_pass unix:///var/run/uwsgi/app/www/socket;
}
}
EOF 这里的uwsgi_pass依旧是上面我们找到的socket,注意一下server_name,这个是我们绑定的域名,通过nginx -s reload重新加载nginx。
socket
设置django admin 静态文件
如果不配置,访问admin就会没什么页面效果
1先设置setting
#增加ROOT这个行指定一个自己的目录,自行创建下面的目录
STATIC_ROOT ='/var/www/html/server/root_static/' STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR,'static'),
)
2更改nginx
server {
listen 8888;
server_name localhost;
location / { include uwsgi_params;
uwsgi_pass unix:///var/run/uwsgi/app/www/socket;
uwsgi_read_timeout 60;
}
location /static {
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /var/www/html/server/root_static; 配置成刚才的目录即可
}
}
重启nginx即可
配置sqlite3数据库权限(这样就赋予给2个文件权限比较安全)
sudo chgrp www-data project_dir //nginx使用的是www-data用户,project_dir项目目录
sudo chmod g+w project_dir
sudo chgrp www-data project_dir/db.sqlite3 # 更改为你的数据库名称,项目目录的下一层就是默认的数据库存储路径
sudo chmod g+w project_dir/db.sqlite3
nginx这个文章写的不错
http://code.ziqiangxuetang.com/django/django-nginx-deploy.html
nginx + uswgi +django的更多相关文章
- Nginx + Uswgi + Django的部署
Nginx + Uswgi + Django的部署 待更新 https://code.ziqiangxuetang.com/django/django-static-files.html https: ...
- Nginx+uswgi+Django部署
详情参考: http://blog.csdn.net/a_little_snail/article/details/78045636
- Ubuntu上通过nginx部署Django笔记
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式.今天在Ubuntu上使用Nginx部署Django服务,虽然不是第一次搞这个了,但是发现还是跳进了好多坑,g ...
- 五步教你实现使用Nginx+uWSGI+Django方法部署Django程序
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...
- 通过Nginx部署Django(基于ubuntu)
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...
- Nginx+uWSGI+Django+Python+ MySQL 搭建可靠的Python Web服务器
一.安装所需工具 yum -y install gcc gcc-c++ rpm-build mysql* libtool-ltdl* libtool automake autoconf libtool ...
- 安装Nginx+uWSGI+Django环境
Ubuntu Server 12.04 安装Nginx+uWSGI+Django环境 今天要介绍的是利用APT源直接apt-get install安装配置我们所需要的环境,首先按惯例先安装MySQL和 ...
- debian完整部署 Nginx + uWSGI + Django
手工部署一个Django服务器真心不容易,需要安装很多东西.从头开始搭建服务器,主要是为了梳理一下后续开发中一般为碰到的平台部署.对后续问题的解决有一定帮助. 通常部署有2中方式: 一种是使用现成提供 ...
- Nginx+uWSGI+Django原理
Python的Web开发中,如果使用Django框架,那么较为成熟稳定的服务器架构一般是Nginx+uWSGI+Django.而为什么一定要三个结合在一起呢?直接使用Django的runserver来 ...
随机推荐
- 20155230 2016-2017-2《Java程序设计》第六周学习总结
20155230 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 Java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象. 从应用程序角度 ...
- 浅谈iOS与社交化网络
CHENYILONG Blog 社交化网络 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong ...
- HDU 1427 速算24点 (深搜)
题目链接 Problem Description 速算24点相信绝大多数人都玩过.就是随机给你四张牌,包括A(1),2,3,4,5,6,7,8,9,10,J(11),Q(12),K(13).要求只用' ...
- Mysql服务优化
Mysql服务优化 Mysql服务加速优化的6个阶段 硬件层面优化 操作系统层面优化 Mysql数据库层面优化 网站集群架构层面优化 安全优化 流程.制度控制优化 1.硬件层面优化 CPU ...
- bootstrap-table 应用
更多内容推荐微信公众号,欢迎关注: 前端代码:js初始化表格,使用服务器端分页:<!DOCTYPE html> <html> <head> <meta cha ...
- 上海支付宝终面后等了两周,没能收到offer却来了杭州淘宝的电话面试
上上周一(14/12/22)上海支付宝hr终面 http://www.cnblogs.com/zhanghaoh/p/4178386.html 苦苦等了两周,没能如愿收到offer,却在今天等来了 杭 ...
- 【原创】Linux环境下的图形系统和AMD R600显卡编程(1)——Linux环境下的图形系统简介
Linux/Unix环境下最早的图形系统是Xorg图形系统,Xorg图形系统通过扩展的方式以适应显卡和桌面图形发展的需要,然而随着软硬件的发展,特别是嵌入式系统的发展,Xorg显得庞大而落后.开源社区 ...
- 曹冲称象小游戏pygame实现
#!/usr/bin/env python # -*- coding: UTF-8 -*- import pygame from pygame.locals import * from sys imp ...
- python面向对象(五)之多态
继承 在讲多态之前我们再复习下继承,下面是一个例子. Circle 和 Rectangle 继承自 Shape,不同的图形,面积(area)计算方式不同. # shape.py class S ...
- Linux下的输入/输出重定向
Linux环境中支持输入输出重定向,用符号<和>来表示.0.1和2分别表示标准输入.标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2>lee.dat 表示 ...