> 데이터 베이스 > MySQL 튜토리얼 > [Gentoo] Nginx+Django配置

[Gentoo] Nginx+Django配置

WBOY
풀어 주다: 2016-06-07 15:01:59
원래의
1033명이 탐색했습니다.

大家都知道,Nginx上跑django是用fastcgi模式,因此先安装flup: $ emerge flup 然后安装Nginx,这一点要注意,需要添加fastcgi支持,否则启动时会报错:unknown directive "fastcgi_pass",命令如下: $ USE=fastcgi emerge nginx 之后就是 配置 nginx了,不

大家都知道,Nginx上跑django是用fastcgi模式,因此先安装flup:

$ emerge flup

然后安装Nginx,这一点要注意,需要添加fastcgi支持,否则启动时会报错:unknown directive "fastcgi_pass",命令如下:

$ USE=fastcgi emerge nginx

之后就是配置nginx了,不废话,配置文件如下(/etc/nginx/nginx.conf):

user nginx nginx;
worker_processes 1;

error_log /var/log/nginx/error_log info;

events {
    worker_connections  8192;
    use epoll;
}

http {
    include        /etc/nginx/mime.types;
    default_type    application/octet-stream;

    log_format main
        '$remote_addr - $remote_user [$time_local] '
            '"$request" $status $bytes_sent '
        '"$http_referer" "$http_user_agent" '
        '"$gzip_ratio"';
    client_header_timeout    10m;
    client_body_timeout    10m;
    send_timeout        10m;

    connection_pool_size        256;
    client_header_buffer_size    1k;
    large_client_header_buffers    4 2k;
    request_pool_size        4k;

    gzip on;
    gzip_min_length    1100;
    gzip_buffers    4 8k;
    gzip_types    text/plain;

    output_buffers    1 32k;
    postpone_output    1460;

    sendfile    on;
    tcp_nopush    on;
    tcp_nodelay    on;

    keepalive_timeout    75 20;

    ignore_invalid_headers    on;

    index index.html;

        server {
                listen 80;
                server_name localhost;

                # site_media - folder in uri for static files
                location ^~/site_media {
                        alias /var/www/meiweier/site_media/;
        }

                location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|mov) {
                      access_log   off; # po co mi logi obrazków :)
                      expires      30d;
                }

                location / {
                        # host and port to fastcgi server
                        fastcgi_pass 127.0.0.1:8000;
                        fastcgi_param PATH_INFO $fastcgi_script_name;
                        fastcgi_param REQUEST_METHOD $request_method;
                        fastcgi_param QUERY_STRING $query_string;
                        fastcgi_param CONTENT_TYPE $content_type;
                        fastcgi_param CONTENT_LENGTH $content_length;
                        fastcgi_pass_header Authorization;
                        fastcgi_intercept_errors off;
                }

                access_log       /var/log/nginx/localhost.access_log main;
                error_log        /var/log/nginx/localhost.error_log;
        } 
}

启动网站fastcgi的脚本:

#!/bin/bash
# Replace these three settings.
PROJDIR="/var/www/meiweier"
PIDFILE="$PROJDIR/meiweier.pid"
SOCKET="$PROJDIR/meiweier.sock"

cd $PROJDIR
if [ -f $PIDFILE ]; then
    kill `cat -- $PIDFILE`
        rm -f -- $PIDFILE
        fi
        exec /usr/bin/env - \
          PYTHONPATH="../python:.." \
            python $PROJDIR/manage.py runfcgi host=127.0.0.1 port=8000 pidfile=$PIDFILE

添加执行权限:

$ chmod +x meiweier.sh

添加到启动,这样系统启动时自动启动nginx和网站的fastcgi进程:

$ rc-update –add nginx default

$ rc-update –add meiweier.sh default

注意,要先将meiweier.sh拷贝到/etc/init.d目录下。

本文出自 “江湖” 博客,请务必保留此出处http://firefish.blog.51cto.com/298258/251844

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