window怎么下载和使用nginx

希望下面的东西对你有帮助,我们一起学习,一起加油

1.首先去官网下载:http://nginx.org/en/download.html

2.下载后解压到指定文件夹,如图:

window怎么下载和使用nginx_第1张图片

3.启动negix有如下种:

(1).双击nginx应用程序即可,闪烁两下,即可

(2)打开cmd命令窗口,切换到nginx解压目录下,输入命令 nginx.exe 或者 start nginx ,回车即可

4.检查nginx是否安装成功:

(1):直接在浏览器地址栏输入网址 http://localhost:80,回车,出现以下页面说明启动成功:

window怎么下载和使用nginx_第2张图片

(2):也可以在cmd命令窗口输入命令 tasklist /fi "imagename eq nginx.exe" ,出现如下结果说明启动成功:

window怎么下载和使用nginx_第3张图片

 

4.nginx的配置文件是conf目录下的nginx.conf,默认配置的nginx监听的端口为80,如果80端口被占用可以修改为未被占用的端口即可:

检查80端口是否被占用的命令是: netstat -ano | findstr 0.0.0.0:80 或 netstat -ano | findstr "80"

当我们修改了nginx的配置文件nginx.conf 时,不需要关闭nginx后重新启动nginx,只需要在nginx目录下执行命令:

nginx -s reload  即可让改动生效:

window怎么下载和使用nginx_第4张图片

5.关闭nginx,如果使用cmd命令窗口启动nginx,关闭cmd窗口是不能结束nginx进程的,可使用两种方法关闭nginx

(1)输入nginx命令  nginx -s stop(快速停止nginx)  或  nginx -s quit(完整有序的停止nginx)

(2)使用taskkill   taskkill /f /t /im nginx.exe

注意:

nginx: [error] CreateFile() "E:\nginx\nginx-1.9.3/logs/nginx.pid" failed

nginx: [error] Open() "E:\nginx\nginx-1.9.3/logs/nginx.pid" failed

解决方法:

使用命令创建/logs/nginx.pid文件:

nginx -c conf/nginx.conf

6.如图:这是我以项目实践的配置:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;


    sendfile        on;



    keepalive_timeout  65;


    upstream serverProxy { 
		server 127.0.0.1:8084;
	}


    server {
        listen       8090;
        server_name  netBank;

        location /pweb {
            alias   D:\idea\project\NetBank\PerVx\static;
            index  index.php index.html index.htm;
        }


        location /pweb-web/ {
      	    proxy_pass http://serverProxy/pweb/;
	    proxy_cookie_path /pweb    /pweb-web;
            proxy_redirect          off;
        }


        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }    
    }  

}

例如:我的login页面在D:\idea\project\NetBank\PerVx\static这个路径下面,当我用http://127.0.0.1:8090/pweb/login.html就能访问我的登陆页面了,

当我登陆的时候,http://127.0.0.1:8090/pweb-web/login.do,nginx进行反向代理,它会去走 http://serverProxy/pweb/,然后服务器我们配置的是127.0.0.1:8084,那么最终它会是  http://127.0.0.1:8084/pweb/去访问我们的后台服务器

 

worker_processes : 这是表示进程数

worker_connections  1024:这是表示最大连接数1024

keepalive_timeout  :  这是表示请求完成后要保持连接多久

sndfile:  sendfile是个比 read 和 write 更高性能的系统接口,SENDFILE 配置项能大大提高 Nginx 的性能。 但是当 Nginx 是作为一个反向代理来使用的时候,SENDFILE 则没什么用了

listen:表示当前的代理服务器监听的端口,默认的是监听80端口,这里我配置了8090。注意,如果我们配置了多个server,这个listen要配置不一样,不然就不能确定转到哪里去了。

server_name:表示监听到之后需要转到哪里去,这时我们直接转到本地,netBank是我的项目名称。

location:表示匹配的路径,这时配置了“/”表示所有请求都被匹配到这里

alias:里面配置了alias这时表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文件即可,这里也可以用root代替。

alias指定的目录是准确的,root是指定目录的上级目录,并且该上级目录要含有location指定名称的同名目录。

index:当没有指定主页时,默认会选择这个指定的文件,它可以有多个,并按顺序来加载,如果第一个不存在,则找第二个,依此类推。

include       mime.types; 

default_type application/octet-stream; 

mime.types)这个配置是告诉浏览器这些文件数据是什么,(application/octet-stream)这个类型会让浏览器认为响应是普通的文件流

upstream:这是实现负载均衡,就是实现nginx反向代理的配置

upstream依照轮询(默认)方式进行负载,每一个请求按时间顺序逐一分配到不同的后端服务器。假设后端服务器down掉。能自己主动剔除。尽管这样的方式简便、成本低廉。但缺点是:可靠性低和负载分配不均衡。

除了负载均衡,还有weight(权重):

  upstream serverProxy { 
		server 127.0.0.1:8084 weight=5;
        server 39.106.92.181:19001 weight=10;
	}

这说明,当反向代理时,会优先选择 server 39.106.92.181:19001这个服务器

ip_hash(訪问ip):每一个请求按訪问ip的hash结果分配。这样每一个訪客固定訪问一个后端服务器,能够解决session的问题

 upstream serverProxy { 
        ip_hash;
		server 127.0.0.1:8084;
        server 39.106.92.181:19001;
	}

fair(第三方)按后端服务器的响应时间来分配请求。响应时间短的优先分配

 upstream serverProxy { 
		server 127.0.0.1:8084;
        server 39.106.92.181:19001;
        fair;
	}

 

你可能感兴趣的:(学习和分享,nginx)