Nginx入门

背景

公司项目刚刚上线的时候,并发量小,用户使用的少,所以在低并发的情况下,一个jar包启动应用就够了,然后内部tomcat返回内容给用户。
在这里插入图片描述

但是慢慢的,使用我们平台的用户越来越多了,并发量慢慢增大了,这时候一台服务器满足不了我们的需求了。
在这里插入图片描述
于是我们横向扩展,又增加了服务器。这个时候几个项目启动在不同的服务器上,用户要访问,就需要增加一个代理服务器了,通过代理服务器来帮我们转发和处理请求。
在这里插入图片描述
我们希望这个代理服务器可以帮助我们接收用户的请求,然后将用户的请求按照规则帮我们转发到不同的服务器节点之上。这个过程用户是无感知的,用户并不知道是哪个服务器返回的结果,我们还希望他可以按照服务器的性能提供不同的权重选择。保证最佳体验!所以我们使用了Nginx。

Nginx的作用?

主要的作用就是反向代理和负载均衡,还可以实现动静分离

反向代理

正向代理
就是代理客户端的,比如我们不能访问外网,但是当我们给电脑上面的装VPN我们就可以可以访问的外网,例如我们访问我们先去访问香港的服务器,然后通过香港的服务器再去访问外网的服务器这就是正向代理。
在这里插入图片描述
在这里插入图片描述
反向代理
反向代理就是代理服务器端,比如我们都是通过www.baidu.com来访问百度,但是百度肯定不止一台服务器所以就有一台域名为www.baidu.com的服务器去代理所有的服务器,然后我们可以访问百度的资源,这就是反向代理。
在这里插入图片描述
在这里插入图片描述

负载均衡

Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,lp hash。扩展策略,就天马行空,只有你想不到的没有他做不到的。

轮询
在这里插入图片描述
加权轮询
在这里插入图片描述
iphash对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题
在这里插入图片描述

动静分离

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

安装Nginx

windows安装
网址:http://nginx.org/en/download.html

下载安装包解压即可,访问默认的80端口出现以下页面即成功。
在这里插入图片描述

在 linux(Ubuntu apt-get安装)下安装

使用sudo apt-get install nginx命令进行安装

查看nginx是否安装成功nginx -v
在这里插入图片描述
输入service nginx start启动nginx
然后输入localhost出现以下界面即成功

在这里插入图片描述
nginx文件安装完成之后的文件位置:

作用路径
主程序/usr/sbin/nginx
存放配置文件/etc/nginx
存放静态文件/usr/share/nginx
存放日志/usr/share/nginx

配置文件

nginx的配置文件是conf目录下的nginx.conf,默认配置的nginx监听的端口为80,如果80端口被占用可以修改为未被占用的端口即可。
windows
在这里插入图片描述

在这里插入图片描述
linux
使用sudo nginx -t就可以看到配置文件在哪里
在这里插入图片描述
然后在
cd /etc/nginx
vi nginx.conf 即可去修改配置文件
在这里插入图片描述

关闭nginx

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

  • 1.taskkill是用来终止进程的,
  • 2./f是强制终止 .
  • 3./t终止指定的进程和任何由此启动的子进程。
  • 4./im示指定的进程名称﹒

Nginx常见命令(linux)

作用命令
查看状态sudo systemctl status nginx.service
开启 nginx 服务sudo systemctl start nginx.service
重启服务sudo systemctl restart nginx.service
查看所有服务sudo systemctl list-units --type=service
卸载nginxapt-get --purge autoremove nginx
重新加载配置文件(修改配置文件过后)nginx -s reload
查看nginx进程ps aux丨grep nginx

如果连接不上检查端口是否开放
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值