现在的位置: 首页 > 综合 > 正文

Nginx学习笔记1—Nginx(Win32) 配置详解 Nginx学习笔记1—Nginx(Win32) 配置详解

2018年05月23日 ⁄ 综合 ⁄ 共 4809字 ⁄ 字号 评论关闭
 

Nginx学习笔记1—Nginx(Win32) 配置详解

经朋友推荐Nginx服务器,接下来的时间将研究一下该服务器

由于目前身边只有一个xp的系统,所以介绍一下Nginx在Win32环境下的配置

1、下载:http://nginx.org/en/download.html

我下载的是稳定版本 nginx-1.2.3.zip

2、将该文件放在无空格的目录下,比如放在E:\nginx-1.2.3.zip

开始—>运行—>cmd

然后执行一下命令:

  1. C:\Documents and Settings\Administrator>e:  
  2.   
  3. E:\>unzip nginx-1.2.3.zip  
  4.   
  5. E:\>cd nginx-1.2.3  
  6.   
  7. E:\nginx-1.2.3>start nginx  

打开“任务管理器”

会看到产生了两个进程:

同样我们也可以使用一下命令查看:

  1. tasklist /fi "imagename eq nginx.exe"  


运行一下如下图:

 

一个进程是主过程,另一个是工作进程。

3、在浏览器中输入:http://localhost或者http://127.0.0.1

会看到如下页面,说明Nginx启动成功

 

4、常用基本命令:

 

nginx -s stop fast shutdown
nginx -s quit graceful shutdown
nginx -s reload

changing configuration, starting new worker processes with a new configuration, graceful shutdown of old worker processes 

5、说一下配置文件

 

  1. #定义Nginx运行的用户及组,如user www www;  
  2. #user  nobody;  
  3. #定义启动进程数,一般配置为小于cpu数  
  4. worker_processes  1;  
  5. #全局错误日志及PID文件   
  6. #error_log  logs/error.log;  
  7. #error_log  logs/error.log  notice;  
  8. #error_log  logs/error.log  info;  
  9.   
  10. #pid        logs/nginx.pid;  
  11.   
  12. #工作模式及连接数上限   
  13. events {  
  14.     #use epoll;#参考事件模型  
  15.     worker_connections  1024;  
  16. }  
  17.   
  18. #设定http服务器(利用它的反向代理功能提供负载均衡支持)  
  19. http {  
  20.     include       mime.types;#文件扩展名与文件类型映射表  
  21.     default_type  application/octet-stream;#默认文件类型  
  22.     #charset gb2312;#默认编码  
  23.   
  24.     #日志设定  
  25.     #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '  
  26.     #                  '$status $body_bytes_sent "$http_referer" '  
  27.     #                  '"$http_user_agent" "$http_x_forwarded_for"';  
  28.   
  29.     #access_log  logs/access.log  main;  
  30.     #server_names_hash_bucket_size 128; #服务器名字的hash表大小  
  31.   
  32.   
  33.     sendfile        on;  
  34.     #tcp_nopush     on;#防止网络阻塞  
  35.     #tcp_nodelay    on;#防止网络阻塞  
  36.   
  37.     #keepalive_timeout  0;  
  38.     keepalive_timeout  65;#超时时间  
  39.   
  40.     #FastCGI是为了改善网站的性能——减少资源占用,提高访问速度,详细资料:参阅 http://www.fastcgi.com  
  41.     #fastcgi_connect_timeout 300;  
  42.   
  43.     #gzip  on;  
  44.     #gzip_min_length 1k; #最小压缩文件大小  
  45.     server {  
  46.         listen       80;  
  47.         server_name  localhost;  
  48.   
  49.         #charset koi8-r;  
  50.   
  51.         #access_log  logs/host.access.log  main;  
  52.   
  53.         location / {  
  54.             root   html;  
  55.             index  index.html index.htm;  
  56.         }  
  57.   
  58.         #error_page  404              /404.html;  
  59.   
  60.         # redirect server error pages to the static page /50x.html  
  61.         #  
  62.         error_page   500 502 503 504  /50x.html;  
  63.         location = /50x.html {  
  64.             root   html;  
  65.         }  
  66.   
  67.         # proxy the PHP scripts to Apache listening on 127.0.0.1:80  
  68.         #  
  69.         #location ~ \.php$ {  
  70.         #    proxy_pass   http://127.0.0.1;  
  71.         #}  
  72.   
  73.         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000  
  74.         #  
  75.         #location ~ \.php$ {  
  76.         #    root           html;  
  77.         #    fastcgi_pass   127.0.0.1:9000;  
  78.         #    fastcgi_index  index.php;  
  79.         #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;  
  80.         #    include        fastcgi_params;  
  81.         #}  
  82.   
  83.         # deny access to .htaccess files, if Apache's document root  
  84.         # concurs with nginx's one  
  85.         #  
  86.         #location ~ /\.ht {  
  87.         #    deny  all;  
  88.         #}  
  89.     }  
  90.   
  91.   
  92.     # another virtual host using mix of IP-, name-, and port-based configuration  
  93.     #  
  94.     #server {  
  95.     #    listen       8000;  
  96.     #    listen       somename:8080;  
  97.     #    server_name  somename  alias  another.alias;  
  98.   
  99.     #    location / {  
  100.     #        root   html;  
  101.     #        index  index.html index.htm;  
  102.     #    }  
  103.     #}  
  104.   
  105.   
  106.     # HTTPS server  
  107.     #  
  108.     #server {  
  109.     #    listen       443;  
  110.     #    server_name  localhost;  
  111.   
  112.     #    ssl                  on;  
  113.     #    ssl_certificate      cert.pem;  
  114.     #    ssl_certificate_key  cert.key;  
  115.   
  116.     #    ssl_session_timeout  5m;  
  117.   
  118.     #    ssl_protocols  SSLv2 SSLv3 TLSv1;  
  119.     #    ssl_ciphers  HIGH:!aNULL:!MD5;  
  120.     #    ssl_prefer_server_ciphers   on;  
  121.   
  122.     #    location / {  
  123.     #        root   html;  
  124.     #        index  index.html index.htm;  
  125.     #    }  
  126.     #}  
  127.   
  128. }  

研究完配置文件,对比了一下Tomcat服务器的配置,基本功能是一致的,现在我们单独摘除 首页配置

  1. location / {  
  2.     root   html;  
  3.     index  index.html index.htm;  
  4. }  


改为

  1. location / {  
  2.     root   html;  
  3.     index ak47.html index.html index.htm;  
  4. }  


并在E:\nginx-1.2.3\html   目录下添加自定义的文件ak47.html

  1. <html>  
  2. <head>  
  3. <title>特种兵—AK47</title>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  5. </head>  
  6. <body bgcolor="white" text="black">  
  7. <center><h1>欢迎来到特种兵—AK47  Nginx学习笔记页面</h1></center>  
  8. </body>  
  9. </html>  


在命令号输入:

  1. E:\nginx-1.2.3>nginx -s reload  


显示如下:

 

注:

①如果Nginx未启动,可以在logs\error.log中查找原因

②如果日志文件没有被创建,可以在Windows事件日志中查找原因

③如果显示的是一个错误页面,而不是预期的页面,也可以在logs\error.log中查找原因

④尽管可以同时开多个Nginx线程,但是实际上只有其中一个在做所有的工作。一个Nginx可以处理 不超过1024个并发连接

抱歉!评论已关闭.