狂神说--Nginx--通俗易懂
(以下内容全部来自上述课程及课件)
1. 简介
我们公司项目刚刚上线的时候,并发量小,用户使用的少,所以在低并发的情况下,一个ar包启动应用就够了,然后内部tomcat返回内容给用户。
但是慢慢的,使用我们平台的用户越来越多了,并发量慢慢增大了,这时候一台服务器满足不了我们的需求了
于是我们横向扩展,又增加了服务器。这个时候几个项目启动在不同的服务器上,用户要访问,就需要增加一个代理服务器了,通过代理服务器来帮我们转发和处理请求。
1.1 什么是Nginx?
Nginx (engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambier.u站点(俄文:Pam6nep)开发的,第一个公开版本0.1.0发布于2004年10月4日。2011年6月1日,nginx 1.0.4发布。
其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。
Nginx是一个安装非常的简单、配置文件非常简洁(还能够支持per语法)、Bug非常少的服务。Nginx启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。
Nginx代码完全用C语言从头写成。官方数据测试表明能够支持高达 50,000 个并发连接数的响应。
1.2 Nginx作用?
Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理
正向代理
反向代理
1.3 负载均衡
Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,lp hash。扩展策略,就天马行空,只有你想不到的没有他做不到的。
轮询:
加权轮询:
iphash对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题.
1.4 动静分离
在我们的软件开发中,有些请求是需要后台处理的,有些清求是不需要经过后台处理的(如:css、htm、jpg、js等等文件),这些不需要经过后台处理的文件称为静态文件。让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作。提高资源响应的速度。
2. Nginx安装
2.1 下载Nginx
https://nginx.org/en/download.html 下载稳定版本.以nginx/Windows-1.16.1为例,直接下载 nginx-1.16.1.zip。下载后解压,解压后如下:
2.2 运行
路径处输入cmd,打开输入nginx.exe即可
3. 常用命令
1. cd /usr/local/nginx/sbin/
2. ./nginx 启动
3. ./nginx -s stop 停止
4. ./nginx-s quit 安全退出
5. ./nginx -s reload 重新加载配置文件
6. ps aux | grep nginx 查看nginx进程
防火墙命令
1.#开启
2.service firewalld start
3.# 重启
service firewalld restart4.
5.# 关闭
6.service firewalld stop
7.#查看防火墙规则
8.firewall-cmd --list-all
9.#查询端口是否开放
10.firewall-cmd--query-port=8080/tcp
11.#开放80端口
12.firewall-cmd--permanent --add-port=80/tcp
13.#移除端口
14.firewall-cmd--permanent--remove-port=8080/tcp
15
16.#重启防火墙(修改配置后要重启防火墙)
17.firewall-cmd --reload
18.
19.#参数解释
20.1、firwall-cmd:是Linux提供的操作firewal1的一个工具:
21.2、--permanent:表示设置为持久
22.3、--add-port:标识添加的端□
4. 实战配置
想实现反代和负载均衡,需要在nginx.conf文件中进行配置