WSGI配置

 #!/usr/bin/python
"""
WSGI config for rana project. It exposes the WSGI callable as a module-level variable named ``application``. For more information on this file, see
https://docs.djangoproject.com/en/1.9/howto/deployment/wsgi/
""" import os, sys
# 这里是服务器中的项目目录
sys.path.append('/home/www/rana') from django.core.wsgi import get_wsgi_application os.environ.setdefault("DJANGO_SETTINGS_MODULE", "rana.settings") application = get_wsgi_application()

wsgi.py

接下来使用uwsgi运行一下项目

uwsgi --plugin http,python --http :8000 --wsgi-file wsgi.py

使用http协议运行wsgi.py,这时用浏览器访问会看到没有静态文件(js,css等)的页面,然后就是第二步,使用nginx做静态文件服务器。

nginx做静态文件服务器

想让nginx跑起来就要麻烦一点了。

1.修改nginx.conf

nginx.conf文件在 /etc/nginx 目录下,把user的值改为当前用户,否则会有权限问题。

2.如果需要用到80端口

如果需要用到80端口的话,就把 /etc/nginx/conf.d 目录下的default.conf删掉吧,因为80端口会冲突的。

3.新建conf文件

还是在 /etc/nginx/conf.d 目录下,新建一个conf文件,名字随便取,因为nginx.conf中有

include conf.d/*.conf

  这句,所有conf文件都会被读取。
新建的conf文件内容如下:

server {
listen 80; #启动的nginx进程监听请求的端口
server_name localhost; #域名,如果用vps就把vps的ip填上
#nginx错误日志,可自行设置,但必须保证提前建立好该目录和文件
error_log /home/www/log/error.log;
location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass localhost:9090; #对于动态请求,转发到本机的9090端口,
#也就是uwsgi监听的端口,这个只要不冲突就可以随意,
#不过之后运行uwsgi时填写的socket要和它一样
}
#error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location /static/ {
alias /home/www/rana/static/; #设定静态文件所在目录,要保证目录已经建好
}
location /media/ {
alias /home/www/rana/media/; #设定用户上传的媒体文件所在目录,要保证目录已经建好
}
}

5.运行nginx

查看端口占用

netstat -autp

停止80端口程序

kill pid

直接在控制台运行

nginx

6.运行uwsgi

这条命令和之前的有区别,将http改为了socket,让nginx去访问此端口。
同样也要先建好log文件。deamonize是让uwsgi在后台运行,并把日志记录在log文件中,否则一关掉控制台就不能访问了。

uwsgi --socket :9090 --wsgi-file wsgi.py --daemonize /home/www/log/deamon.log

Centos +django+nginx的更多相关文章

  1. 阿里云Centos+Django+Nginx+uWSGI

    针对系统中自带的Python2.7版本 1.安装python-devel yum install python-devel 2.安装uwsgi pip install uwsgi 3.测试uwsgi是 ...

  2. centos django+Nginx+uwsgi部署

    第五天 部署python3+uwsgi+nginx的博客系统 ================================ mysql基本命令 mysql mysql -p mysqladmin ...

  3. 基于centos搭建nginx+uwsgi运行django环境

    环境: CentOS 7 nginx/1.9.12 Python 2.7.5 一:安装依赖包5 yum install zlib-devel bzip2-devel pcre-devel openss ...

  4. CentOS+uwsgi+django+nginx 环境部署及分析

    写在部署前 在线上部署django项目时,比较成熟的方案是:nginx + uWSGI + Django. nginx和Django 都比较熟悉了,uWSGI是什么呢?WSGI是一个协议,python ...

  5. CentOS上部署Django+Nginx+Uwsgi环境

    在CentOS上部署Django+Nginx+Uwsgi环境 奇谭  2016-09-01 评论  Linux  python django nginx uwsgi VirtualEnv的作用:创建隔 ...

  6. CentOS 6.5下安装Python+Django+Nginx+uWSGI

    1.安装Python31.1先安装zlib库及其他三方库安装uWSGI时需要使用zlib,否则执行python uwsgiconfig.py --build时会报ImportError,就是因为在安装 ...

  7. python Django Nginx+ uWSGI 安装配置

    环境: CentOS7.python-3.5.3.Nignx 1.10.3 .Django 1.10.6.uWSGI 2.0.14 django项目目录:/var/webRoot/p1 项目结构: 基 ...

  8. 吴裕雄--天生自然Django框架开发笔记:Django Nginx+uwsgi 安装配置

    Django Nginx+uwsgi 安装配置 使用 python manage.py runserver 来运行服务器.这只适用测试环境中使用. 正式发布的服务,需要一个可以稳定而持续的服务器,比如 ...

  9. CentOS Mono Nginx 部署 MVC4+WebApi

    CentOS Mono Nginx 部署 MVC4+WebApi 经过几天的折磨,终于在CentOS上成功部署了MVC4+WebApi.Mono上的服务器推荐两种:Jexus(国产高人写的一款很牛的服 ...

随机推荐

  1. 用Anko和Kotlin实现Android上的对话框和警告提示(KAD 24)

    作者:Antonio Leiva 时间:Mar 9, 2017 原文链接:https://antonioleiva.com/dialogs-android-anko-kotlin/ 借助Builder ...

  2. Selenium 入门到精通系列:一

    Selenium 入门到精通系列 PS:控制浏览器窗口大小.前进.后退.刷新 例子 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 20 ...

  3. Unity编辑器 - Rigidbody动力学Bake到AnimationClip

    Unity编辑器 - Rigidbody动力学Bake到AnimationClip Unity文档移动平台优化部分提到Physics对CPU的消耗较大 将动力学的特效如破碎等Bake成动画也是优化性能 ...

  4. 关于html2canvas清晰度

    最近有个小项目 需要生成海报让用户去分享~~~vue做的,海报通过html2canvas 生成. 遇到的最大问题是生成图片的清晰度~~网上找了好多方法. 放大倍数!~网上找的~~ var cntEle ...

  5. NO.01---今天聊聊Vuex的简单入门

    作为一款个人认为非常牛x的框架,个人使用起来得心应手,所以近期就记录一下这款框架吧. 首先说一说 Vuex 是什么? 官方给出的解释:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它 ...

  6. vue-router爬坑记

    简介 因为我们用Vue开发的页面是单页面应用,就相当于只有一个主的index.html,这时候我们就不能使用a标签来进行页面的切换了,所以这时候我们今天的主角Vue-Router就闪亮的登场了 Vue ...

  7. 哈希表 -数据结构(C语言实现)

    读数据结构与算法分析 哈希表 一种用于以常数平均时间执行插入.删除和查找操作的数据结构. 但是是无序的 一般想法 通常为一个包含关键字的具有固定大小的数组 每个关键字通过散列函数映射到数组中 冲突:两 ...

  8. 标注点(Labeled Point)

    标注点LabeledPoint是一种带有标签(Label/Response)的本地向量,它可以是稠密或者是稀疏的.在MLlib中,标注点在监督学习算法中被使用.由于标签是用双精度浮点型来存储的,故标注 ...

  9. scipy 图像处理-深度学习

    scipy 图像处理(scipy.misc.scipy.ndimage).matplotlib 图像处理 from scipy.misc import imread / imsave / imshow ...

  10. truffle框架快速开发合约步骤

    矩阵元区块链智能合约开发指南 1 适用范围 本规范描述了矩阵元区块链系统智能合约的开发约束与规范,用以指导DAPP开发者按照本规范开发基于矩阵元区块链运行的应用. 2 术语解释 术语 术语解释 DAP ...