目录
1.什么是nginx
Nginx(engine x) 是一个高性能的HTTP和反向代理web服务器,其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。开源软件,服务器软件,能够支持高达,50000个并发连接数的响应。
有很多企业也用nginx 比如 1. 京东 2.淘宝 3.腾讯 4. 新浪 5.网易等
2.如何使用nginx
2.1 安装nginx软件所需要的依赖插件
yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
2.2 nginx安装包上传到linux中并解压
2.3 创建一个目录作为nginx的安装目录
mkdir /usr/nginx
2.4 进图nginx的解压目录
2.5 设置nginx的安装路径为上面/usr/nginx
2.6编译--安装
make
make install ----进行安装
conf:配置目录
html:放置静态资源
logs:安全日志
sbin:启动和关闭nginx的脚本
2.7启动
./nginx 开启nginx
./nginx -s stop 关闭nginx
./nginx -s reload 重新加载一个配置文件----修改完配置文件后会用该命令
2.8 访问nginx服务器
关闭防火墙:
3.nginx的配置文件
修改信息后再访问
4.nginx三大核心
反向代理
负载均衡
动静分离
4.1 反向代理
正向代理:该服务器代理的客户端,对于后面真是的服务器来说不知道访问者的地址。如翻墙软件
反向代理: 该服务器代理的为服务器端,对于客户来说不知道访问的真实服务器。
如何使用nginx完成反向代理
准备一个真实项目和Tomcat服务器 并把项目部署到Tomcat.---springboot项目
启动真实项目
java -jar xxxx.jar
修改nginx配置文件
然后重新加载nginx
./nginx -s reload
4.2 负载均衡
负载均衡 需要在虚拟机上跑两个项目 才能展现出意义
修改nginx配置文件
测试:
默认负载均衡的策略为轮询策略
1.轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2.weight。
指定轮询几率,weight和访问率成正比,用于后端服务器性能不均的情况。
3.ip_hash。
每个请求俺访问ip的hash结果分配,这样每个访问固定访问的后端服务器,可以解决session的问题。
4.fair (第三方)
按后端服务器的响应时间来分配请求,响应时间段的优先分配。
5.url_hash(第三方)
4.3动静分离
静态资源的统一管理
4.4 高可用
需要再每个nginx所在的主机上安装keepalived
yum install -y keepalived 安装keepalived
rpm -q -a keepalived 检查是否安装keepalived
默认再/etc/keepalived目录
两台启动nginx
启动keepalived
systemctl start keepalived
测试:这里的地址为虚拟ip的地址。
主的nginx关闭:
nginx -s stop
systemctl stop keepalived