Nginx官网 http://nginx.org/
官网可查看下载不通版本Nginx 版本号 单数为测试版 双数为稳定版
在此下载的1.14版本 更新的详细信息http://nginx.org/en/CHANGES-1.14
http://nginx.org/en/docs/ 这里可常看配置文件的详细介绍

编译安装nginx之前建议安装“开发工具包组”
Nginx是模块化的,配置文件十分简洁,现在nginx也支持动态安装模块
下面先来一分完整版的nginx.conf

user nginx;
worker_processes 3;
#error_log logs/error.log;
#error_log logs/error.log notice;
error_log logs/error.log error;

pid logs/nginx.pid;

events {
worker_connections 2048;
}

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;

sendfile        on;
#tcp_nopush     on;

#keepalive_timeout  0;
keepalive_timeout  65;

#gzip  on;
gzip  on;
gzip_comp_level 9;

以上片段是nginx的主要配置了,可以定义nginx的各种性能,下面还有半部分,下半部分配置的主要是主机方面了(虚拟主机等,可定义多个主机(网站))。
下半部分:
server {
listen 80;
server_name localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

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

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
#    listen       8000;
#    listen       somename:8080;
#    server_name  somename  alias  another.alias;

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

# HTTPS server
#
#server {
#    listen       443 ssl;
#    server_name  localhost;

#    ssl_certificate      cert.pem;
#    ssl_certificate_key  cert.key;

#    ssl_session_cache    shared:SSL:1m;
#    ssl_session_timeout  5m;

#    ssl_ciphers  HIGH:!aNULL:!MD5;
#    ssl_prefer_server_ciphers  on;

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

}

下半部分就是定义了两个主机头实例

详细介绍配置文件,配置文件的所有项都是;结尾的。
user nginx; 在编译安装之前新建的nginx用户,备注:所有的软件用户都不能让其登录,useradd nginx -s /sbin/nologin。
worker_processes 3; 工作时候使用的CPU数量,一般是当前主机的CPU个数,或-1

#error_log logs/error.log;
#error_log logs/error.log notice;
error_log logs/error.log error; 错误日志查看的级别,纤细的log日志级别可以百度,有调试、警告、错误、崩溃等。

pid logs/nginx.pid;

events {
worker_connections 2048; 这行就是时间了,一颗cpu可以同时打开多少个进程,默认1024,当然不是越大越好的,也要结合自己的服务器性能,性能好的20480也行
}

接下来就是http的服务段了

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;

sendfile        on;
#tcp_nopush     on;

#keepalive_timeout  0;
keepalive_timeout  65; 长链短链的定义,长连接的话,客户端长时间不活动,消耗线程数,如果断链的话,频繁的重建销毁连接,也会增加服务器负载,最大可定义为120

#gzip  on;
gzip  on;  默认是注释的,需要打开来减少用户请求所需带宽,要是是 压缩客户其请求资源,可在流量器中查看
gzip_comp_level 9;  压缩级别有1-9 根据实际情况自定义

========

如果只有了以上的内容而没有sever段的话可以使用include来包含进来一个配置文件.............

如下图所示:
Nginx的初级配置文件介绍_第1张图片

可以看到此配置文件这种只有了主配置、events、和http三个段.....但是http段中新添加了个配置一项 include server.conf; 吧server.conf配置文件包含进来

重点在于server.conf中的配置

Nginx的初级配置文件介绍_第2张图片
以上为一个配置段

主配置文件在man段落
修改启动用户cpu个数,绑定cpu,inculde,打开最大的文件数,打开最大的进程数等。可以打开日志,自定义日志级别,日志还可以在定义任何段落
往下就是http级别的,所否压缩等,就是协议级别的。
servier段落中的root和location中的root是相互对应的关系

keepalived timeout至关重要,是保持一个回话时间的,如果想要连接复用,则需要在内核级别调试了