目录
1.什么是NGINX
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器 . 其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网 页服务器中表现较好。 能够支持高达 50,000 个并发连接数的响应 .
2.为什么使用NIGINX
3.哪些企业在使用NGINX反向代理服务器
京东,淘宝,腾讯,163, 新浪,小米,网易都在使用nginx代理服务器
4.如何安装NGINX
(1) 安装相关的依赖
yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
(2) 上传nginx并解压
mkdir /usr/nginx
(3) 创建一个目录---作为nginx的安装路径
mkdir /usr/nginx
(4) 进入到nginx的解压目录并指定nginx的安装路径为上面的路径
./configure --prefix=/usr/nginx
(5) 编译nginx的源码并安装
make 编译
make install 安装
(6) 进入安装路径 /usr/nginx
conf: nginx的配置目录
html:静态资源
logs: 日志
sbin: 脚本---启动 关闭 重加载
(7) 启动nginx
./nginx 启动nginx
./nginx -s stop 关闭nginx
./nginx -s reload 重新加载配置文件
通过ps -ef | grep nginx命令查看进程
(8) 访问nginx
5.了解NGINX的配置文件
server { listen 81; server_name localhost; location / { root static; index main.html; } }
重新加载配置 ./nginx -s reload
6.NGINX的核心功能
6.1反向代理
客户端主动是正向代理,服务器端主动是反向代理。
正向代理:代理的是客户端,对应服务器而言不知道真实的客户端信息 --科学上网
反向代理:代理的是服务器端,对应客户端来说不知道真实服务器的信息 --NGINX
提高服务器的安全性;
(1) 实现NGING反向代理
准备:(1) springboot项目(内置tomcat)(部署可运行) package打成jar包
java -jar XXX.jar //(1) linux安装jdk (2) 连接的数据所在的服务器允许远程访问 (3) 关闭防火墙或开放指定端口(2) 修改NGINX配置文件(nginx.conf) 代理springboot项目
server { #监听的端口号 listen 81; server_name localhost; # / 路径 location / { #项目运行ip+端口号 proxy_pass http://192.168.1.35:8080; } }./nginx -s reload
(3) 测试
http://ip:port/+资源路径
6.2负载均衡
把客户的请求,负载均衡到相应的服务器。
修改nginx的配置
#集群 upstream funian { #默认轮询 #权重 weight server 192.168.1.35:8080 ; server 192.168.1.35:8081 ; #ip_hash; } server { listen 81; server_name localhost; location / { #root static; #index main.html; #代理的真实路径 proxy_pass http://funian; }默认的负载均衡策略: 轮询策略。 在真实开发时可能服务的配置不同,服务器配置高的并发能力强,配置低的并发能力弱。 在负载均衡时,让请求多请求配置高的服务器。我们可以修改负载均衡的策略---权重。
6.3动静分离
把静态资源和动态资源分离开。静态资源交于nginx服务器处理,而动态资源tomcat服务器处理。---适合前后端不分离的情况
(1)项目启动---linux
(2) 配置nginx----配置文件
(3)在nginx安装目录下放置static目录以及内容
(4)在通过nginx访问 ---就可以显示静态资源
6.4NGINX高可用
搭建Linux-03 master 166和slave 167项目集群
(1)166和167安装keepalived
yum install -y keepalived #安装keepalived
默认安装路径: /etc/keepalived
(2)修改keepalived.conf的配置内容
(4)创建nginx检测脚本
nginx_check.sh
#!/bin/bash
# 检查是否开启nginx
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
# 开启nginx nginx脚本所在的路径
/usr/nginx/sbin/nginx
sleep 2
# 开启nginx失败 则执行关闭keepalived
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
pkill -9 keepalived
fi
fi
(5)166和167都开启nginx和keepalived
systemctl start keepalived.service
(6) 测试
主节点挂掉:
nginx的核心功能: (1)反向代理 (2)负载均衡 (3)动静分离
nginx的高可用
000000000000000000000-----克隆一台------