IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux命令、nginx反向代理服务器、shell脚本 -> 正文阅读

[系统运维]Linux命令、nginx反向代理服务器、shell脚本

1.什么是Linux系统?

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux,centos7 等。

2. 为什么使用Linux系统?

因为Linux系统性能比较稳定而且比较安全,非常是否程序的运行。 我们开发的项目程序,都会部署到Linux系统上。

我们要学习linux系统,就必须在自己电脑上安装Linux系统或者租赁其他云服务的linux系统。

租赁:阿里云或者腾讯云等

安装: 借助虚拟机---模拟安装n个操作系统。

3. 如何使用

安装虚拟机:===VMware Workstation Pro===创建多个虚拟电脑---每个电脑可以安装自己相应的系统镜像。

4. ssh客户端工具---xshell

作用:可以帮你连接你的虚拟机。

使用ifconfig 查看你虚拟机的ip地址。====>如果上面的命令不能用 用ip addr

5. linux常见的命令

1.ping 命令 测试网络联通型。 表示该虚拟机可以连接百度网络。

2.cd 命令 切换到指定目录下。

/: 根目录

bin: 目录 命令目录 千万不要删除【以后很多命令不能使用了】

etc: 环境配置目录。

root: 账号为root用户名的目录

sbin: 存放命令的目录

usr: 用户目录 ---window program file 习惯把软件安装到该目录下

cd ? 指的目录名称

cd?? ../??? 切换到上一级目录

cd?? /?? 切换到根目录

3.ls 查询当前目录下的子文件

ls??????????????????????? 查看当前目录下的子文件
ls? 指定目录??????? 查询指定目录下子文件
ls? -l??????????????????? 以列表的形式 查询指定目录下的子文件
ls? -a?????????????????? 查询指定目录下所有的文件包含隐藏文件

4.pwd 查看当前所在的目录

pwd

5.mkdir 创建文件夹

mkdir 目录名称mkdir -p 多层目录

6.touch创建文件

touch 文件名

7.rm 删除文件或目录

rm 文件名 【删除提示框】

rm -f 文件名 【暴力删除】

rm -r 文件夹 ?

rm -rf 文件或文件夹

8.vi 编辑文件内容

进入命令模式[不能输入内容]---->i----->编辑模式【可以输入内容】---->Esc推到命令模式 ---:wq[保存退出] ---:q![退出不保存]

9.cat | head | tail 查看文件内容

cat 查看所有内容。

cat 文件名

head 查看前n行内容 head -10 文件名

tail 查询后n行内容 tail -10 文件名

10.重命名|移动: mv

mv 源文件名 目标文件名

mv a.txt ldh.txt 把a.txt重名为ldh.txt ?

mv 源文件名 目标目录

mv a.txt /usr/local 把a.txt移动到/usr/local目录下

11.复制: cp

cp /usr/local/ldh.txt /xzh 把/usr/local/ldh.txt文件复制到/xzh目录下

cp -r xzh /usr/local/ 把目录xzh复制到/usr/local下

12.搜索: find

find 目录 -name '被搜索的文件名'

13.在文件中搜索指定的内容: ---grep

grep '内容' 文件名 -n

14. ls -l: 查看详细信息

15.修改权限:chmod

chmod [u|o|g]+[wxr] 文件

chmod 777 文件

16.解压缩文件:

压缩:

tar -zcvf 压缩后的名称 要压缩的目录

解压:

tar -zxvf 压缩文件 解压到当前目录

tar -zxvf 压缩文件 -C /目标目录

6. 修改ip为静态ip

?

vi /etc/sysconfig/network-scripts/ifcfg-ens33

重启网络: systemctl restart network

7. 安装软件

软件的安装方式:

1.二进制安装。---只需要解压就可以。 只针对特殊平台。 比如jdk tomcat

2.RPM: 按照一定的规范就可以按照该软件。 无法安装依赖的文件。

3.yum 远程安装 基于RPM 帮你把依赖的文件安装上去。 多

4.安装源码安装。 编译--->打包---->安装。

7.1 jdk---1.8

