Centos +django+nginx

WSGI配置

 1 #!/usr/bin/python
 2     """
 3     WSGI config for rana project.
 4
 5     It exposes the WSGI callable as a module-level variable named ``application``.
 6
 7     For more information on this file, see
 8     https://docs.djangoproject.com/en/1.9/howto/deployment/wsgi/
 9     """
10
11     import os, sys
12     # 这里是服务器中的项目目录
13     sys.path.append(‘/home/www/rana‘)
14
15     from django.core.wsgi import get_wsgi_application
16
17     os.environ.setdefault("DJANGO_SETTINGS_MODULE", "rana.settings")
18
19     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

时间: 2024-10-10 17:03:35

Centos +django+nginx的相关文章

CentOS下nginx+python+fastcgi+postgres部署总结(django版)

最近因为项目上的需要开始大量使用nginx,因此也想趁机将以前常用的django+apache的架构换成django+nginx.常见的 django webapp 部署方式采用FCGI 或 WSGI的方式部署,在这里主要对CentOS 6.5下采用 Nginx + fastcgi + Python + Django + PostgreSQL 的搭建与配置步骤做一个简要说明,主要留作备忘,也希望对大家有所帮助. 一.PostgreSQL.Django.Nginx安装 postgres.Djang

Django Nginx+uwsgi 安装配置

Django Nginx+uwsgi 安装配置 在前面的章节中我们使用 python manage.py runserver 来运行服务器.这只适用测试环境中使用. 正式发布的服务,我们需要一个可以稳定而持续的服务器,比如apache, Nginx, lighttpd等,本文将以 Nginx 为例. 安装基础开发包 Centos 下安装步骤如下: yum groupinstall "Development tools" yum install zlib-devel bzip2-deve

Python3+django+nginx+uwsgi使用场景部署

1 环境介绍和准备Python3+django+nginx+uwsgi使用场景部署 当我们写完一套完整的网站功能,我们需要实时在生产环境上线,并需要容纳高并发的访问请求.所以我们需要部署以上来保证网站的服务质量. 1.1基本环境准备:echo 'LANG="en_GB.utf8"' > /etc/sysconfig/i18nLANG="en_GB.utf8" 1.2依赖环境:(env) [[email protected] nginx]# python -VP

centos setup nginx

安装说明 系统环境:CentOS-6.3软件:nginx-1.2.6.tar.gz安装方式:源码编译安装 安装位置:/usr/local/nginx 下载地址:http://nginx.org/en/download.html 安装前提 在安装nginx前,需要确保系统安装了g++.gcc.openssl-devel.pcre-devel和zlib-devel软件.安装必须软件: [[email protected] /]#yum install gcc-c++yum -y install zl

ZabbixAPI+django+nginx简单的二次开发实例(三)

接上一篇博文 ZabbixAPI+django+nginx简单的二次开发实例(二) 步骤三,站点架构部分 本部分用到的软件 1,Nginx:接受访问请求,应答静态页面,转发动态请求至uwsgi 2,uwsgi:应答动态请求 3,Django:处理后台数据 4,supervisor:管理进程 首先安装Nginx yum install epel-release yum install python-devel nginx 修改配置文件 vim /etc/ngnix/ngnix.conf user

ZabbixAPI+django+nginx简单的二次开发实例(五)

接上一篇博文 ZabbixAPI+django+nginx简单的二次开发实例(四) 步骤五,图形展示 写一个RRDtool图形展示的脚本,由于要和view.py联动,我放在了appname的文件夹下 cd /API/web/pos/moniter vim rrddraw.py #!/usr/bin/env python #coding=utf-8 import rrdtool #ping的图形 def itemping(data): pngname = str(data['pname']) #图

centos 安装nginx 和php

1.官方下载地址:http://nginx.org/download/nginx-1.6.0.tar.gz 一:nginx 0. yum install gcc gcc-c++ yum install glib2-devel openssl-devel pcre-devel bzip2-devel gzip-devel yum -y install perl-devel perl-ExtUtils-Embed yum -y install gcc automake autoconf libtoo

Install Python+Django+Nginx+UWSGI

1.安装Python3 1.2安装sqlite3 ttp://www.sqlite.org 2.安装Django框架 https://www.djangoproject.com/ 3.安装nginx http://nginx.org/ 4.安装uWSGI https://uwsgi-docs.readthedocs.io/en/latest/Download.html 启动uWSGI 5.设置Django+nginx+uWSGI

[CentOS] 结合Nginx部署DotNetCore的demo项目

系统CentOS安装: 网上很多教程,很详细,我就不再赘述了.在安装过程中,需要注意的是设置时区.个人账户密码.root密码(一定要注意,否则后续很麻烦).在首次启动时,需要接受许可. NETCoreSDK安装: 参考官方教程即可.https://www.microsoft.com/net/core#centos 安装nginx: 参看官方教程即可:https://www.nginx.com/resources/wiki/start/topics/tutorials/install/# 我是按照