RHEL6.1下nginx配置django服务器

                        RHEL6.1下nginx配置django服务器
1. Nginx安装
   1.1 下载
   1.2 安装
       $ tar zxvf nginx-1.0.11.tar.gz
       $ cd nginx-1.0.11
       $ ./configure --prefix=/opt/apps/nginx-1.0.11
       $ make
       $ make install
   1.3 配置
       $ vim /opt/apps/nginx-1.0.11/conf/nginx.conf
       修改location为:
           location / {
               root   html;
               index  index.html index.htm;
               fastcgi_pass 127.0.0.1:3000;
               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;               
           }     
      
       添加:
           # 添加django admin css js的支持, 否则django下的admin显示不了css, js   
           location  /admin-media/ {                                
               alias /usr/lib/python2.6/site-packages/django/contrib/admin/media/;
           }  

        $ vim /home/tony/dj_my_pro/today_go/settings.py
          ADMIN_MEDIA_PREFIX 修改为:
          ADMIN_MEDIA_PREFIX = '/admin-media/'  # 同nginx.conf配置的location中admin-media对应

2. Flup安装(random Python WSGI stuff)
   2.1 下载
   2.2 安装:
       $ sudo easy_install flup-1.0.2-py2.6.egg

3. Django启动
   $ cd /home/tony/dj_my_pro/today_go
   $ python manage.py runfcgi method=prefork host=127.0.0.1 port=3000
                              (这里host和port是同nginx.conf中fastcgi_pass中配置相对应的)

4. Nginx启动
   $ sudo /opt/apps/nginx-1.0.11/sbin/nginx -c /opt/apps/nginx-1.0.11/conf/nginx.conf
   $ sudo ln -s /opt/apps/nginx-1.0.11/sbin/nginx /usr/bin/nginx

5. 访问
   http://localhost       
   http://localhost/admin

6. 重启,关闭
   6.1 nginx关闭,启动
       $ sudo nginx -h  # 会发现-s 可以满足重启之类的要求,默认就是用的conf/nginx.conf配置
       $ sudo nginx -s [stop, quit, reopen, reload]
       或者通过kill方法
   6.2 django重新启动
       通过kill杀掉,还没发现比较好的方法
       

----------------------------------------------------------------------------------------------
安装过程中可能出现的错误:
1. ./configure: error: the HTTP rewrite module requires the PCRE library.
   解决方案:
        $ sudo yum install pcre-devel

猜你喜欢

转载自greybeard.iteye.com/blog/1329002