window和linux之间如何传递文件:xftp---文件传输。

(1)压缩文件上传到指定目录下

(2) 解压该文件

tar -zxvf jdk-8u161~~~~.tar.gz

(3)配置环境变量 vi /etc/profile

JAVA_HOME=jdk的安装路径

PATH=$PATH:$JAVA_HOME/bin

(4)刷新配置

source /etc/profile

7.2 安装tomcat服务器--war包

(1)上传并解压

(2)启动tomcat

进入tomcat/bin目录

./startup.sh

ps -ef | grep tomcat -----查看指定的进程

?

kill -9 进程号?? 结束进程

(3)window中的浏览器访问tomcat

我们centos的防火墙没有给8080端口号放行。

防火墙的命令:

1. 查看防火墙的状态: systemctl status firewal

?

2.而是设置防火墙允许放行哪些端口号

firewall-cmd --add-port=8080/tcp --zone=public --permanent

3. 重启防火墙

systemctl restart firewalld

4. 查看哪些端口号被放行

firewall-cmd --list-port

5. 防火墙移除端口号

firewall-cmd --remove-port=8080/tcp --zone=public --permanent

6. 关闭防火墙----慎重【关闭】 开启还会启动

systemctl stop firewall

7.3 安装mysql

Centos7 安装MySQL详细步骤 - 帅哥的爸爸 - 博客园

7.4 nginx

代理服务器--使用比较多的为nginx代理服务器。

什么是nginx.

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

现在由哪些企业正在使用nginx?

1. 京东 2.淘宝 3.腾讯 4. 新浪 5.网易等

如何使用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) 关闭防火墙或者放行端口

(9) 访问nginx服务器

?nginx配置文件

?7.4.1 nginx三大核心

反向代理:

负载均衡:

动静分离:

反向代理:

正向代理: 该服务器代理的为客户端,对于后面真实的服务器来说,不知道访问者的地址。比如:翻墙软件。

?

反向代理: 该服务器代理的为服务器端,对于客户来说不知道访问的真实服务器.

?准备一个真实项目和Tomcat服务器 并把项目部署到Tomcat.---springboot项目

?启动项目

java -jar xxxx.jar

修改nginx配置文件

?重新加载nginx

./nginx -s reload

负载均衡:

修改nginx配置文件 ?

测试:

默认负载均衡的策略为轮询策略

1)、轮询(默认)

  每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

2)、weight

  指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

2)、ip_hash

  每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

3)、fair(第三方)

  按后端服务器的响应时间来分配请求,响应时间短的优先分配。

4)、url_hash(第三方)

?动静分离:静态资源的统一管理。

高可用:

准备条件:
?? 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

./nginx

?启动keepalived

systemctl start keepalived

测试:这里的地址为虚拟ip的地址。

?主的nginx关闭:

nginx -s stop
systemctl stop keepalived

8. shell脚本--了解【能看懂别人的shell】

官网:

Shell 传递参数 | 菜鸟教程

什么是shell脚本?

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。? Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

8.1 hello world入门

#!bin/bash

echo "内容"

执行脚本:

?修改权限:

8.2 Shell 变量

#!/bin/bash

# echo表示输出语句

echo "hello world"

# 定义变量

name="张三"

# 使用变量${}

echo "nihao ${name} welcome to qy151"

8.3 Shell 传递参数

我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$nn 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……

8.4 Shell 数组

数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。

与大部分编程语言类似,数组元素的下标由 0 开始。

Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:

?8.5 基本运算符

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

  • 算数运算符
  • 关系运算符
  • 布尔运算符
  • 字符串运算符
  • 文件测试运算符

原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。

expr 是一款表达式计算工具,使用它能完成表达式的求值操作。

例如,两个数相加(注意使用的是反引号 *`* 而不是单引号 *'*):

?两点注意:

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

8.6 关系运算符

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

?8.7 布尔运算符

8.8 逻辑运算符

?8.9 Shell 流程控制

if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi

ps -ef | grep -c "mysql"统计某个进程的个数

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 11:16:52  更:2022-08-06 11:17:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 1:04:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码