Nginx

1、Nginx安装

1)使用远程工具链接linux操作系统

2)下载nginx相关依赖

yum -y install make pcre-devel zlib zlib-devel  gcc-c++ libtool openssl openssl-devel

3)下载Nginx包

Nginx官网下载
在这里插入图片描述

4)解压缩tar.gz包

tar -xvf nginx-1.12.2.tar.gz 
cd nginx-1.12.2
./configure
make && make install
cd /usr/local/nginx/sbin/
./nginx

2、Nginx常用命令

1)使用nginx操作命令必须进入nginx的目录 /usr/local/nginx/sbin

2)查看nginx的版本号

./nginx -v

在这里插入图片描述

3)启动nginx

./nginx

4)关闭nginx

./nginx -s stop

5)重新加载nginx

./nginx -s reload

3、Nginx配置文件

1)配置文件的位置

/usr/local/nginx/conf/
在这里插入图片描述

2)配置文件的组成

Nginx的配置文件由三部分组成

  • 第一部分 全局块
    从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令
    如 worker_processes 1;//该值越大,可以支持的并发处理量也越多
  • 第二部分 events块
    events块涉及的指令主要影响Nginx服务器与用户的网络连接
    如worker_connections 1024;//支持最大连接数
  • 第三部分 http块

4、反向代理案例

案例一

1)要实现的功能

打开浏览器,在地址栏输入www.123.com,跳转到linux系统tomcat的主页面中

2)在linux系统启动tomcat

docker run -d -p 8888:8080 tomcat

3)hosts文件配置

192.168.188.172 www.123.com  //添加到hosts文件中

4)配置Nginx配置文件

  • 打开配置文件
cd /usr/local/nginx/conf
vim nginx.conf

在这里插入图片描述

5)启动nginx

cd /usr/local/nginx/sbin/
./nginx

6)浏览器访问

在这里插入图片描述

案例二

1)要实现的功能

根据访问的路径跳转到不同的端口;nginx监听端口为9001

访问192.168.188.172:9001/edu/ 跳转到127.0.0.1:8888
访问192.168.188.172:9001/vod/ 跳转到127.0.0.1:8889

2)配置tomcat服务器

准备两个tomcat,端口号分别为8888,8889

docker run -d -p 8888:8080 tomcat
docker run -d -p 8889:8080 tomcat

给这两个服务器的webapp下放页面
可以通过工具文件先从主机上传到虚拟机里,然后从虚拟机复制到容器里

docker cp 目标文件路径加全名称 容器id:要放置的位置
docker cp /usr/xiaowen/a.html 074d188b0dba:/usr/local/tomcat/webapps/edu/
docker cp /usr/xiaowen/b.html 20b041411f26:/usr/local/tomcat/webapps/vod/

3)配置Nginx配置文件

  • 打开配置文件
cd /usr/local/nginx/conf
vim nginx.conf

在http块里新建一个server块,监听9001端口

~用于表示uri包含正则表达式,并且区分大小写。
~*用于表示uri包含正则表达式,并且不区分大小写。
如果uri包含正则表达式,则必须要有~或~*标识
如果路径中包含edu就到8888端口,如果路径中包含vod就到8889端口

在这里插入图片描述

4)启动nginx

cd /usr/local/nginx/sbin/
./nginx

5)浏览器访问

在这里插入图片描述
在这里插入图片描述

5、负载均衡案例

1)要实现的功能

在地址栏输入http://192.168.188.172/edu/a.html,负载均衡效果,平均8888和8889端口

2)准备tomcat服务器

准备两个tomcat,端口号分别为8888,8889

docker run -d -p 8888:8080 tomcat
docker run -d -p 8889:8080 tomcat

3)配置Nginx配置文件

  • 在http块里新建upstream块,后边跟自定义的名字
  • 在server块里修改server_name属性,可以通过ip访问
  • server块的location添加proxy_pass http://上边起的upstream块名字
    在这里插入图片描述

4)启动nginx

cd /usr/local/nginx/sbin/
./nginx

5)浏览器访问

在这里插入图片描述
在这里插入图片描述

6)nginx分配服务器策略

  • 第一种 轮询(默认)
    每个请求暗示时间顺序分配服务器,如果服务器down掉,能自动剔除
upstream myserver {
server 1 92.168. 188.172:8888;
server 192. 168.188.172: 8889;
}
  • 第二种 weight
    权重,默认为1,权重越高,被分配的客户端越多
upstream myserver {
server 1 92.168. 188.172:8888 weight=5;
server 192. 168.188.172: 8889;
}
  • 第三种 ip_hash
    每个请求按ip的hash结果分配,每个访客固定访问一个服务器,可以解决session问题
upstream myserver {
ip_hash;
server 1 92.168. 188.172:8888;
server 192. 168.188.172: 8889;
}
  • 第四种 fair(第三方)
    按后端服务器的响应时间分配请求,响应时间越短越优先分配
upstream myserver {
server 1 92.168. 188.172:8888;
server 192. 168.188.172: 8889;
fair
}

6、动静分离案例

1)要实现的功能

  • 在地址栏输入192.168.188.172/images/图片名称,能访问/usr/xiaowen/images里的图片
  • 在地址栏输入192.168.188.172/html/******.html,能访问/usr/xiaowen/html里的网页

2)准备文件

在虚拟机/usr/xiaowen目录下新建两个文件夹html和images,并把准备好的页面和图片分别放进文件夹内

3)配置nginx配置文件

在这里插入图片描述

4)启动nginx

cd /usr/local/nginx/sbin/
./nginx

5)浏览器访问

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7、高可用

1)要实现的功能

访问虚拟ip192.168.188.170,通过keepalived跳转到192.168.188.172主服务器,停掉主服务器后访问虚拟ip,keepalived会自动跳转到192.168.188.173从服务器

2)准备工作

  • 准备两台服务器192.168.188.172 和 192.168.188.173
  • 在两台服务器上安装nginx
  • 在两台服务器安装keepalived

3)安装keepalived

yum install keepalived -y

yum提示Another app is currently holding the yum lock; waiting for it to exit解决办法

#rm -f /var/run/yum.pid
安装完之后在/etc里面生成目录keepalived,在这个目录中有keepalived的配置文件

4)完成高可用配置

备机配置
在这里插入图片描述
主机配置
在这里插入图片描述

5)启动两台机器的keepalived和nginx

systemctl start keepalived.service
docker run -d -p 80:80 nginx

6)浏览器访问

访问虚拟IP
在这里插入图片描述
停掉主机后,访问仍然成功表示配置成功

7)脚本文件内容

#!/bin/bash
A=`ps -C nginx -no-header | wc -l`
if [ $A -eq 0 ];then
    /usr/local/nginx/sbin/nginx
    sleep 2
    if [ `ps -C nginx --no-header | wc -l` -eq 0 ];then
        killall keepalived
    fi
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值