nginx做反向代理的配置

作者 : admin 于 2009年12月16日, 18:39:13
2009
12-16

感谢铎哥的配置,感谢宴哥解决ssl连接的问题。

  1. server
  2.  {
  3.         listen      8181;
  4.         resolver 202.96.64.68;
  5.         location /
  6.         {
  7.             proxy_pass http://$http_host$request_uri;
  8.             proxy_redirect          off;
  9.             proxy_set_header        Host            $host;
  10.             proxy_set_header        X-Real-IP       $remote_addr;
  11.             proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
  12.             client_max_body_size    10m;
  13.             client_body_buffer_size 128k;
  14.             proxy_connect_timeout   90;
  15.             proxy_send_timeout      90;
  16.             proxy_read_timeout      90;
  17.             proxy_buffers           32 4k;
  18.         }
  19.         access_log /home/proxy.log;
  20.  }

django进程管理器

作者 : admin 于 2009年12月16日, 16:42:49
2009
12-16

nginx+php,php有个进程管理器,为php-fpm,Django没有,网上大概看了看,找出了几段,小改一下,能用了。

  1. #!/bin/bash
  2. siteroot="/home/project/sun"
  3. sitename="http://python.sunboyu.cn"
  4. cd $siteroot
  5. if [ $# -lt 1 ];then
  6.     echo "Usages: server.sh [start|stop|restart]"
  7.     exit 0
  8. fi
  9.  
  10. if [ $1 = start ];then
  11.     isrun=`ps aux|grep "manage.py runfcgi"|grep -v "grep"|wc -l`
  12.     if [ $isrun -eq 1 ];then
  13.         echo $sitename" has running!"
  14.         exit 0
  15.     else
  16.         python manage.py runfcgi method=threaded host=127.0.0.1 port=8000 --settings=settings
  17.         echo $sitename"is running!!"
  18.     fi
  19. elif [ $1 = stop ];then
  20.     djid=`ps aux|grep "manage.py runfcgi"|grep -v "grep"|awk '{print $2}'`
  21.     kill -9 $djid
  22.     echo $sitename" is stop!"
  23. elif [ $1 = restart ];then
  24.     djid=`ps aux|grep "manage.py runfcgi"|grep -v "grep"|awk '{print $2}'`
  25.     kill -9 $djid
  26.     echo $sitename" is stop!!"
  27.     python manage.py runfcgi method=threaded host=127.0.0.1 port=8000 --settings=settings
  28.     echo $sitename" is start!!"
  29. else
  30.     echo "Usages: server.sh [start|stop|restart]"
  31. fi

django+nginx的部分配置

作者 : admin 于 2009年12月16日, 11:26:55
2009
12-16

nginx的配置,特别感谢爱词霸吕同学,发扬了开源共享的精神,大大缩短了我的调试成本。

  1. server {
  2.     listen 80;
  3.     server_name python.sunboyu.cn;
  4.     location / {
  5.           fastcgi_pass 127.0.0.1:8000;
  6.           fastcgi_buffers      16  128k;
  7.           fastcgi_ignore_client_abort  on;
  8.           fastcgi_read_timeout 60;
  9.  
  10.           fastcgi_param PATH_INFO $fastcgi_script_name;
  11.           fastcgi_param REQUEST_METHOD $request_method;
  12.           fastcgi_param QUERY_STRING $query_string;
  13.           fastcgi_param CONTENT_TYPE $content_type;
  14.           fastcgi_param CONTENT_LENGTH $content_length;
  15.           fastcgi_param SERVER_PROTOCOL  $server_protocol;
  16.           fastcgi_param SERVER_PORT      $server_port;
  17.           fastcgi_param SERVER_NAME  $server_name;
  18.  
  19.           fastcgi_pass_header Authorization;
  20.           fastcgi_intercept_errors off;
  21.  
  22.     }
  23. }

同时附上一个额外的文档,nginx变量跟cgi协议的对应关系。
注:在配置中,并不是所有的变量必须加上,而是根据环境选择其中应该有的变量,至于具体加哪些变量,得求助高人了。

  1. #    Fast CGI param reference
  2. #    fastcgi_param    SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  3. #    fastcgi_param    QUERY_STRING  $query_string;
  4. #    fastcgi_param    REQUEST_METHOD  $request_method;
  5. #    fastcgi_param    CONTENT_TYPE  $content_type;
  6. #    fastcgi_param    CONTENT_LENGTH  $content_length;
  7. #    fastcgi_param    GATEWAY_INTERFACE  CGI/1.1;
  8. #    fastcgi_param    SERVER_SOFTWARE  nginx;
  9. #    fastcgi_param    SCRIPT_NAME  $fastcgi_script_name;
  10. #    fastcgi_param    REQUEST_URI  $request_uri;
  11. #    fastcgi_param    DOCUMENT_URI  $document_uri;
  12. #    fastcgi_param    DOCUMENT_ROOT  $document_root;
  13. #    fastcgi_param    SERVER_PROTOCOL  $server_protocol;
  14. #    fastcgi_param    REMOTE_ADDR  $remote_addr;
  15. #    fastcgi_param    REMOTE_PORT  $remote_port;
  16. #    fastcgi_param    SERVER_ADDR  $server_addr;
  17. #    fastcgi_param    SERVER_PORT  $server_port;
  18. #    fastcgi_param    SERVER_NAME  $server_name;