Nginx超详细入门教程

目录

一、nginx配置文件介绍

二、nginx的核心功能

 1)反向代理

<1>正向代理

<2>反向代理

<3>准备工作

 2)负载均衡

3)负载均衡策略

4)动静分离

三、Nginx的高可用性

1)准备两台虚拟机并都安装nginx

2)需要在每一个nginx服务器上安装keepalived

3)修改keepalived的配置文件内容

 4)将 nginx_check.sh脚本文件放入/usr/local/src下

5)分别启动keepalived

6)访问虚拟ip

7)关闭主节点nginx并再次访问


一、nginx配置文件介绍

1)首先进入你自己的nginx安装的目录下找到nginx.conf文件并进入

2)进入nginx.conf文件后(vi nginx.conf),我们可以看到如下内容:

 3)自定义一个server

注意:修改了nginx配置文件,必须重新加载配置文件

./nginx -s reload

一个nginx可以对应多个server

4) 创建一个目录main并在该目录下创建一个main.html

 访问81端口:

(如果访问失败看是否放行了81端口)

二、nginx的核心功能

 1)反向代理

下面我们用借钱的例子来讲解一下正、反向代理。

<1>正向代理

拿借钱打个比方,A想向C借钱,但是C不认识A所以不借给他,然后A就通过B向C借钱,B借到钱之后再转交给A,在这个过程中B就扮演了一个正向代理的角色,这个过程中,真正借钱的人是谁,C是不知道的。

我们常说的代理也就是指正向代理,正向代理的过程,它隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求。

<2>反向代理

还用借钱的例子,A想向C借钱,然后C借给他了,但是实际上这个钱可能C向B借的~至于钱到底是谁的,A是不知道的。这里的C扮演着一个反向代理的角色,客户不知道真正提供服务的人是谁。

反向代理隐藏了真实的服务端,对于客户来说不知道访问的是哪台服务器。

<3>准备工作

1、准备一台真实服务器----tomcat项目。----把一个springboot项目并放入linux服务器系统中。

 2、运行springboot项目

java -jar springboot01-demo01.jar

  

3、配置nginx来代理上面springboot真实项目服务

 记得重新加载nginx配置文件:

sbin目录下(./nginx  -s reload

放行端口号:firewall-cmd --add-port=82/tcp --zone=public --permanent

重启防火墙:systemctl restart firewall

4、浏览器访问nginx

 2)负载均衡

负载均衡是高可用网络基础架构的关键组件,通常用于将工作负载分布到多个服务器来提高网站、应用、数据库或其他服务的性能和可靠性。

负载均衡通常配合nginx一起使用

准备两台真实服务器:

nginx重新加载配置文件。

3)负载均衡策略

  • 轮询策略。
  • 权重策略。
  • ip_hash策略。
  • 第三方插件。 

(1)轮询策略(默认使用)

(2)权重策略:----适合服务器的配置不同,被访问的频率不同。

(3)ip_hash策略: ----根据客户端的ip分配相应真实服务器。  

(4)第三方插件:(大多数付费) 

4)动静分离

把静态资源【css,js,img】交于nginx来处理,而动态资源【接口,jsp】还是有真实服务器处理。

好处: 当修改静态资源时,无需对每个真实服务器的静态资源做修改,只需要修改nginx一处的静态资源

创建一个springboot项目

 

配置nginx进行代理:

 在nginx中新建static文件夹将静态资源放入,并运行jar包进行访问。

三、Nginx的高可用性

思考:

1)nginx如果出现问题该怎么办?---------提高 高可用性

2)当主节点宕机后,如何让客户访问到从节点?-------虚拟一个ip,客户只需访问虚拟ip即可

3)如何让主节点和从节点之间能够切换?------使用keepalived组件来解决上面的问题,它会自动监控主从的状态,并可以帮nginx虚拟ip,还可在主从之间切换。

下面进入准备工作:

1)准备两台虚拟机并都安装nginx,192.168.232.166 192.168.232.167

2)需要在每一个nginx服务器上安装keepalived

yum install keepalived 安装keepalived

rmp -q -a keepalived 检查是否安装keepalived

默认安装路径:/etc/keepalived

3)修改keepalived的配置文件内容

将/etc/keepalived下的配置文件内容替换为下面的内容并进行修改:

global_defs {
	notification_email {
	  acassen@firewall.loc
	  failover@firewall.loc
	  sysadmin@firewall.loc
	}
	notification_email_from Alexandre.Cassen@firewall.loc
	smtp_ server 192.168.232.166
	smtp_connect_timeout 30
	router_id 192.168.232.166
}

vrrp_script chk_http_port {
	script "/usr/local/src/nginx_check.sh"
	interval 2
	weight -20
}

vrrp_instance VI_1 {
	state MASTER
	interface ens33
	virtual_router_id 51
	priority 100
	advert_int 1
	authentication {
		auth type PASS
		auth pass 1111
        }
	virtual_ipaddress { 
		192.168.232.50
	}
	#将 track_script 块加入 instance 配置块
	track_script {
	chk_http_port #执行 Nginx 监控服务
	}
}

 

 4)将 nginx_check.sh脚本文件放入/usr/local/src下:

#!/bin/bash
# 检查是否开启nginx
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
        systemctl stop keepalived
fi

两台虚拟机都要进行以上操作。

5)分别启动keepalived

systemctl start keepalived.service

并将两台nginx都开启:在其sbin目录下./nginx

6)访问虚拟ip

7)关闭主节点nginx并再次访问

/usr/soft/nginx/sbin/nginx -s stop 关闭nginx

  • 17
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Docker是一种容器化技术,可以让开发者将应用程序及其所有依赖项打包到一个可移植的容器中,以便在任何环境中运行。以下是Docker的基础教程: 1. 安装Docker 首先,你需要在你的机器上安装Docker。可以根据你的操作系统选择合适的安装方式。可以在Docker官网上找到安装指南。 2. 创建Docker镜像 镜像是Docker中的核心概念。镜像是一个只读的模板,用于创建Docker容器。你可以创建自己的镜像,也可以从Docker Hub上下载镜像。 要创建一个Docker镜像,需要编写Dockerfile。Dockerfile是一个文本文件,其中包含一系列指令,用于构建镜像。以下是一个简单的Dockerfile示例: ``` FROM ubuntu:latest RUN apt-get update && apt-get install -y nginx EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] ``` 这个Dockerfile会从最新的Ubuntu镜像开始,安装Nginx,并将容器的80端口映射到主机的80端口。最后,它将启动Nginx。 要构建镜像,请使用以下命令: ``` docker build -t my-nginx-image . ``` 这将使用当前目录中的Dockerfile构建一个名为“my-nginx-image”的镜像。 3. 运行Docker容器 一旦你有了Docker镜像,就可以使用它来创建Docker容器。容器是镜像的一个可运行实例。 要运行一个Docker容器,请使用以下命令: ``` docker run -p 80:80 my-nginx-image ``` 这将创建一个名为“my-nginx-container”的容器,并将容器的80端口映射到主机的80端口。 4. Docker命令 以下是一些常用的Docker命令: - docker ps:列出当前正在运行的容器。 - docker images:列出当前所有的镜像。 - docker stop <container-id>:停止指定的容器。 - docker rm <container-id>:删除指定的容器。 - docker rmi <image-id>:删除指定的镜像。 这些基本的Docker命令可以帮助你管理容器和镜像。 这些是Docker的基础教程。Docker还有许多高级特性和用法,例如Docker Compose和Docker Swarm。如果你对Docker感兴趣,可以进一步学习这些内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值