`
bobning
  • 浏览: 60882 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

nginx mod_wsgi安装配置笔记

阅读更多
做个笔记,防止忘记。
安装环境: ubuntu8.04
首先确定有了python的头文件(/usr/include/python2.5),没有的话apt一下:)
sudo apt-get install python2.5-dev
1.nginx安装 
  $ ./configure --add-module=/path/to/mod_wsgi/ --prefix=/usr/local/nginx
  $ make && make install

2.mod_wsgi安装
  $ cd mod_wsgi-0.0.6/
  $ sudo python setup.py --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf --sbin-path=/usr/local/nginx/sbin

3.打开/usr/local/nginx/conf/nginx.conf
user  nobody; #工作进程属主
worker_processes  2; #工作进程,一般的等于CPU核数
daemon off;           
master_process  on;

error_log  logs/error.log info;
pid        logs/nginx.pid;

events {
    use epoll;  #linux2.6+ 
    worker_connections  1024; # 每个工作进程允许最大的同时连接数
}


env HOME;
#可以将你的project加入python的sys.path
env PYTHONPATH=/path/to/your/project;
#解决python执行egg包的权限问题
env PYTHON_EGG_CACHE=/tmp;

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

    log_format  main  '$remote_addr - $remote_port - $remote_user [$time_local] $request '
                      '"$status" $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    gzip  off;
    #ssl on;
    #ssl_certificate      conf/server.crt;
    #ssl_certificate_key  conf/server.key;

    wsgi_python_optimize 2;
    wsgi_python_executable /usr/bin/python;
    #wsgi_python_home /usr;
    #wsgi_enable_subinterpreters on;

    server {
        listen       80;
        server_name  localhost;


        include conf/wsgi_vars;

        #wsgi_middleware  wsgiref.validate  validator;
        #wsgi_middleware  paste.lint;

        location / {
            #client_body_buffer_size 50;
            #你的 module path 和  WSGI application 的名称,默认是application, 我这里用的是mod_wsgi自带的examples。
            wsgi_pass /your/path/to/examples/nginx.py;

            wsgi_pass_authorization off;
            wsgi_script_reloading on;
            wsgi_use_main_interpreter on;
        }

        location /wsgi {
            #client_body_buffer_size 50;
            wsgi_var TEST test;
            wsgi_var FOO bar;
            wsgi_var EMPTY "";
            # override existing HTTP_ variables
            wsgi_var HTTP_USER_AGENT "nginx";
            wsgi_var HTTP_COOKIE  $http_cookie;

            wsgi_pass /your/path/to/examples/nginx-2.py  main;

            wsgi_pass_authorization on;
            wsgi_script_reloading off;
            wsgi_use_main_interpreter on;
        }
    }
}

4.启动nginx:
  $ cd /usr/local/nginx
  $ sudo sbin/nginx -c conf/nginx.conf
5.打开浏览器,输入http://127.0.0.1/wsgi/ 输出如下内容:
Environment:
{'FOO': 'bar',
'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'HTTP_ACCEPT_CHARSET': 'gb2312,utf-8;q=0.7,*;q=0.7',
'HTTP_ACCEPT_ENCODING': 'gzip,deflate',
'HTTP_ACCEPT_LANGUAGE': 'zh-cn,zh;q=0.5',
'HTTP_CONNECTION': 'keep-alive',
'HTTP_HOST': '127.0.0.1',
'HTTP_KEEP_ALIVE': '300',
'HTTP_USER_AGENT': 'nginx',
'PATH_INFO': '/',
'SCRIPT_NAME': '/wsgi',
'TEST': 'test',
'wsgi.errors': <ngx_wsgi.Log object at 0xb7c1b050>,
'wsgi.input': <cStringIO.StringI object at 0xb7c5c4d0>,
'wsgi.multiprocess': True,
'wsgi.multithread': False,
'wsgi.run_once': False,
'wsgi.url_scheme': 'http',
'wsgi.version': (1, 0)}

sys.argv:
sbin/nginx
-c
conf/nginx.conf
sys.path:
/usr/local/nginx/sbin
/usr/lib/python2.5/site-packages/ipython-0.8.4-py2.5.egg
/usr/lib/python2.5/site-packages/flup-1.0-py2.5.egg
/usr/lib/python2.5/site-packages/DBUtils-0.9.4-py2.5.egg
/usr/lib/python2.5/site-packages/zope.interface-3.4.1-py2.5-linux-i686.egg
/usr/lib/python2.5/site-packages/mercurial-1.0.1-py2.5-linux-i686.egg
/usr/lib/python2.5/site-packages/python_memcached-1.43-py2.5.egg
/usr/lib/python2.5/site-packages/bsddb3-4.7.1-py2.5-linux-i686.egg
/home/bob/projects/passport/trunk/country_cn/apps
/usr/lib/python25.zip
/usr/lib/python2.5
/usr/lib/python2.5/plat-linux2
/usr/lib/python2.5/lib-tk
/usr/lib/python2.5/lib-dynload
/usr/local/lib/python2.5/site-packages
/usr/lib/python2.5/site-packages
/usr/lib/python2.5/site-packages/Numeric
/usr/lib/python2.5/site-packages/PIL
/usr/lib/python2.5/site-packages/gst-0.10
/var/lib/python-support/python2.5
/usr/lib/python2.5/site-packages/gtk-2.0
/var/lib/python-support/python2.5/gtk-2.0
/usr/lib/python2.5/site-packages/wx-2.8-gtk2-unicode
sys.stderr:
<ngx_wsgi.Log object at 0xb7c1b070>
pid:
6384
分享到:
评论

相关推荐

    nginx 的 mod_wsgi 模块

    nginx的mod_wsgi模块, 适用于nginx 0.5.34, 其他版本有对应的patch(尚不支持0.7.x, 对于0.6.x版本打过附带的patch之后编译可能还会有问题). 建议: python编译的时候推荐使用--eneble-shared, 否则需要修改mod_wsgi...

    Windows+Apache+mod_wsgi+virtualenv搭建django

    - 修改 Apache 的配置文件 httpd.conf,加载 mod_wsgi 模块,并指定包含自定义配置文件的路径。 6. **配置 Apache 和 Django:** - 创建 Apache 的自定义配置文件 `apache_django_wsgi.conf`,设置静态资源和 ...

    nginx流媒体安装包(nginx_mod_h264_streaming,yamdi)

    2. 安装Nginx_mod_h264_streaming - 下载nginx_mod_h264_streaming-2.2.7.tar.gz,并解压到适当目录。 - 进入解压后的目录,按照官方文档或README文件的指示编译并安装模块。通常包括配置、编译和安装步骤: ``` ...

    window7配置python3.3 + django + apache24 + mod_wsgi

    安装完成后,配置Apache的虚拟主机,将Django应用与mod_wsgi连接起来。在`httpd.conf`或新建的虚拟主机配置文件中添加以下内容: ```apacheconf WSGIScriptAlias / /path/to/your/django/project/wsgi.py ...

    Nginx安装+nginx_upstream_check_module后端健康检查

    ### Nginx安装与后端健康检查模块配置详解 #### 一、Nginx环境搭建与核心组件安装 **1.1 基础环境准备** - **操作系统**: CentOS 6.5 - **基本服务器配置**: 在安装过程中选择了“基本服务器”配置。 **1.2 安装...

    nginx_mod_h264_streaming-2.2.7

    部署 `nginx_mod_h264_streaming` 模块需要编译 Nginx 时包含此模块源码,然后按照官方文档或社区指南配置 Nginx 配置文件,设置流媒体路径、分段参数、加密密钥等选项。安装完成后,需要重启 Nginx 服务以应用新的...

    window下配置前端nginx后端多apache(django_wsgi)

    在Windows环境下,配置前端Nginx与后端多Apache服务器(使用Django WSGI)是一项常见的任务,特别是在部署大型Web应用时。这样的架构能够充分利用Nginx的静态资源处理能力,以及Apache对动态内容的高效处理。以下将...

    Nginx worker_connections配置太低导致500错误案例

    原来是Nginx配置文件中的worker_connections配置太低,只有50,导致与php-fpm交互过程中超出了connections限制,出现了500错误。直接将此参数的值改成10240就解决了此问题。 您可能感兴趣的文章:Nginx中worker ...

    Nginx安装url_hash插件.doc

    tar zxvf Nginx_upstream_hash-0.3.tar.gz ``` 3. **创建Nginx用户** 创建一个名为nginx的用户,通常用于运行Nginx进程,以提高安全性。 ``` useradd nginx ``` 4. **安装PCRE库** 编译并安装PCRE库,它是...

    Nginx如何配置url_hash转发方式.docx

    通过浏览器访问Nginx服务器的IP地址,如`http://your_nginx_server_ip/`,如果能正常访问,表示Nginx安装成功。 8. **配置url_hash**: 编辑Nginx的配置文件(通常为nginx.conf),在`http`块内添加`upstream`...

    nginx_upstream_check_module

    在Nginx配置文件中,`nginx_upstream_check_module`的使用涉及到一些特定的指令,如`check`、`check_interval`、`check_timeout`等。以下是一个简单的示例: ```nginx http { upstream backend { server backend1...

    windows-服务器-Django-Apache2.4-mod-wsgi.7z

    - **安装mod_wsgi**:通过pip安装mod_wsgi,并确保其版本与Python和Apache兼容。 - **配置Apache**:编辑Apache的配置文件httpd.conf,添加mod_wsgi模块,并设置虚拟主机。需要指定Django项目的路径、...

    nginxdocker镜像(nginx-upstream-check健康检查)

    官方nginx 镜像不带主动健康,本镜像将 nginx_upstream_check健康检查 打包到了镜像中。

    FastDFS+nginx+_cache集群安装配置超详细步骤

    《FastDFS+nginx+_cache集群安装配置超详细步骤》 FastDFS是一款开源的高性能、轻量级的分布式文件系统,适用于互联网行业的大量小文件存储。它具有高可用性、高扩展性和低延迟等特点,常被用于图片、视频等多媒体...

    05尚硅谷_Nginx_hit1qr_nginx尚硅谷_nginx_

    在“05尚硅谷_Nginx_hit1qr_nginx尚硅谷_nginx_”的学习资源中,我们将深入探讨 Nginx 的安装、配置以及如何实现负载均衡。 **一、Nginx 的安装** Nginx 的安装通常分为编译安装和使用软件包管理器安装两种方式。...

    linux nginx nginx_upstream_jvm_route

    linux nginx nginx_upstream_jvm_route

    nginx-1.16.1_nginx1.16_nginx1.16.1https_111111_nginx1.16.1_nginx

    Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了...其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。

    nginx视频教程.txt

    P505_Nginx视频教程_nginx配置文件基本配置 P606_Nginx视频教程_nginx配置文件events配置 P707_Nginx视频教程_nginx配置文件http配置之基本配置 P808_Nginx视频教程_nginx配置文件http配置之server配置 P909_...

    mod_zip, 用于 Nginx的流式压缩归档程序.zip

    mod_zip, 用于 Nginx的流式压缩归档程序 mod_zip mod_zip动态装配压缩文件。 it stream Nginx 代理代码的原生服务器stream组件文件,这样每次组装( 潜在的) 字节的归档文件时,进程都不会占用超过a 内存。mod_zip...

    nginx1.20.1_使用yum install增加 stream模块(非编译)

    centos7.9yum装nginx1.20.1关于stream模块失效的报错,如unknown directive “stream” in /etc/nginx/nginx.conf(非编译安装)

Global site tag (gtag.js) - Google Analytics