Linux-shell及nginx

本文介绍了Linux Shell脚本的基础,包括变量、参数传递、数组和运算符。详细讲解了Nginx的安装、配置与核心功能,如反向代理、负载均衡和动静分离,并探讨了如何实现Nginx的高可用性。
摘要由CSDN通过智能技术生成

1.什么是shell脚本?

1.1 hello world入门

在这里插入图片描述
在这里插入图片描述
中间需要修改权限
chmod 777 demo1.sh
在这里插入图片描述

1.2 Shell 变量

在这里插入图片描述

1.3 Shell 传递参数

我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……
在这里插入图片描述

1.4Shell 数组

数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。
与大部分编程语言类似,数组元素的下标由 0 开始。
Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下
在这里插入图片描述

1.5 基本运算符

Shell 和其他编程语言一样,支持多种运算符,包括:

  • 算数运算符
  • 关系运算符
  • 布尔运算符
  • 字符串运算符
  • 文件测试运算符
    原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。
    expr 是一款表达式计算工具,使用它能完成表达式的求值操作。
    例如,两个数相加(注意使用的是反引号 ` 而不是单引号 '):
    在这里插入图片描述

两点注意:

  • 表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样。
  • 完整的表达式要被 ` 包含,注意这个字符不是常用的单引号,在 Esc 键下边。

1.6关系运算符

关系运算符只支持数字,不支持字符串,除非字符串的值是数字 .

在这里插入图片描述

1.7 布尔运算符

在这里插入图片描述

1.8 逻辑运算符

在这里插入图片描述

2 Shell 流程控制

if [ $(ps -ef | grep -c “ssh”) -gt 1 ]; then echo “true”; fi
ps -ef | grep -c "mysql"统计某个进程的个数

在这里插入图片描述

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

3.Nginx

在这里插入图片描述

代理服务器–使用比较多的为nginx代理服务器
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。开源软件,服务器软件.能够支持高达 50,000 个并发连接数的响应。

如何使用nginx
(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)把我们的nginx安装包上传到linux中并解压
在这里插入图片描述
(3)创建一个目录作为nginx的安装目录
mkdir /usr/nginx

(4)进入nginx的解压目录
在这里插入图片描述

(5)设置nginx的安装路径为上面/usr/nginx
在这里插入图片描述
(6) 编译–安装
make
make install —安装

在这里插入图片描述
conf: 配置目录
html: 放置静态资源的。
logs: 日志
sbin: 启动和关闭nginx的脚本
(7)启动nginx
在这里插入图片描述
./nginx 开启nginx
./nginx -s stop 关闭nginx
./nginx -s reload 重新加载配置文件—修改完配置文件后使用该命令

(8) 访问nginx服务器
关闭防火墙
在这里插入图片描述

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

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

4 nginx三大核心

反向代理:
负载均衡:
动静分离:

4.1 反向代理

在这里插入图片描述
如何使用nginx完成反向代理
在这里插入图片描述

准备一个真实项目和Tomcat服务器 并把项目部署到Tomcat.—springboot项目
在这里插入图片描述
在这里插入图片描述
新建project文件夹
在这里插入图片描述
启动真实项目
java -jar xxxx.jar
在这里插入图片描述
在这里插入图片描述

4.2 nginx—负载均衡

在这里插入图片描述

修改nginx配置文件
在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述
默认负载均衡的策略为轮询策略。

1)、轮询(默认)
  每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
  指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
3)、ip_hash
  每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
4)、fair(第三方)
  按后端服务器的响应时间来分配请求,响应时间短的优先分配。
5)、url_hash(第三方)
在这里插入图片描述

4.3. nginx—动静分离

静态资源的统一管理。

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

4.4 nginx—高可用。

准备条件:
192.168.223.155 [master]
192.168.223.156 [backup]
在这里插入图片描述
(1)需要再每个nginx所在的主机上安装keepalived
yum install -y keepalived 安装keepalived
rpm -q -a keepalived 检查是否安装keepalived
默认再/etc/keepalived目录
在这里插入图片描述
在这里插入图片描述
两台启动nginx
启动keepalived
systemctl start keepalived
主的nginx关闭:
nginx -s stop
systemctl stop keepalived
另一台仍可用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值