nginx安装和使用实现反向代理和负载均衡
简介
nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现。
windows下安装和使用
nginx官网下载地址: https://nginx.org/en/download.html
下载后解压到软件目录,nginx目录架构如下:
nginx目录结构
- 启动
1.第一种是直接双击nginx.exe,双击后一个黑色的弹窗一闪而过
2.第二种是打开cmd命令窗口,切换到nginx解压目录下,输入命令 nginx.exe
或者 start 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.conf配置可以直接使用 nginx -s reload
生效
- 查看进程
tasklist /fi "imagename eq nginx.exe"
查看nginx进程
- 测试
启动nginx后直接访问http://localhost/出现如下界面则表示启动成功
或者使用 tasklist /fi "imagename eq nginx.exe"
查看nginx进程,出现如下结果表示启动成功
- 配置
由于有一位大佬已经非常详细介绍,我不做复述,附上链接:https://blog.csdn.net/tsummerb/article/details/79248015
- 反向代理和负载均衡
我们可以修改nginx的配置文件nginx.conf 达到访问nginx代理服务器时跳转到指定服务器的目的,即通过proxy_pass 配置请求转发地址,即当我们输入http://localhost:80 时,请求会跳转到我们配置的服务器
反向代理示例:
使用默认nginx配置,我先开启tomcat,端口为8080,访问http://localhost:8080如下:
修改配置conf/nginx.conf配置并保存,使用 nginx -s reload
重启,再次访问http://localhost:80
nginx通过监听80端口,转发到http://localhost:8080,当然不仅仅是可以转发本机服务器,也可以是公网ip或者内网ip的端口,注意你需要打开该防火墙的端口访问
负载均衡示例:
我们可以配置多个目标服务器,当一台服务器出现故障时,nginx能将请求自动转向另一台服务器,例如配置如下:
当服务器 localhost:8080 挂掉时,nginx能将请求自动转向服务器 47.107.105.158:8090 。上面还加了一个weight属性,此属性表示各服务器被访问到的权重,weight越高被访问到的几率越高。
- nginx配置静态资源
将静态资源(如jpg|png|css|js等)放在如下配置的D:\nginx-1.17.1\static目录下,然后在nginx配置文件中做如下配置(注意:静态资源配置只能放在 location / 中),浏览器中访问 http://localhost:80/1.jpg即可访问到D:\nginx-1.17.1\static目录下的 1.jpg图片
nginx配置静态资源1 http://localhost/1.jpglinux下安装nginx
参考:linux安装nginx