Nginx实现负载均衡和文件服务器

./nginx -s quit

重启

./nginx -s reload

7) 打开80端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

打开浏览器,输入IP地址,出现Nginx页面

在这里插入图片描述

2.2 Windows中安装Nginx


1)去官网下载Nginx

http://nginx.org/en/download.html

2)解压,双击nginx.exe就可以了

在这里插入图片描述

3、反向代理配置

======================================================================

Nginx作为反向代理服务器可以对服务器的域名和端口进行映射,起到的作用有:

  1. 隐藏真正服务器的地址,提高安全性

  2. 解决跨域问题,将不同的域名和端口映射为相同的

  3. 负载均衡,将大量请求分发给不同的服务器处理

  4. 动静分离,将对不同资源的请求分发给处理各自资源的服务器等

反向代理案例:

在SpringBoot项目中添加控制器,端口是默认的8080

RestController

public class HelloController

{

@GetMapping(“/hello”)

public String hello(){

return “Hello Nginx”;

}

}

通过URL:http://localhost:8080/hello 可以正常访问

现在需要通过URL:http://www.xray.com/hello 也能访问到该接口

这就需要:

1、 将域名localhost映射到www.xray.com上

2.、将端口8080映射到80端口上(浏览器默认)

实现步骤:

1)在C:\Windows\System32\drivers\etc\host文件中添加:

127.0.0.1 www.xray.com

让windows系统支持www.xray.com域名

2)修改nginx.conf,添加配置

server {

listen 80;

server_name www.xray.com;

location / {

proxy_pass http://127.0.0.1:8080;

proxy_connect_timeout 600;

proxy_read_timeout 600;

}

}

proxy_pass 是原来的域名和端口,127.0.0.1就是localhost

server_name 后面是映射后的域名

listen 后面是映射后的端口

3)重启nginx

nginx -s reload

4、Nginx+Vsftp搭建文件服务器

==================================================================================

Nginx作为http服务器部署静态资源的性能非常高,Linux中的Vsftp组件可以实现文件的传输,Nginx+Vsftp可以组合搭建高性能的文件服务器,实现项目文件上传的功能。

4.1 安装vsftp


1) 安装vsftp组件

yum -y install vsftpd

2) 添加ftp用户

useradd ftpuser

登录后默认的路径为 /home/ftpuser.

3) 给ftp用户添加密码

passwd ftpuser

4) 修改配置

配置文件在/etc/vsftpd/vsftpd.conf

vi /etc/vsftpd/vsftpd.conf

修改配置

在这里插入图片描述

关闭匿名访问

在这里插入图片描述

添加端口范围

在这里插入图片描述

5) 重启vsftp

service vsftpd restart

6) 设置开机启动

chkconfig vsftpd on

7) 修改用户权限

chown ftpuser /home/ftpuser

chmod 777 -R /home/ftpuser

4.2 Nginx配置Vsftp


1) 新建目录用于保存图片

cd /home/ftpuser/

mkdir www

cd www

mkdir images

cd images

pwd

/home/ftpuser/www/images

2) 配置Nginx

nginx的配置文件是 nginx/conf/nginx.conf

在server中添加location

location /images {

root /home/ftpuser/www/;

autoindex on;

}

3) 重启nginx

./nginx -s reload

在浏览器输入 http://服务器地址/images , 可以看到上传目录下的文件列表

在这里插入图片描述

5、Nginx负载均衡

=========================================================================

5.1 负载均衡概念


每台服务器处理请求数都有上限,超过这个上限就可能挂掉,那么多部署几台服务器就可以解决这个问题吗?

也不一定,假设所有请求都打到一台服务器上,还是会挂掉。

负载均衡(Load balancing),是一种计算机技术,能将用户请求按一定的负载均衡算法,分配给集群中的每一台服务器上,从而避免单台服务器过载,也提高了服务器集群处理请求的响应速度,达到服务器资源的优化配置。

在这里插入图片描述

负载均衡可以通过客户端、服务器端和硬件实现,Nginx属于服务器端负载均衡技术。

5.2 负载均衡配置


1) 服务器设置

为了测试方便起见,可以在一台电脑上启动几个SpringBoot项目,以端口区别,模拟多台服务器

RestController

public class HelloController

{

@GetMapping(“/hello”)

public String hello(){

return “Hello 8081”;

}

}

2) 修改Nginx配置

在http中添加upstream,配置服务器列表,myservers是列表名称,内部每个server后面是服务器的IP和端口

upstream myservers {

server 192.168.0.113:8081;

server 192.168.0.113:8082;

server 192.168.0.113:8083;

}

添加server,配置代理将请求发送给myservers处理

server {

listen 8088;

server_name localhost;

charset utf-8;

location / {

proxy_pass http://myservers;

}

}

3) 重启Nginx

./nginx -s reload

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-x6nyv8Z2-1715555637406)]

[外链图片转存中…(img-wXHqHFn9-1715555637406)]

[外链图片转存中…(img-FAa7a0me-1715555637406)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 27
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值