【Nginx】Nginx安装及简单使用

https://www.bilibili.com/video/BV1F5411J7vK
https://www.kuangstudy.com/bbs/1353634800149213186
https://stonecoding.net/system/nginx/nginx.html
https://blog.csdn.net/qq_40492693/article/details/124453090

Nginx 是一个高性能的 HTTP 和反向代理 Web 服务器。其特点是占有内存少,并发能力强,官方数据测试表明能够支持高达 50,000 个并发连接数的响应。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。还能够不间断服务的情况下进行软件版本的升级。

经常用于:
1、反向代理,将客户端的 HTTP 请求转发到后端服务器进行处理
2、负载均衡,将客户端的请求分配到多个后端服务器上进行处理
3、Web 服务器,处理静态文件

Nginx负载均衡

轮询
在这里插入图片描述
加权轮询
在这里插入图片描述

iphash对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。(还是推荐使用redis做session共享)
在这里插入图片描述

Nginx动静分离

动静分离,在我们的软件开发中,有些请求是需要后台处理的,有些请求是不需要经过后台处理的(如:css、html、jpg、js等等文件),这些不需要经过后台处理的文件称为静态文件。让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作。提高资源响应的速度。
在这里插入图片描述

windows下载

https://nginx.org/en/download.html
下载解压缩即可
在这里插入图片描述

cmd运行nginx.exe

nginx的配置文件是conf目录下的nginx.conf,默认配置的nginx监听的端口为80
在这里插入图片描述

当我们修改了nginx的配置文件nginx.conf 时,不需要关闭nginx后重新启动nginx,只需要执行命令 nginx -s reload 即可让改动生效

关闭nginx
如果使用cmd命令窗口启动nginx, 关闭cmd窗口是不能结束nginx进程的,可使用两种方法关闭nginx
(1)输入nginx命令 nginx -s stop(快速停止nginx) 或 nginx -s quit(完整有序的停止nginx)
(2)使用taskkill taskkill /f /t /im nginx.exe

linux尝试用yum安装

 yum -y install nginx

在这里插入图片描述

rm -f /var/run/yum.pid     
#删除进程pid

在这里插入图片描述
Nginx位于第三方的yum源里面,而不在CentOs官方yum源里面。

yum -y install epel-release
yum -y install nginx

在这里插入图片描述

直接下载一个epel源替代系统的软件源:

#配置yum源、epel源为国内镜像
cd /etc/yum.repos.d
#获取阿里centos7的base-repo
wget https://mirrors.aliyun.com/repo/epel-7.repo
 yum -y install nginx
 whereis nginx

在这里插入图片描述

Nginx 会自动注册为服务,使用 systemctl 命令来进行管理。

systemctl start nginx
systemctl enable nginx
systemctl status nginx
systemctl reload nginx  #重载 Nginx 配置文件
systemctl stop nginx
systemctl restart nginx

还可以使用 nginx 命令进行管理
在这里插入图片描述
常用选项有:

  • -s signal:发送信号给主进程,包括:
    1、stop:发送 SIGTERM 信号,表示快速关闭 Nginx
    2、quit:发送 SIGQUIT 信号,表示优雅关闭 Nginx
    3、reopen:发送 SIGUSR1 信号,表示重新打开日志文件
    4、reload:发送 SIGHUP 信号,表示重载配置文件,使用新配置文件启动新的工作进程,优雅关闭老的工作进程

  • -t:测试配置文件是否正确

  • -c:指定配置文件,默认为 /etc/nginx/nginx.conf

在这里插入图片描述

Nginx具体应用

1.部署静态资源
Nginx可以作为静态web服务器来部署静态资源。静态资源 指在服务端真实存在并且能够直接展示的一些文件,比如常见的html文件、css文件、js文件、图片、视频等资源。
相对于Tomcat,Nginx处理静态资源的能力更加高效,所以在生产环境下,一般都会将静态资源部署到Nginx中。将静态资源部署到Nginx非常简单,只需要将文件复制到Nginx安装目录下的html目录中即可。

server {
	listen 80;					# 监听端口
	server_name localhost;		# 服务器名称
	location /{					# 匹配客户端请求url
		root html;				# 指定静态资源根目录
		index index.html;		# 指定默认首页
	}
}

2、反向代理
配置反向代理

server  {
	listen 82;
	server_name localhost;
	location /{
		proxy_pass http://192.168.81.129:8080;		#反向代理配置,将请求转发到指定服务
	}
}

3、负载均衡
早期的网站流量业务功能都比较简单,单台服务器就可以满足基本要求,但是随着互联网的发展,业务流量越来越大并且业务逻辑越来越复杂,单台服务器的性能及单点故障问题就凸显出来了,因此需要多台服务器组成应用集群,进行性能的水平扩展以及避免单点故障的出现。

应用集群:将同一应用部署到多台机器上,组成应用集群,接收负载均衡器分发的请求,进行业务处理并返回效应数据
负载均衡器:将用户请求根据对应的负载均衡算法分发到应用集群中的一台服务器进行处理

upstream targetserver{	# upstream指令可以定义一组服务器
	server 192.168.81.129:8080;
	server 192.168.81.129:8081;
}
server  { 
	listen 80;
	server_name localhost;
	location /{
		proxy_pass http://targetserver;		#反向代理配置,将请求转发到指定服务
	}
}

负载均衡策略
在这里插入图片描述

在这里插入图片描述

  • 16
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开心星人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值