JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

Nginx反向代理和负载均衡配置 nginx 反向代理 性能

wys521 2024-10-12 23:05:55 精选教程 21 ℃ 0 评论

主要了解一下nginx的反向代理和负责均衡的配置。

先了解一下常用的命令,进入sbin目录

./nginx 启动nginx 
./nginx -s stop 快速关闭nginx,可能不保存相关信息,并快速结束web服务
./nginx -s quit 平稳关闭nginx,保存相关信息,有安排的结束web服务
./nginx -s reload 重启,修改配置后都需要重启


反向代理

反向代理,就是"代理服务器"代理了"目标服务器",去和"客户端"进行交互。

nginx的配置文件默认是/conf目录里的nginx.cnf。主要看http块中,配置就简单些。

http {
 include mime.types;
 default_type application/octet-stream;
 sendfile on;
 keepalive_timeout 65;
 #设定实际的服务器列表
 upstream server1{
 server 127.0.0.1:8080;
 }
 server {
 listen 80;
 #使用www.test.com访问
 server_name www.test.com;
 #首页
 index index.html;
 
 #反向代理的路径,和upstream绑定
 location / {
 proxy_pass http://server1;
 }
 }
}

修改了配置文件,使用 nginx -t 检测一下有没错误,出现successful说明没有问题,可以重新启动nginx。

接下来,第一步需要在服务器上部署我们的web项目,tomcat端口要是8080的。我这里搞一个简单项目,名称test,里面的首页index.html

index.html只有一句话:测试项目一

第二、打开我们计算机的hosts文件,路径 是

C:\Windows\System32\drivers\etc,在底部添加一行

192.168.1.104 www.test.com

192.168.1.104是服务器ip,这样,当访问www.test.com时,系统会首先自动从Hosts文件中寻找其对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。

现在启动项目的tomcat,记得启动前要开放端口8080,启动完成在浏览器访问www.test.com

能访问到首页的内容,说明配置成功了。

负载均衡

在实际中,我们的网站或者系统都会有多台服务器运行着同一个项目,这时需要使用负载均衡来分流。使用nginx也可以实现负载均衡。

搞了两台虚拟机来模拟,192.168.1.104和192.168.1.169。在192.168.1.104上部署nginx,对请求作负载均衡处理。

同样配置简单些

http {
 include mime.types;
 default_type application/octet-stream;
 sendfile on;
 keepalive_timeout 65;
 #设定实际的服务器列表
 upstream balance-server{
 #weigth参数表示权值,权值越高被分配到的几率越大
 server 192.168.1.104:8080 weight=1
 server 192.168.1.169:8080 weight=3
 }
 server {
 listen 80;
 #使用www.test.com访问
 server_name www.test.com;
 #首页
 index index.html;
 #反向代理的路径,和upstream绑定
 location / {
 proxy_pass http://balance-server;
 } 
 }
}

最近在弄的时候,发现一个坑,upstream balance-server 这里,不能使用下划线“_”,不然后访问项目会报错。

The character [_] is never valid in a domain name.

现在两台机器已经部署了同样的项目,当前首页内容改一下以作区别,启动项目。

现在是虚拟机上,两台机器都可以直接访问,看一下内容

104:

109:

现在启动nginx,先用nginx -t看一下配置文件有无报错

successful,说明没有问题。启动之后记得要配置计算机的hosts文件。

现在访问www.test.com:

访问没有问题,自己配置的时候可以多刷新几次,看看效果。

配置还是比较简单的,性能优化会比较难。还有一些配置的可选参数可以去了解一下,还有其他的功能,比如静态资源配置、黑白名单、限流等等,有需要可以深入学习一下。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表