zoukankan      html  css  js  c++  java
  • Nginx——在Windows环境下安装(一)

    下载

    Nginx是开源软件,用户可以访问 http://nginx.org/ 网站获取源码包或Windows二进制文件下载。其中1.13.x版本为开发版本,1.12.0版本为稳定版本。开发版本分支会较快的获得新功能和缺陷修复,但同时也可能会遇到新的缺陷。一旦更新稳定下来,就会被加入稳定版本分支。

    作为生产环境,通常建议用户使用稳定版本。

    Nginx在Windows环境下安装

    nginx的windows版本使用原生win32 API(非Cygwin模拟层)。当前存在的已知问题:

    1.采用select作为通知方法,所以不具备很高的性能和扩展性;

    2.虽然可以启动若干工作进程运行,实际上只有一个进程在处理请求所有请求;

    3.一个工作进程只能处理不超过1024个并发连接;

    4.缓存和其他需要共享内存支持的模块在windows vista及后续版本的操作系统中无法工作,因为在这些操作系统中,地址空间的布局是随机的;

    5.除了XSLT过滤器、图像过滤器、GeoIP模块和嵌入Perl语言支持以外,Nginx的Windows版本与Unix版本相比,功能几乎齐全。

    安装Nginx的Windows版本,建议下载最新的1.3.13开发版本,因为开发分支上包含了所有已知的问题修复,尤其是针对Windows版本的问题修复。解压下载得到的zip文件,进入nginx-1.3.13目录,运行nginx。

    C盘根目录下安装例子

    cd c:
    unzip nginx-1.3.13.zip
    cd nginx-1.3.13
    start nginx

    Nginx的Windows版本的控制命令包含如下:

    nginx -s stop 快速退出
    nginx -s quit 优雅退出
    nginx -s reload 更换配置,启动新的工作进程,优雅的关闭以往的工作进程
    nginx -s reopen 重新打开日志文件

    windows下nginx无法启动

    启动window上的nginx总是报错,查看logs目录下的error文件,发现报错信息:
    1340#3540: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
    大概意思是 nginx listen的80后端口被占用.
     
    在cmd窗口运行如下命令:
    C:UsersAdministrator>netstat -aon | findstr :80  
     
    如果是被系统占用:
    看到80端口果真被占用。发现占用的pid是4,名字是System。怎么禁用呢?
    1、打开注册表:regedit
    2、找到:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesHTTP
    3、找到一个REG_DWORD类型的项Start,将其改为0
    4、重启系统,System进程不会占用80端口
     
    重启之后,start nginx.exe 。
     在进程中
    在浏览器中,输入127.0.0.1,即可看到亲爱的“Welcome to nginx!” 了。
     
    如果是其它的占用,就找到相应进程pid,然后kill掉,重启nginx,比如:
    C:>netstat -aon|findstr "80" 
    TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448

    端口被进程号为2448的进程占用,继续执行下面命令:
    C:>tasklist|findstr "2448" 
    httpd.exe                     2560 RDP-Tcp#5                  2     16,984 K
    上面很明显,是httpd这个进行占用了80端口,大家都知道httpd这个进程是apache的进程,也确实我的服务器上已经启动了apache,所以关掉apache就行了。
    如果是其它的,可以直接kill掉。
     
    另:当然也可以你的nginx就不要监听80端口了~~~
     

    测试

    将Nginx conf文件的server block部分的配置如下:

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

    如上配置,在默认情况下 他的root是 nginx目录下的html文件夹

    用户可以通过访问“http://localhost:80/index.html”页面来查看Nginx的欢迎页面。

    Nginx在Windows环境下查看nginx进程

    用户还可以通过命令行运行tasklist命令来查看nginx进程:

    >C:>tasklist /fi "imagename eq nginx.exe"

    如果nginx没有启动或没有得到预期展示页面,可查看error.log文件以查看失败原因。如果日志文件不存在,可在Windows事件日志中查看。

    https://blog.csdn.net/zorro_jin/article/details/84927408

  • 相关阅读:
    每日博客
    每日博客
    今日收获
    今日收获
    今日收获
    今日收获
    今日收获
    今日收获
    今日收获
    今日收获
  • 原文地址:https://www.cnblogs.com/fightingtong/p/7048339.html
Copyright © 2011-2022 走看看