nginx|Nginx 详解
文章目录
- 一、Nginx是什么?
- 二、如何安装Nginx
-
- 1.安装所需插件
-
- (1).安装gcc
- (2).pcre、pcre-devel安装
- (3).zlib安装
- (4).安装openssl
- 2.安装nginx
-
- (1).下载安装包
- (2).把压缩包解压到usr/local/java
- (3).切换到cd /usr/local/java/nginx-1.9.9/下面
- (4).切换到/usr/local/nginx安装目录
- (5).配置nginx的配置文件nginx.conf文件,主要也就是端口
- (6).启动nginx服务
- (7).查看nginx服务是否启动成功
- (8).访问自己的IP出现如下界面,说明安装成功啦!
- 3 .相关配置Nginx服务
- 三、Nginx作用
-
- 1.Http代理,反向代理:
-
- (1).什么是反向代理:代理服务器端
- (2).作用
- (3).反向代理配置
- 2.负载均衡
-
- (1).什么是负载均衡
- (2).采用方式
- (3).负载均衡配置
- 3.动静分离
- 四、Nginx的特点
一、Nginx是什么? Nginx 是一款轻量级的HTTP 服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的 IO 性能,时常用于服务端的反向代理和负载均衡。
二、如何安装Nginx 1.安装所需插件 (1).安装gcc
gcc -v#查看gcc版本
yum -y install gcc #安装gcc
(2).pcre、pcre-devel安装
【nginx|Nginx 详解】pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。
yum install -y pcre pcre-devel
(3).zlib安装
zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装
yum install -y zlib zlib-devel
(4).安装openssl
openssl是web安全通信的基石
yum install -y openssl openssl-devel
2.安装nginx (1).下载安装包
wget http://nginx.org/download/nginx-1.9.9.tar.gz
(2).把压缩包解压到usr/local/java
tar -zxvf nginx-1.9.9.tar.gz -C /usr/local/java
(3).切换到cd /usr/local/java/nginx-1.9.9/下面
./configure
make
make install
(4).切换到/usr/local/nginx安装目录
cd /usr/local/nginx
(5).配置nginx的配置文件nginx.conf文件,主要也就是端口
cd /usr/local/nginx
cd conf
文章图片
文章图片
(6).启动nginx服务
切换目录到/usr/local/nginx/sbin下面
文章图片
启动nginx
./nginx
(7).查看nginx服务是否启动成功
ps -ef | grep nginx
文章图片
(8).访问自己的IP出现如下界面,说明安装成功啦!
文章图片
3 .相关配置Nginx服务
sudo systemctl enable nginx # 设置开机启动
sudo service nginx start # 启动 nginx 服务
sudo service nginx stop # 停止 nginx 服务
sudo service nginx restart # 重启 nginx 服务
sudo service nginx reload # 重新加载配置,一般是在修改过 nginx 配置文件时使用。
三、Nginx作用 1.Http代理,反向代理: (1).什么是反向代理:代理服务器端
反向代理其实就类似你去找代购帮你买东西(浏览器或其他终端向nginx请求),你不用管他去哪里买,只要他帮你买到你想要的东西就行(浏览器或其他终端最终拿到了他想要的内容,但是具体从哪儿拿到的这个过程它并不知道)。
正向代理:代理客户端,正向代理最大的特点是客户端非常明确要访问的服务器地址。服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端;正向代理模式屏蔽或者隐藏了真实客户端信息
文章图片
(2).作用
(1)保障应用服务器的安全(增加一层代理,可以屏蔽危险攻击,更方便的控制权限)
(2)实现负载均衡
(3)实现跨域(最简单的跨域方式)
(3).反向代理配置
#1、新建/修改配置文件
sudo vi /etc/nginx/server/default.conf#2、配置示例
server {listen80;
#监听80端口
server_nameken.io.local;
#监听的域名
location / {
#转发或处理
proxy_pass https://ken.io;
}
error_page500 502 503 504/50x.html;
#错误页
location = /50x.html {root/usr/share/nginx/html;
}
}
2.负载均衡 (1).什么是负载均衡
客户端发送的、Nginx反向代理服务器接收到的请求数量,就是我们说的负载量。请求数量按照一定的规则进行分发到不同的服务器处理的规则,就是一种均衡规则。将服务器接收到的请求按照规则分发的过程,称为负载均衡。
(2).采用方式
轮询:权重为1
文章图片
加权轮询:依次递增
文章图片
iphash:对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端的ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。
文章图片
(3).负载均衡配置
upstream serverswitch {server 127.0.0.1:80;
server 127.0.0.1:81;
}
server {listen80;
#监听80端口
server_nameken.io.local;
#监听的域名
location / {
#转发或处理
proxy_pass https://serverswitch;
}
error_page500 502 503 504/50x.html;
#错误页
location = /50x.html {root/usr/share/nginx/html;
}
}
3.动静分离 静态请求直接从 nginx 服务器所设定的根目录路径去取对应的资源,动态请求转发给真实的后台(前面所说的应用服务器,如图中的Tomcat)去处理。动静资源做好拆分后,利用静态资源的特点做缓存操作,提高响应效率。
文章图片
好处:
1.api接口服务化:动静分离之后,后端应用更为服务化,只需要通过提供api接口即可,可以为多个功能模块甚至是多个平台的功能使用,可以有效的节省后端人力,更便于功能维护。
2.前后端开发并行:前后端只需要关心接口协议即可,各自的开发相互不干扰,并行开发,并行自测,可以有效的提高开发时间,也可以有些的减少联调时间
3.减轻后端服务器压力,提高静态资源访问速度:后端不用再将模板渲染为html返回给用户端,且静态服务器可以采用更为专业的技术提高静态资源的访问速度。
四、Nginx的特点 1.占有内存少、并发能力强,能支撑50000个并发连接数的响应。
2.扩展性好,第三方插件非常多。
3.具有很高的可靠性。
推荐阅读
- Java|Java OpenCV图像处理之SIFT角点检测详解
- C语言浮点函数中的modf和fmod详解
- 虚拟DOM-Diff算法详解
- LSTM网络层详解及其应用实例
- OC:|OC: WKWebView详解
- 监控nginx
- vue中的条件判断详解v-if|vue中的条件判断详解v-if v-else v-else-if v-show
- Vue组件之事件总线和消息发布订阅详解
- JS截取字符串的方法详解
- C语言进阶栈帧示例详解教程