nginx安装

环境

CentOS release 6.6 (Final) x86_64

配置yum源

# rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

安装

# yum -y install nginx


配置nginx

配置文件结构

   nginx配置文件是一个纯文本文件,一般位于/etc/nginx/目录下,整个配置文件是以block的形式组织。每一个block一般以一个大括号 "{}" 来表示。block可以分为几个层次,整个配置文件Main命令位置最高层,在Main层下面可以有events、http等层级,然而在http层中又包含server层,server又可以分为location层,并且一个server可以包含多个location层。

一个简单的nginx配置:

user  nginx;             #指定nginx的worker进程运行用户及用户组
worker_processes  1; #指定nginx开启的进程数    
error_log /var/log/nginx//error.log; #全局错误日志
pid /var/run/nginx.pid;  #pid存储位置
worker_rlimit_nofile 65535;#用于绑定worker进程和cpu
events {
    use epoll;     #指定工作模式
    multi_accept on; #在Nginx接到一个新连接通知后调用accept()来接受尽量多的连接
    worker_connections  1024;  #每个进程最大连接数
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    server_tokens off;
    #定义日志输出格式
    log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
                        '$status $body_bytes_sent "$http_referer" '
                        '"$http_user_agent" "$http_x_forwarded_for" "$request_time" "$connection" "-" "$host"';

    server_names_hash_bucket_size 128;
    
    client_max_body_size 32m; #允许请求最大单个文件字节数
    client_header_buffer_size 512k; #客户端请求headerbuffer大小
    large_client_header_buffers 4 1024k; #请求中较大消息头的缓存最大数量和大小
    
    sendfile on; #开启高效文件传输模式,将“tcp_nopush”和“tcp_nodelay”设置为“on”用户防止网络阻塞
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 60;  # 连接保持活动的超时时间

    gzip  on;     #打开gzip模块
    gzip_http_version 1.0;
    gzip_vary on;
    gzip_comp_level 6;    #压缩比例
    gzip_proxied any;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript; #指定压缩类型
    gzip_buffers 16 8k; #表示申请16个为8K的内存作为压缩结果流缓存

    include /etc/nginx/conf.d/*.conf;  #包含配置文件
    
    server {      #定义虚拟主机开始
    listen       80;    #指定虚拟主机的服务端口
    server_name  localhost;  #指定ip地址或域名,多个域名之间用空格隔开
    access_log  /var/log/nginx/log/host.access.log access ;#指定虚拟主机访问日志 
    location / {
        root   /data/web/www;       #网址默认路径
        index index.html index.htm; #设置默认访问首页
    }
    }
}