Nginx配置

    Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名.

    现在我就来教大家如何在RHEL6中配置nginx

参考网站:http://wiki.nginx.org/NginxChs


1.服务器需要安装的包

yum install pcre-devel openssl-devel gcc zlib-devel -y

2. 安装
    useradd nginx
    tar zxf nginx-1.0.8.tar.gz
    cd nginx-1.0.8
    vi auto/cc/gcc
        # debug
        #CFLAGS=”$CFLAGS -g”    (注释掉这行,去掉debug模式编译,编译以后程序只有几百k)

    vi src/core/nginx.h
        #define NGINX_VERSION "1.0.6"
        #define NGINX_VER "nginx" (修改此行,去掉后面的“NGINX_VERSION”,为了安全,这样编译
后外界无法获取程序的版本号)

    ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module
    make && make install
    ln -s /usr/local/nginx/sbin/nginx /sbin3. 配置文档
    vi /usr/local/nginx/conf/nginx.conf
    user nginx nginx; #使用的用户和组
    worker_processes 8; #指定工作衍生进程数
    error_log logs/error.log info; #错误日志定义类型
    pid    logs/nginx.pid; #指定 pid 存放的路径

    events {
    use epoll; #使用高效网络I/O模型 具体内容查看 http:/wiki.codemongers.com/事件模型
    worker_connections 1024; #允许的连接数
    }
    http {
    include    mime.types; #文件扩展名与文件类型映射表
    default_type application/octet-stream; #默认文件类型
    log_format main '$remote_addr - $remote_user [$time_local] "$request" ' #日志设定
        '$status $body_bytes_sent "$http_referer" '
        '"$http_user_agent" "$http_x_forwarded_for"';
    access_log logs/access.log main;
    server_names_hash_bucket_size 128; #服务器名字的hash表大小
    client_header_buffer_size 32k; #上传文件大小限制
    large_client_header_buffers 4 32k; #设定请求缓
    client_max_body_size 8m; #设定请求缓

    sendfile    on; 开启高效文件传输模式   
    tcp_nopush    on; 防止网络阻塞
    tcp_nodelay on; #防止网络阻塞
    keepalive_timeout 65; 超时时间
    gzip on;
     gzip_min_length 1k; #最小压缩文件大小
     gzip_buffers 4 16k; #压缩缓冲区
     gzip_http_version 1.0; #压缩版本(默认1.1,前端为squid2.5使用1.0)
     gzip_comp_level 2; #压缩等级
     gzip_types text/plain application/x-javascript text/css application/xml; #压缩类型
     gzip_vary on;

    server {
        listen    80;
        server_name localhost;

        location / {
            root html;
            index index.html index.htm;
        }

        location /status { #设定查看Nginx状态的地址
            stub_status on;
            access_log off;
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
    }

    server {
        listen    443;
        server_name localhost;
        ssl    on;
        ssl_certificate    cert.pem; # 需要手工生成 make -C /etc/pki/tls/certs/cert.pem )
(mv /etc/pki/tls/certs/cert.pem /usr/local/nginx/conf)

        ssl_certificate_key cert.pem;
        ssl_session_timeout 5m;
        ssl_protocols SSLv2 SSLv3 TLSv1;
        ssl_ciphers    HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

        location / {
            root html;
            index index.html index.htm;
        }
    }
4.配置cert.pem文件   
    cd /etc/pki/tls/certs/
    make cert.pem
    .......
    Country Name (2 letter code) [XX]:ch    #国家名称(2字母代码)
    State or Province Name (full name) []:shannxi    #州或省的名称(全称)
    Locality Name (eg, city) [Default City]:xi'an    #地区名称(如,市)[默认城市]
    Organization Name (eg, company) [Default Company Ltd]:123.org    #默认有限公司组织的名称(例如,公司)]
    Organizational Unit Name (eg, section) []:linux        #组织单位的名称(例如,一节)
    Common Name (eg, your name or your server's hostname) []:salim    #通用名称(例如,您的姓名或您的服务器的主机名
    Email Address []:root@localhost        #电子邮件地址
 

    cp /etc/pki/tls/certs/cert.pem /usr/local/nginx/conf/

5. 调试
    nginx -t    #查看语法
    the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    configuration file /usr/local/nginx/conf/nginx.conf test is successful

6. 启动
    nginx
nginx -s reload        刷新
   
访问:http://127.0.0.1       Welcome to nginx!

这样您就能看到nginx画面了