Heim  >  Artikel  >  Datenbank  >  [Gentoo] Nginx+Django配置

[Gentoo] Nginx+Django配置

WBOY
WBOYOriginal
2016-06-07 15:01:59977Durchsuche

大家都知道,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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn