切记解压的路径里面不能包含中文!!!
1、windows下nginx的安装
1.1.下载nginx
下载地址:http://nginx.org/en/download.html
下载稳定版本,以Windows nginx-1.18.0为例,直接下载 nginx-1.18.0.zip
下载后解压,解压后目录D:\Program Files\nginx-1.18.0里,如下
1.2.启动nginx
有很多种方法启动nginx
(1)直接双击nginx.exe,双击后一个黑色的弹窗一闪而过
(2)打开cmd命令窗口,切换到nginx解压目录下,输入命令 nginx.exe 或者 start nginx ,回车即可。
1.3.检查nginx是否启动成功
1)、直接在浏览器地址栏输入网址 http://localhost:8333(最初是80端口,但是我的已经被占用了,注意这个是在nginx-1.18.0\conf\nginx.conf里面配置的)回车,出现以下页面说明启动成功。
2)、也可以在cmd命令窗口输入命令 tasklist /fi "imagename eq nginx.exe" ,出现如下结果说明启动成功
3)、nginx的配置文件是conf目录下的nginx.conf,默认配置的nginx监听的端口为80,如果80端口被占用可以修改为未被占用的端口即可。
4)、检查80端口是否被占用的命令是: netstat -ano | findstr 0.0.0.0:80 或 netstat -ano | findstr "80"。
当我们修改了nginx的配置文件nginx.conf 时,不需要关闭nginx后重新启动nginx,只需要执行命令 nginx -s reload 即可让改动生效。
2.nginx的启动和关闭---------------------
nginx的启动和关闭
nginx -h 查看帮助信息
nginx -v 查看Nginx的版本号
nginx -V 显示Nginx的版本号和编译信息
start nginx 启动Nginx
nginx -s stop 快速停止和关闭Nginx
nginx -s quit 正常停止或关闭Nginx
nginx -s reload 配置文件修改重新加载
nginx -t 测试Nginx配置文件的正确性及配置文件的详细信息
tasklist /fi "imagename eq nginx.exe" windows命令框下查看nginx的进程命令
3.应用场景
3.1 静态网站
在浏览器打开 localhost:8012,效果如下:
3.2 负载均衡
前提是你要打开tomcat服务
拓展:
########用户-->nginx负载均衡-->{Tomcat1,Tomcat2}访问动态资源######################
#(1)通过在nginx的nginx.conf 文件进行配置
#第一步:在http模块上添加:
upstream www.myweb.com { #www.myweb.com是个名字,写什么都可以
#有几个tomcat服务器,写几个server
server 127.0.0.1:9100 weight=3;
server 127.0.0.1:9200 weight=1;
}
#其中weight表示权重,用于后端服务器性能不均的情况,访问比率约等于权重之比,权重越大访问机会越大
#upstream是配置nginx于后端服务器负载均衡非常重要的一个模块,并且它还能对后端的服务器的健康状态进#行检查,若后端服务器中的一台发生故障,则前端的请求不会转发到该故障的机器
#(2)第二步:在server模块里添加
location /myweb {
#proxy_pass是代理转发, 转发到后面配置的路径
proxy_pass http://www.myweb.com #http:// 是固定的, www.myweb.com是上面 #upstream里配置的名称
}
#其中www.myweb.com字符串要和upstream后面的字符串相等
#以上两步: 就可以实现负载均衡
##############################################################################
#(3)负载均衡策略:(4种)
#(一)轮询(默认):在server后不添加weight参数
#在http模块上添加:
upstream www.myweb.com {
server 127.0.0.1:9100;
server 127.0.0.1:9200;
}
#(二)权重:在server后添加weight参数,访问几率和weight比接近
#在http模块上添加:
upstream www.myweb.com {
server 127.0.0.1:9100 weight=3;
server 127.0.0.1:9200 weight=1;
}
#(三)ip_hash:也叫IP绑定,每个请求访问IP的hash值分配,这样每个访问客户端会固定访问一个后端服务器,可##以解决会话Session丢失问题
#在http模块上添加:
upstream www.myweb.com {
ip_hash; #需要写在前面
server 127.0.0.1:9100;
server 127.0.0.1:9200;
}
#(四)最少连接:web请求会被转发到最少连接数的服务器上
upstream www.myweb.com {
least_conn; #需要写在前面
server 127.0.0.1:9100;
server 127.0.0.1:9200;
}
#(4)负载均衡其他配置
#备份机配置
upstream www.myweb.com {
server 127.0.0.1:9100;
server 127.0.0.1:9200 backup;
#其他所有的非backup机器down的时候,才请求backup机器
}
upstream www.myweb.com {
server 127.0.0.1:9100;
server 127.0.0.1:9200 down; #down表示当前的server是down状态,不参与负载均衡
}