Linux系统--nginx的使用

1.什么是nginx

 代理服务器--使用比较多的为nginx代理服务器。

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。开源软件,服务器软件.能够支持高达 50,000 个并发连接数的响应

2.如何使用nginx

(1)安装nginx软件所需的依赖插件

yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

(2)把我们的nginx安装包上传到 linux中并解压  

(3)创建一个目录作为nginx的安装目录

mkdir /usr/nginx

(4)进入nginx的解压目录

(5)设置nginx的安装路径为上面/usr/nginx  

(6) 编译--安装

make
make install ---安装 

conf: 配置目录

html: 放置静态资源的。

logs: 日志

sbin: 启动和关闭nginx的脚本

(7)启动nginx 进入到你的nginx目录

./nginx 开启nginx

./nginx -s stop 关闭nginx

./nginx -s reload 重新加载配置文件---修改完配置文件后使用该命令

(8) 访问nginx服务器

原因:防火墙未关闭或者你的端口号未选择放行

 设置防火墙允许放行哪些端口号
firewall-cmd --add-port=你的端口号/tcp --zone=public --permanent

放行端口号后需要重启防火墙:

systemctl restart firewalld

查看哪些端口号被放行 


firewall-cmd --list-port 

关闭防火墙----慎重【关闭】 开启还会启动


systemctl stop firewalld 

 关闭防火墙或者放行端口号之后就可以进行访问了

3.nginx的配置文件

进入/usr/nginx/conf,打开该目录下的nginx.conf文件:

        cd /usr/nginx/conf         -------进入nginx.conf文件所在目录

使用vi打开该文件进行配置或使用Xftp调用本地软件打开:

        vi nginx.conf        --------使用vi打开nginx的配置文件

3.1默认的配置信息

(1)找到nginx.conf文件

(2)查看nginx.conf文件里的配置信息

 

(3) 访问nginx

默认的index.html文件里的内容

 

(4)修改 index.html文件的内容

进入到html目录下 使用vi命令修改 index.html内容

修改后的内容

3.2自己创建配置文件信息

 (1)创建配置文件信息

(2)创建my目录

(4)创建my.html文件

(5)传输到linux下

(6)访问

4.nginx三大核心

反向代理:

负载均衡:

动静分离:

4.1反向代理

正向代理: 该服务器代理的为客户端,对于后面真实的服务器来说,不知道访问者的地址。比如:翻墙软件。

反向代理: 该服务器代理的为服务器端,对于客户来说不知道访问的真实服务器。

如何使用nginx完成反向代理

准备一个真实项目和Tomcat服务器 并把项目部署到Tomcat.---springboot项目

(1)打包项目

(2)上传到linux系统下

(3) 启动真实项目

java -jar xxxx.jar

(4)修改nginx配置文件

(5)重新加载nginx

./nginx -s reload

(6)访问项目

ps:如果所有都配置完成无法进入指定页面,则需放行项目端口,我这里项目端口号是8081,然后重新加载防火墙;或者直接关闭防火墙,但关闭请慎重 

4.2负载均衡

用于搭建项目集群,在实际开发中我们会有多个服务器,这时我们要把项目部署在每一个服务器上,负载均衡减轻单台服务器压力,保证每台服务器的高效率及高可用

(1)开启两台服务器

(2)修改nginx配置文件

(3)重新加载配置文件

cd /usr/nginx/sbin

./nginx -s reload

(4)测试

根据上面的配置,我们创建了一个集群,名称为ban151,集群中一共由两个服务,相当于两台服务器(因为只有一台电脑,所以只能用端口号的不同来区别这两个服务器,真正使用时这些服务器的ip都不相同)。然后让我们的nginx直接代理这个集群。用户访问nginx的代理ip:81,nginx就会以轮询的方式分配服务器。

 nginx负载均衡的策略:

默认负载均衡的策略为轮询策略。

1)、轮询(默认)

  每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

2)、weight

  指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

3)、ip_hash

  每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

4)、fair(第三方)

  按后端服务器的响应时间来分配请求,响应时间短的优先分配。

5)、url_hash(第三方)

4.3动静分离

动静分离就是让静态资源由我们的nginx来管理,这样当我们修改静态资源时,只是修改了代理服务器上的内容,而不是每一个真实服务器的内容都要修改,这样大大节省了效率。

(1)为什么使用动静分离

  

 

(2)如何使用nginx搭建动静分离

将springboot项目中的static文件提取出来,将不带static文件的项目打包成jar,放到linux中(一般都放在 /project中),然后将static文件放到nginx的根目录下(/usr/nginx/)。然后修改我们的配置文件:

配置了一个server:

 

(3)把项目中的静态资源放入nginx安装路径下,删除项目中的静态资源 

 

运行项目(java -jar 工程),如果我们直接访问真实服务器地址,静态资源无法加载,但是通过nginx代理服务器访问项目,静态资源就可以加载。这就实现了我们的动静分离的原则。 

5.nginx的高可用

我们的Nginx虽然承受并发的能力非常强,但不排除由意外情况导致我们的nginx会宕机。为了尽可能使我们的项目正常运行,这时我们可以启用备胎计划,也就是再搞一台服务器当做代理服务器,这两台代理服务器之间有一个主从关系。平常我们的备胎代理服务器不会使用,当标记为MASTER的主代理服务器宕机了,我们的被标记为BACKUP的从代理服务器就可以成功上位,充当MASTER的位置实现代理功能,当MASTER的代理服务器正常运行以后,BACKYUP就退居二线,不再使用。

 

 

(1)准备条件

1.192.168.19.151---- master主节点
2.192.168.18.152---->backup从节点

(2)检查

两台linux是否可以正常启动nginx

两台linux都安装keepalived 

yum -y install keepalived  安装keepalived
rpm -q -a keepalived 查看本地是否安装keepalived

(3)默认keepalived的配置文件在    /etc/keepalived下 

(4)把启动脚本放入指定目录 /usr/local/src/        文件名为nginx_check.sh

注意:使用killall命令需要先下载

yum install psmisc   

(5)启动nginx和keepalived

./nginx 
systemctl start keepalived

(6)访问

测试从代理服务器 有没有起到作用

主nginx的nginx关闭:

(7)测试从代理服务器 有没有起到作用

主nginx的nginx关闭:

nginx -s stop
systemctl stop keepalived

 注意

当我们MASTER机的nginx stop运行,脚本启动,同时关闭了我们的keepalived。

这时负责代理功能的服务器就是标记为BACKUP的我们的从服务器。当主代理服务器正常运行时,负责代理功能的服务器就是标记为MASTER的代理服务器,BACKUP服务器不负责代理。

注意:你在keepalived.conf里面配置的是你的nginx代理服务器的ip,每个代理服务器的nginx.conf里面配置的都是真实项目所在服务器的ip集群。两台代理服务器的nginx.conf配置文件的内容应当相同,毕竟代理的都是相同的服务器。

猜你喜欢

转载自blog.csdn.net/Ysuhang/article/details/126069697