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. python基础之全局局部变量及函数参数

    1.局部变量和全局变量 1.1局部变量 局部变量是在函数内部定义的变量,只能在定义函数的内部使用 函数执行结束后,函数内部的局部变量会被系统收回 不同函数可以定义相同名字的局部变量,但是各用个的互不影 ...

  2. mysql新手进阶02

    云想衣裳花想容,春风拂槛露华浓. 若非群玉山头见,会向瑶台月下逢. 现在有一教学管理系统,具体的关系模式如下: Student (no, name, sex, birthday, class) Tea ...

  3. C 计算员工工资

    #include <stdio.h> int main(int argc, char **argv) { //定义四个变量 g每小时固定的工资 40 固定工作时间 pay工资 hours员 ...

  4. Spring Cloud(十):服务网关 Zuul(路由)【Finchley 版】

    Spring Cloud(十):服务网关 Zuul(路由)[Finchley 版]  发表于 2018-04-23 |  更新于 2018-05-09 |  通过之前几篇 Spring Cloud 中 ...

  5. javaee开发工具及环境配置过程

    在配置javaee开发环境的过程中遇到过很多问题,在此系统的整理一下我之前的配置过程 注:配置过程学习自<JSP&Servlet学习笔记(第二版)>详细过程可以阅读此书.在文章的最 ...

  6. Js全反选DataGrid

    // **************************************************************** // // function Trim(value) // -- ...

  7. HDU 3007 Buried memory(计算几何の最小圆覆盖,模版题)

    Problem Description Each person had do something foolish along with his or her growth.But,when he or ...

  8. 微信小程序如何获取openid

    微信小程序如何获取openid wx.login({ success: res => { // 发送 res.code 到后台换取 openId, sessionKey, unionId // ...

  9. LVS+Keepalive+Nginx实现负载均衡

    本文参考:http://blog.csdn.net/yinwenjie/article/details/47211551 简单粗暴写一下,做备忘,刚刚搭好没做优化呢,后期补充 一.机器准备 LVS-M ...

  10. Python中的名字隐藏

    Python对于module文件中的name是没有private和public区分的,严格来说,在module文件重定义的任何name,都可以被外界访问.但是,对于 from module imort ...