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安装

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

Nginx 详解_第1张图片
Nginx 详解_第2张图片

(6).启动nginx服务

切换目录到/usr/local/nginx/sbin下面
在这里插入图片描述
启动nginx

./nginx

(7).查看nginx服务是否启动成功

ps -ef | grep nginx

Nginx 详解_第3张图片

(8).访问自己的IP出现如下界面,说明安装成功啦!

Nginx 详解_第4张图片

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请求),你不用管他去哪里买,只要他帮你买到你想要的东西就行(浏览器或其他终端最终拿到了他想要的内容,但是具体从哪儿拿到的这个过程它并不知道)。
正向代理:代理客户端,正向代理最大的特点是客户端非常明确要访问的服务器地址。服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端;正向代理模式屏蔽或者隐藏了真实客户端信息
Nginx 详解_第5张图片

(2).作用

(1)保障应用服务器的安全(增加一层代理,可以屏蔽危险攻击,更方便的控制权限)
(2)实现负载均衡
(3)实现跨域(最简单的跨域方式)

(3).反向代理配置

#1、新建/修改配置文件
sudo vi /etc/nginx/server/default.conf

#2、配置示例
server {
     
    listen       80;        #监听80端口
    server_name  ken.io.local; #监听的域名
    location / {
                 #转发或处理
        proxy_pass https://ken.io;
    }
    error_page   500 502 503 504  /50x.html;#错误页
    location = /50x.html {
     
        root   /usr/share/nginx/html;
    }
}

2.负载均衡

(1).什么是负载均衡

客户端发送的、Nginx反向代理服务器接收到的请求数量,就是我们说的负载量。请求数量按照一定的规则进行分发到不同的服务器处理的规则,就是一种均衡规则。将服务器接收到的请求按照规则分发的过程,称为负载均衡。

(2).采用方式

轮询:权重为1
Nginx 详解_第6张图片
加权轮询:依次递增

Nginx 详解_第7张图片
iphash:对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端的ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。
Nginx 详解_第8张图片

(3).负载均衡配置

upstream serverswitch {
     
    server 127.0.0.1:80;
    server 127.0.0.1:81;
}
server {
     
    listen       80;        #监听80端口
    server_name   ken.io.local; #监听的域名
    location / {
                 #转发或处理
        proxy_pass https://serverswitch;
    }
    error_page   500 502 503 504  /50x.html;#错误页
    location = /50x.html {
     
        root   /usr/share/nginx/html;
    }
}

3.动静分离

静态请求直接从 nginx 服务器所设定的根目录路径去取对应的资源,动态请求转发给真实的后台(前面所说的应用服务器,如图中的Tomcat)去处理。动静资源做好拆分后,利用静态资源的特点做缓存操作,提高响应效率。
Nginx 详解_第9张图片
好处:
1.api接口服务化:动静分离之后,后端应用更为服务化,只需要通过提供api接口即可,可以为多个功能模块甚至是多个平台的功能使用,可以有效的节省后端人力,更便于功能维护。
2.前后端开发并行:前后端只需要关心接口协议即可,各自的开发相互不干扰,并行开发,并行自测,可以有效的提高开发时间,也可以有些的减少联调时间
3.减轻后端服务器压力,提高静态资源访问速度:后端不用再将模板渲染为html返回给用户端,且静态服务器可以采用更为专业的技术提高静态资源的访问速度。

四、Nginx的特点

1.占有内存少、并发能力强,能支撑50000个并发连接数的响应。
2.扩展性好,第三方插件非常多。
3.具有很高的可靠性。

你可能感兴趣的