Windows下Nginx初入门

jopen 5年前


公司刚使用nginx,预先学习下。鉴于机器没有Linux环境,在Windows熟悉下。

下载

目前(2015-07-11),nginx的稳定版本是1.8.0,在官网下载先, windows版的nginx1.8.0

这是一个zip文件,解压后即可使用

启动

绿色文件,无须安装,直接即可启动。

据我所知,3种启动途径,其实都类似:

一、双击nginx.exe图标,可见黑窗口一闪而过,启动完毕。

二、命令行到nginx目录,输入nginx启动。(注,此方式命令行窗口无任何提示,且被锁定)

三、命令行到nginx目录,输入start nginx启动,此方式不锁定

启动后,默认情况下(无修改配置),可见到有两个nginx的进程,一个是master process,一个是worker processes。

测试

默认nginx部署了些静态内容,我们可通过它测试nginx是否在工作。

默认的配置文件(NGINX_HOME/conf/nginx.conf)如下:

#user  nobody;  worker_processes  1;  #error_log  logs/error.log;  #error_log  logs/error.log  notice;  #error_log  logs/error.log  info;  #pid  logs/nginx.pid;  events {    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;    sendfile  on;    #tcp_nopush  on;    #keepalive_timeout  0;    keepalive_timeout  65;    #gzip  on;    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;    # }    #}  }

通过观察配置文件的非注释项(参考 Nginx配置文件nginx.conf中文详解 ),大概可知:

1、启动了1个worker processes

2、worker_connections,最大并发数为1024

3、include mime.types,引入mime.types文件所声明的文件扩展名与文件类型映射

4、application/octet-stream,默认使用application/octet-stream

5、sendfile,开启高效文件传输模式

6、监听本机“localhost”的80端口

7、映射目录为“当前目录的html目录”

8、出现500、502、503、504错误,则映射到50x.html

浏览地址http://localhost,即可访问其默认页面,即映射到NGINX_HOME/html/index.html

其他静态内容,如html、图片,可自行添加测试。

日志

日志默认位于NGINX_HOME/logs/,可见:

1、access.log,访问日志

2、error.log,异常日志

3、nginx.pid,进程(仅在启动nginx后才有此日志)