Day1(linux目录结构)面试命令端口文件操作作业Day2(文件编辑器VI)命令练习作业Day3(用户管理、提权)在公司入职第一天要做的事命令用户管理修改权限作业Day4(进程) 进程和线程的区别面试命令第一周周考Day5(进程)面试命令练习Day6(计划任务)面试知识点作业day7(磁盘分区)知识点单用户模式关闭防火墙和selinux作业Day8(磁盘)知识点磁盘扩容作业Day9(磁盘管理)知识点作业Day10知识点第二周周考Day11(日志)知识点作业Day12-13(软件安装)知识点Day 14(IP地址分配)知识点禁止密码登录 面试Day 15(文件服务器)2023年10月8日知识点Day16(FTP)知识点共享nfs面试笔试Day 17(网站部署)部署博客系统隐藏应用服务版本号自动脚本常见的http状态码隐藏应用服务版本号不同端口跑不同网站不同IP跑不同网站Day18(LNMP架构部署)知识点自动化搭建游戏平台脚本部署小霸王游戏网站架构升级,三台机器跑一个网站(web、mysql、ftp)Day19(搭建wiki、jira)Day20(七层网络模型、交换机)知识点24口的交换机模版。 vlan 1-24晗哥7讲TCP链接状态有哪些,分别代表什么意思简述TCP三次握手过程简单说一下,TCP/IP协议中的TCP和IPIP地址变更现场错误导致的血案VLANDay21(第一次月考)Day22(网络)怎么做项目交换机二层和三层的区别有一台设备需要进行网络优化,拓宽上联带宽,(bond)但是交换机没有口了。这个时候你 怎么做?思科bond+access模板华三模板Day23临时添加路由(重启失效)永久添加路由cut请用时间自动对时,调整服务器的初始化时间第一阶段测试题答案Day24(shell)
x你们现在所学习的是centos多少的操作系统
centos7.xx
centos8.xx
centos9
centos6.x版本系统和centos7.x系统版本有啥区别?
1内核版本 uname -a uname -r
2启动加载器
*3防火墙* iptables(centos6)firewall(centos7)
*4默认数据库 mysql(centos6)mariadb(centos7)
5文件结构
6主机名
*7服务相关 service xx restart 和systemctl restart xx
内核:系统的大脑。分配cpu和内存还有程序去工作
启动的方式--引导方式不同
1 你企业中用的什么操作系统?UNUX
linux -- centos redhat(红帽) ubuntu suse debian
他们有什么区别?
centos开源
redhat 闭源收费
2 怎么去查看操作系统版本?怎么查看内核?
cat /etc/redhat-release uname -r
3 你接触过什么操作系统?
centons 7.6
centons 9(后期)
4 安装过操作系统么?
云服务的后台,选择重装系统/重置密码
公司里网站。数据库跑在哪里? linux系统(服务器上的)
服务器选型;--根据业务特点去选择,跑数据的业务(有数据存储读写)io型
要求运算速率-内存型
云服务器计费模式-包年包月 按量付费(用户的访问量及网络带宽流量)
细节内容(在公司里怎么给企业买云服务器)
地域选择-根据用户群体分布-就近原则- 一定要选择不同地域并且距离较远
(异地灾备冗余) 目的: 1降低用户网络延迟 2 增加数据的安全系数。
xxxxxxxxxx
端口范围 1-65535
安全组 -- 放行和对端口进行控制的
22端口 -- ssh 协议 远程连接
80端口 -- 默认web (网站)端口
ping 网络联通性测试-判断通与不通及延迟--使用icmp协议
云服务器 登陆用户名-root
终止ssh远程连接服务:systemctl stop sshd
重启ssh远程连接服务:systemctl restart sshd (后台vnc登录)
xxxxxxxxxx
cat 文件名
tail
tail -3 文件。 从下向上看
head
head -2 文件。 查看前两行内容
cat 文件名 | less
按空格翻页 按q退出 p上页
[root@VM-16-4-centos ~]
账号 主机名 目录名
清屏 CTRL+L
终止当前命令行 CTRL+C
查看当前路径下有什么文件或者目录 ls
/ 叫做/目录 linux系统一切目录都是从/开始,所有的目录都在/目录下
/tmp 目录没有系统文件,可以随意操作,用于临时存放目录或者文件。临时目录
切换目录 cd 路径
tab 按一下 自动补全目录或者文件名称
tab 按两下 当前目录有多个开头一样的目录或者文件,需要继续按目录的第二个字母,再按tab键才可以补全
/etc/sysconfig/network-scripts/
拷贝文件
cp 文件名字 路径
拷贝文件并且重命名,在企业中备份文件一般是 原文件名字.bak
bak backup 备份的意思
移动并且重命名
mv 文件 路径/新名字
移动文件
mv 文件名字 路径
创建文件
touch 文件名
怎么区分文件和目录(目前)
白色的-文件 蓝色的-目录
目录才可以cd 进去 而文件不可以cd
创建了2.txt的文本文件 这句话是对的还是错的?
答案:错 linux 系统一切皆用文件表示,没有文件后缀名,只是单纯的创建了一个名字是2.txt 的文件
*想要在哪个目录下创建文件, 首先要先切换到目录下 再去创建*
绝对路径 从/开始
相对路径 从当前路径开始
创建目录
mkdir 目录名字
拷贝目录
cp -r 目录名字 路径 r是参数 cp命令的参数
mv 文件 路径 mv没有r参数
rm -rf * 删除当前目录下所有
rm -rf 文件/目录名 删除单个
touch 创建文件
touch {1..5}.txt
{} 范围 .txt 范围中可以是数字也可以是字母
mkdir touch rm -rf 后面可以加多个
remove 强制 * 代表所有
* 代表 通配符
* 乘号 符号本身
man 空格翻页 q退出 使用有道词典翻译
linux 7大文件类型。 - 普通文件(文本文件,二进制文件,压缩文件,电影,图片。。。)
d 目录文件(蓝色)
b 设备文件 block device 设备文件,如硬盘,U盘;
c 设备文件 字符设备文件,比如我们的终端tty1,打印机。
l symbolic link 即符号链接文件,又称软链接文件 (浅蓝色)
s socket 即套接字文件,用于实现两个进程进行通信
p 管道文件
cp 拷贝文件
cp -r 拷贝目录
mkdir -p 当父目录不存在时候创建
cd /xx/ 切换目录
cp 文件名 路径/名字.bak
cp -r 目录 路径/名字.bak
mv 移动
mv 文件/目录 路径
ctrl c 终止当前命令行
ctrl l 清屏
rm -rf * 删除当前目录下所有
cd 切换目录
ls 查看
touch 文件名字 创建文件
如果在文件名字前加. 就是创建了隐藏文件
mkdir 目录名字 创建目录
.xx 创建隐藏目录
man 命令 空格翻页 q 退出
ls -a 显示全部隐藏(文件/目录)
绝对路径从/开始,相对路径需要先切换 cd 然后在操作,从当前路径开始
{1..10} {a..d}
rm -rf *.txt
touch \* \ 转译符 让符号回归本身含义
xxxxxxxxxx
1 在/srv/下创建 3.txt的目录。 将此目录备份到 /下
2 将/etc/sysconfig/network-scripts/ifcfg-ens33 复制到/tmp下 并且重新命名为ifcfg-ens33.bak
目的: 修改一些重要文件前一定要先备份
提示:正常复制后面加上要修改的名字即可
3 使用一条命令创建 /tmp/1/2/3目录。提示 mkdir -p参数
4 在/srv下创建1.txt目录
5 把1.txt目录复制到/tmp下
6 把/tmp下的1.txt目录移动到/下
7 在/1.txt目录下创建2.txt文件
8 把/1.txt/2.txt文件 重命名为 2.txt.bak路径不变
9 解释 你的公有云有什么计费模式?什么配置?
10 服务器的端口范围是多少?
11 ping 命令用的是什么协议?
12 怎么查看文件?有什么区别?
13 查看系统内核版本,操作系统版本。
14 说说都有哪些unix系统 ,他们有什么区别?
15 centos6和7有什么区别? 说出3个
16 公司业务量很小,请进行云服务器购买,公司客户分布在北京
17 去阿里云购买1台服务器,不需要付款
18 说说你今天会的linux命令
19 linux系统/下都有哪些目录呢?
20 在/srv下创建名字是*的文件。 和1.txt 2.txt 3.txt ...一直到10.txt
和file1 file2 file3 file4文件。 然后删除*文件。不允许删除其他文件
xxxxxxxxxx
head /etc/passwd > 1
打印/etc/passwd 前10行写入到文件 1中
set nu 显示行号
set nonu 取消行号
yy 复制 3yy 复制光标及下3行(包含光标所在行)
dd 删除 4dd 删除光标所在行及下3行 (一共4行)
:数字 光标直接进入所在行
G 光标移动到最后一行
dG 删除光标所在行及下边所有
u 撤销
修改重要文件前要cp (备份)
gg 光标 移动到行首
dgg 删除光标所在行到行首
a i o 区别 (光标位置)
wq! q! 保存退出 直接退出不保存
: esc
: set nu 显示行号 set nonu 取消行号
:set list
ls -a 查看隐藏文件
shift a 光标移动到最后
ctrl +v 注意光标的位置,删除列
s/root/ROOT/ 替换光标所在行的第一个
s/root/ROOT/g 替换当前行所有
%s/root/ROOT/g 替换全文
s 匹配(替换) g整行 % 全文
1,5 s/root/ROOT/g
5,$ s/root/ROOT/
替换 旧的 新的 整行
禁止root账号密码登录
vi /etc/ssh/sshd_config
/PermitRootLogin 去掉# 把yes改成no
systemctl restart sshd
遇到问题请使用后台nvc处理故障
xxxxxxxxxx
1将/etc/passwd文件前15行写入到passwd.bak 文件中
2 将全文的sbin换成 SBIN
3 将games开头的行 第一个games 换成GAMES
4还原 将整行的games 换成GAMES
5 进入 第12行 显示行号。取消行号 显示空行 并且删除第12行
6 找到第3个nologin 手动修改为YES
7将全文的nologin 修改为haha
8 复制第8行到 文件最后
9 将第3行到最后一行的haha换成HAHA
1a给服务器添加2个账号 xiaoli xiaowang 设置密码为1 ,普通用户是否可以给root用户修改密码? 2 添加账号 哪些文件会有变化. 3 修改普通用户xiaowang 和root的密码,使用root账号 4怎么判断一个账户是否存在?? 5 添加zhangsan用户指定uid为6000 家目录为/bbb 6 /etc/passwd 第二段是干什么的?以什么分割? 7 给普通用户xiaoli提权,让他拥有root的权限 8 删除/etc/passwd 文件。是否能登录机器?? 为什么? 9 现在zhangsan离职了,你需要在服务器上操作什么? 10 指定hr组的gid为5000 11 将jim用户从nt组里删除 12 添加 ha1 ha2 ha3用户到 NT组里 13添加zhangsan用户,指定uid为4000,家目录是/ccc。 14添加CW组,指定gid为5000,并且查看 15将zhang1 zhang2 添加到CW组里 16将zhang1 从CW组里删除掉 17删除zhang1 用户,并且查看
账号申请/添加 要提工单
xxxxxxxxxx
ip:x.x.x.x
账号名称 zhangsan1
审批人:
sudo 提权申请:
root--->普通账户
useradd zhao
passwd zhao
1
1
vi /etc/sudoers 110复制到最后
:110 yy G p
#%whell换成 zhao
普通用户登录zhao
sudo su - 切换成root
exit
分隔符:: 第一列:用户名 第二列:密码 第三列:用户标识号--->(uid)是一个整数,系统内部用它来标识用户。通常用户标识号的取值范围是0~65535。0是超级用户root的标识号 第四列:gid 第五列:描述信息。 第六列:家目录 第七列:是用户登陆到界面的第一个命令,开启一个shell。登陆shell
xxxxxxxxxx
[root@linux-server ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
#指定新添加用户的uid
xxxxxxxxxx
useradd zhangsan -u 2000
#指定用户的家目录
xxxxxxxxxx
useradd zhangsan -d /aaaa
#同时指定uid和家目录
xxxxxxxxxx
useradd wang1 -u 3000 -d /bbb
#删除用户
xxxxxxxxxx
userdel -r wang1
#当添加一个用户后,系统会有哪些变化
xxxxxxxxxx
/etc/passwd 存放用户账号信息
/etc/shadow 存放用户密码文件信息
/home 存放普通用户家目录
/var/spool/mail/ 存储邮箱账号信息
/etc/group 组账号信息
##有一台服务器,添加账户失败。
xxxxxxxxxx
用户已经存在
磁盘空间不足会导致 df -h
查看磁盘使用情况
xxxxxxxxxx
df -h
如果使用率到达100% 就会出现添加账号失败的现象
xxxxxxxxxx
/etc/passwd 存储用户信息的文件
/etc/shadow 存储用户密码的文件
有一个用户的uid是0,请问是什么用户?/ root用户的uid是多少?
xxxxxxxxxx
root 0
系统下添加一个账号哪些文件或者目录会产生变化
xxxxxxxxxx
/etc/passwd 存放账号
/etc/shadow 密码
/home 家目录
/etc/group 组
/var/spoor/mail 邮箱
useradd xxx #添加账号 userdel -r xxx #删除账号并且删除所有相关文件 id xx 判断用户是否存在,看他的uid
1
useradd user02 -u 503
创建用户usr02,指定uid
2
useradd user03 -d /aaa
创建用户user03 指定家目录
3
useradd zhangsan2 -u 3000 -d /bbb
同时指定uid和家目录
groupadd net01 -g 2000
添加组net01,并指定gid 2000
tail -2 /etc/group
查看/etc/group中组net01信息
userdel -r user 删除用户
groupdel net0
groupadd 添加组
groupdel 删除组
/etc/group 组的配置文件
#gpasswd 参数 组名
gpasswd -a tom IT
同时添加多个用户到组:
gpasswd -M jim,tom,wing hr
gpasswd -M tom,wing IT
从组删除账户
gpasswd -d user10 group
删除组 groupdel 组名
root用户的家目录是/root
pwd 显示当前路径
r=4 w=2 x=1
修改权限
xxxxxxxxxx
chmod u+x 文件名
chmo o-x 文件名
chmod a=rwx 1.txt 所有
chmod a=- 1.txt 取消所有权限
chmod ug=r,o=- 1.txt
chmod 700 1.txt
chmod -R 644 文件 递归权限
chown 用户名 文件名 (目录)
chgrp 组名 文件名(目录)
ll 文件名 查看文件
ll -d 目录名 查看目录
----应用案例 hr01用户可以进目录。 zhangsan不能进 groupadd hr
xxxxxxxxxx
mkdir /home/hr
chgrp hr /home/hr #千万不要忘记修改目录的属组
chmod 770 /home/hr
ll -d /home/hr/
gpasswd -a hr01 hr ### 把hr01加到了hr组里。 g的权限7去控制
hr01 登陆
cd /home/hr
useradd zhangsan
zhangsan去登陆
####没有加组 o权限0去控制
cd /home/hr
umask 权限掩码
xxxxxxxxxx
一旦发现创建的文件或者目录不是默认的权限
默认目录权限为 755
默认文件权限是 644
第一时间去修改umask值,默认为0022
目录 -umask =默认目录权限
0777
文件
0666- umask值= 默认文件的权限
root用户的umask值是0022
umsk
普通用户的umask值是多少?0002
修改umask值
umask 0022
xxxxxxxxxx
权限设置:
1 修改 /tmp 下1的文件权限为700 使用数字
2 修改 /tmp下 2的目录 权限为765 使用字母
3 请查看 1 2 的权限
4 linux系统下 默认创建的文件及目录权限分别是多少?
5 使用字母给 1文件加执行权限
6 r w x 分别代表数字是多少?
7 修改属主 , 属组命令是什么?
8 创建一个文件 /tmp/gongzi.txt 要求:此文件属于RS组,并且只有root和组成员能够读写执行。
9 创建一个文件 /tmp/shebei.txt 要求只有IT组的成员和root能够读写执行,其他人有只读权限
10
修改/tmp/shebei.txt权限为750 先使用chmod 777 shebei.txt 然后用字母去减 变成750
修改/tmp/gongzi.txt权限为700 使用英文字母 表示
11 添加zhangsan用户指定其家目录为 /zhangsan
12 root用户的UID 是多少?
13 root用户的gid多少?
14 gpasswd 同时添加 zhang1 zhang2 zhang3 到 HR组
15 针对hr部门的访问目录/home/it设置权限,要求如下:
root用户和hr组的员工可以读、写 其他用户无权限
17 普通用户的umask值是多少? Root用户默认的umask值是多少?
18 给普通用户zhang 让zhang用户拥有全部的root权限。可以切换到root账号
xxxxxxxxxx
进程和线程的区别:
线程:线程来源于进程, 线程模式需要事先开启进程
线程模式并发量高
进程:进程稳定性高,线程稳定性低 进程独占内存
线程共享进程内存。一个进程可以有多个线程
进程是申请一块内存空间,将数据放到内存空间中去, 是申请数据的过程是最小的资源管理单元
进程是线程的容器
程序与进程的区别
程序是数据和指令的集合, 是一个静态的概念, 就是一堆代码, 可以长时间的保存在系统中
进程是程序运行的过程, 是一个动态的概念, 进程存在着生命周期, 也就是说进程会随着程序的终止而销毁, 不会永久存在系统中
进程之间交互
进程之间通过 TCP/IP 端口实现
ss和netstat 命令都可以查看端口,查看本机的tcp链接状态。他们哪个速度快,有什么区别?
xxxxxxxxxx
netstat是遍历/proc 下面的每个pid目录, ss直接读取/proc/net下面的
统计信息,所有ss执行时候消耗的时间比netstat少很多
并且,如果服务器的链接非常大,使用netstat会很慢,尽量用ss
秘诀:原理, ss快是因为利用了tcp协议栈中的 tcp_diag ,这是一个用于
分析统计的模块,可以获得内核中的第一手信息。 效率高
linux系统开机必须有的几个进程? 说说linux系统默认都有哪些进程?
xxxxxxxxxx
1号进程 systemd 是linux系统基础组键集合,提供了一个系统和服务管理器,运行后
pid是1 并且负责启动其他程序。
2号进程kthreadd 管理调度其他内核(kernel)线程 (进程)
4号kworker 进程是内核工作进程 kernel worker
sshd 远程连接
xxxxxxxxxx
ps aux | less 分页查看进程
yum -y install httpd 安装httpd服务
systemctl restart httpd 启动httpd服务
ps aux | grep httpd 过滤出来包含httpd的进程
kill -9 PID 发送进程终止信号(只能杀1个)
kill -l #查看所有信号
-1 HUP 重新加载进程或者重新加载配置文件,PID不变
-9 KILL 强制杀死 给进程发送强制终止信号
-15 TERM 正常杀死(这个信号可以默认不写)
-18 CONT 激活进程
-19 STOP 挂起进程
kill,pkill
语法: kill 信号 PID #信号也是进程间通信的一种方式
kill -l
yum -y install vsftpd
pkill -u zhangsan 踢掉zhangsan用户的所有终端
pkill httpd 杀掉包含httpd的所有进程
ps aux --sort -%cpu | less
查看进程。排序。 cpu降序 分页查看
ps aux --sort %cpu | tail -3
ps aux --sort -%cpu | head -4 | grep -v USER > /tmp/1.txt
grep -v 取反
yum -y install lsof(非腾讯云)
lsof -i:22 查看端口的命令 22端口-ssh服务
lsof -i:80 查看httpd 80端口命令
ss -tnlp 查看本机的tcp连接(全部端口状态)
yum -y install net-tools (安装netstat命令,非腾讯云)
netstat -tnlp
ps aux 静态的查看进程信息
xxxxxxxxxx
1.创建组admin 创建用户jack和tom属于该组(该组为他们的第二个组) 创建用户tony,不属于admin, 他们的密码都是:qianfeng
2.拷贝/etc/fstab到/var/tmp/fstab, 属主和属组为root; 任何人都不能执行;
3.将 /etc/passwd 复制到 /tmp/1.txt 中
4.将/etc/passwd复制到/opt目录下,并执行一下操作 将所有的root全部替换成ROOT
将每行的第一个n替换成N
将1-4行删除
5.创建目录/module.属主和属组分别为jack admin, 在/module下创建20个文件,文件名前缀为?le, (?le1,?le2,?le3 ?le20)
6.在vim编辑器中,请解释下面命令的含义:yy ,dd, G, i, a, u,
7.查找/etc/passwd中, ftp的关键词语
8.希望alice能够对/home/it有读、写、执行权限
9.说说你的操作系统版本
10.vim编辑器怎么删除第一列的
11.写出下列命令的快捷键,移动到命令行首、从光标删除到文件最后。
12.如何查看一个文件的详细信息?如何查看文件内容?说出多个命令,有什么区别?
13 使用一条命令查看一共当前系统一共有多少个用户 提示 | wc -l
14修改 /tmp 下1的文件权限为700 使用数字
15 修改 /tmp下 2的目录 权限为765 使用字母
16 在防火墙中操作,开启所有端口
17 修改属主和属组的命令是什么?
18 怎么查看隐藏文件?
19 怎么查看历史执行命令?
20 drwx-rw---这是文件?还是目录?权限是多少?
21 一条命令给 /tmp/1.txt 设置为 000 权限
22 说说你常用的端口号?
23 linux系统默认有哪些用户?
24 实验题
禁止root账号登录,并且使用普通账号登录成功,并被提权。
修改ssh的默认端口号为2000,并且要求不许重启服务,并且ssh的进程pid不能变,让配置生效,提示:# 修改配置文件的一个地方 。 Port 22 # 为什么登陆不成功呢?想想安全组端口放行
25 请说出静态查看机器进程的命令
26 如果坏蛋登上你的机器,你要怎么做?
27 杀掉单个进程
28 你的云服务器连接不上,你要怎么做?
29 ps aux命令中u是什么意思?
30 ps命令前四列分别是什么?
31 kill -9 是什么意思?(不能说杀死进程)
32 linux系统默认都有哪些进程呢?
33 如果有坏蛋同桌登录了你的机器,你要怎么做?
34 kill命令后面都可以跟哪些常用的信号?
35 使用li用户登录你的机器,然后将进程挂起。
36 kill 命令默认跟着的信号是数字多少?
37 添加一个账号,在系统下哪些文件会产生变化
38 说说你的性格特点
39 我公司为什么要聘请你?
40 你的英文水平怎么样?
说说你的性格特点
xxxxxxxxxx
考点--:是否能够快速融入团队
是否能够表达自己的思维,还要听领导话
性格开朗大方,能够快速的融入团队,和同事和谐相处,并且能够按时完成领导安排的各项任务,在工作中比较细心,能够提出有效的工作及处理故障的方案和同事一起讨论。
我公司为什么要聘请你
xxxxxxxxxx
首先我的技术知识储备和公司的岗位找人jd比较符合,并且我有Linux系统线上运维经验,了解处理故障和做项目的工作流程,我认真负责,能够完成领导的任务,保证公司线上业务稳定运行,并且自动化。
你的英文水平怎么样
xxxxxxxxxx
英语好:能够进行日常的英文听说读写,处理报错,查看英文文档及网站。
英语不好:能够处理日常英文报错,查看英文文档及网站。
僵尸进程的危害
xxxxxxxxxx
将导致系统没有可用的进程号而导致系统不能创建进程。所以我们应该避免僵尸进程
僵尸进程产生的根本原因
xxxxxxxxxx
父进程结束掉,但是子进程还在,此时会变成孤儿进程 。init(systemctld)pid=1的进程会回收这个孤儿进程, 孤儿进程不会像僵尸进程一样占用资源。
进程状态了解
xxxxxxxxxx
+:表示运行在前台的进程组
S+:休眠状态
T+:暂停,挂起状态
s:父进程
Z 僵尸进程
Sl 以线程的方式运行
Ss s进程的领导者,父进程
R+ +表示是前台的进程组
S< <优先级较高的进程
SN N优先级较低的进程
资源竞争处理
xxxxxxxxxx
内核的工作就是安排资源,linux是支持多进程,但是对资源竞争的处理不可避免,内核在架构级别的资源竞争处理主要思路是队列缓存。 利用对象的队列指针判断设备是否繁忙,如果指针为空,设备不忙,设备忙,指针不为空
swap 交换分区,防止内存溢出。 机器的一个保护机制
优先级
xxxxxxxxxx
当进程启动时候,资源(cpu 内存)不够的时候, 会随机杀死优先级较低的进程,释放资源
renice -20 -p PID
nice 值越高:表示优先级越低,例如+19,该进程容易将CPU 使用量让给其他进程。
nice 值越低:表示优先级越高,例如-20,该进程更不倾向于让出CPU。
查看内存和磁盘瓶颈
xxxxxxxxxx
top命令 动态的查看进程。 swap (交换分区)。作用:防止内存溢出。 指标: 0 used 使用量一旦不适0 意味着机器内存不够,弹性升级升内存
df -h 磁盘空间不足瓶颈 。看挂载点/这列 100% 意味磁盘空间已满。 升级磁盘空间(买磁盘)
top基本操作
xxxxxxxxxx
> 往下翻页
< 往上翻页
M 按内存排序
P 按cpu排序
q 退出
z 彩色显示
W 保存
1 用什么命令查看进程?
xxxxxxxxxx
ps 静态查看 和 top 动态查看
2 请说说top分为几部分?
xxxxxxxxxx
两部分,第一部分是前5行,是系统整体的统计信息。
第二部分是第8行开始的进程信息
3 使用top命令给 本机内存使用率排序
xxxxxxxxxx
top
M
4 使用top命令给本机的cpu使用率排序
xxxxxxxxxx
top
P
5 请问调整优先级的数字范围()
xxxxxxxxxx
(-20) 数字优先级最高 (19) 数字优先级最低,最容易释放资源
6 调整本机的sshd的优先级为最高,不易被抢占资源杀死
xxxxxxxxxx
ps aux | grep sshd (查询到sshd的PID为31307)
renice -20 -p 31307
7 top命令中 load average x x x是什么意思
xxxxxxxxxx
一分钟、五分钟、十五分钟的系统平均负载
8 安装httpd服务,一条命令杀死所有httpd服务
xxxxxxxxxx
yum -y install httpd
systemctl restart httpd
pkill httpd
9 多个zhangsan登录你的机器,同时给他们踢掉
xxxxxxxxxx
pkill -u zhangsan
10 修改本机的默认ssh登录端口为2000,登录成功后 修改回22端口
xxxxxxxxxx
vi /etc/ssh/sshd_config
:/Port 22 (22改为2000,重启服务)
11 linux服务器被入侵的症状??并且怎么去做?
xxxxxxxxxx
被入侵后的服务器会消耗非常高的资源,尤其是CPU等,可以用此机器挖矿,发送垃圾邮件,消耗带宽发动DOS 攻击。
表现:服务器变慢,跑的网页的话(运行着WEb用服务),网站打开缓慢。
有可能会有很多登陆异常的账号和ip地址
13 将本机的ssh服务调整为优先级最高的进程
xxxxxxxxxx
ps aux | grep sshd (查看到sshd的PID为31307)
renice -20 -p 31307 (将ssh服务的优先级调整为-20)
14 端口的范围是多少?
xxxxxxxxxx
1-65535
15 禁止你自己笔记本的代理ip登录你的服务器,然后恢复
xxxxxxxxxx
w (查看ip)
去防火墙添加规则
16 将本机的ssh服务全部杀死。 然后处理。要求能够正常登录
xxxxxxxxxx
pkill sshd
使用VNC登录
systemctl restart sshd 重启sshd服务
使用FinalShell重新登录
17 上午点所有僵尸进程,孤儿进程等等理论(自行查看)
聊一聊top
xxxxxxxxxx
top动态查看进程,分为两部分,上部分机器整体负载状态,下半部分是单个进程的状态,并且可以查看内存 交换分区 系统1.5.15分钟的平均负载,比较重要的参数有 us sy id wa. 用户态,内核态占用cpu时间, cpu空闲 io等待的时间。
top看瓶颈看参数?
xxxxxxxxxx
%cpuS id 特别小 cpu瓶颈,核心不够, wa 很大非0 运算速率跟不上, 大部分是磁盘读写原因,升级磁盘 读写速度 swap --used 如果非0 内存不足
这里显示不同模式下所占cpu时间百分比,这些不同的cpu时间表示:
xxxxxxxxxx
us, user: 用户态进程占用的CPU时间 (用户态)
sy,system: 运行内核进程的CPU时间 (内核态)
ni,niced:运行已调整优先级的用户进程的CPU时间
wa,IO wait: 用于等待IO完成的CPU时间
id cpu空闲的百分比
hi:处理硬件中断的CPU时间
si: 处理软件中断的CPU时间
st:这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)。
可以使用't'命令切换显示。
操作系统需要的两种cpu的状态
用户态(user mode) 运行用户程序
内核态 (kernel mode) 运行操作系统程序,操作硬件
编写两个中断服务函数的区别
xxxxxxxxxx
1.软中断发生的时间是由程序控制的,而硬中断发生的时间是随机的,具有突发性
2.软中断是由程序调用发生的,而硬中断是由外设引发的
什么是平均负载?
xxxxxxxxxx
系统中处于可运行状态和不可中断状态的平均进程数。
简单来说,单位时间(1、5、15分钟)的活跃进程数
平均负载和CPU使用率的区分
xxxxxxxxxx
平均负载是指单位时间内,系统中处于可运行状态和不可中断状态的平均进程数,它不仅包含正在使用cpu的进程,还包含等待cpu的进程及等待io的进程; 而 CPU 使用率,是单位时间内 CPU 繁忙情况的统计
一次性的计划任务
xxxxxxxxxx
[root@linux-server ~]# vim at.jobs
useradd u99
useradd u00
touch /a.txt
[root@linux-server ~]# at 20:33 < at.jobs
重复计划任务
xxxxxxxxxx
分 时 日 月 周
min hour day month week
0-59 0-23 1-31 1-12 0-6
crontab -e
分 时 日 月 周
0 2 * * 5 /usr/bin/touch /tmp/1.txt
0 2 14 * * /usr/sbin/shutdown now 关机
*/3 * * * * /usr/bin/touch /tmp/1.txt
reboot now 重启
shutdown now 关机
*/2 * * * * /tmp/1.sh
0 1,4,6 1 * * /mysql_back.sh
0 2 5-9 * * /mysql_back.sh
配合计划任务脚本--2-a 脚本必须有执行权限。b必须是脚本绝对路径
9点到18点 每2个小时整点
0 9-18/2 * * *
crontab -e
shell脚本的第一行 #!/usr/bin/bash #指定解释器固定的
crontab -l 查看计划任务 crontab -r 删除本机的计划任务 date 查看系统时间 date 月日时分
root用户给普通用户创建计划任务 crontab -u jack -e 给普通用户建 crontab -u jack -l 查看普通用户的计划任务 禁止普通用户捣乱使用计划任务 vi /etc/cron.deny xxxxx
---模拟机器中了门罗币挖矿病毒。 --
xxxxxxxxxx
1 rm -rf /tmp/.
2 rz上传病毒包。
3 tar xf bd.tar.gz 解压压缩包
4 crontab -e. */5 * * * * /tmp/c3pool/xmrig
5 ps aux --sort -%cpu | less 抓出来pid
6 找出病毒文件路径. lsof -p pid
7 手动杀掉kill -9. pid.
8 观察,过一会病毒文件自动启动了。
9 手动删除病毒文件,清理计划任务,机器恢复正常
顽固病毒
pkill crond
systemctl restart crond (计划任务的服务)
最简单:重装
计划任务不执行的原因
xxxxxxxxxx
是否有crond进程?
系统时间是否正确?
命令是否正确?
输出重定向
xxxxxxxxxx
date 显示当前系统时间
1> 正确输出重定向 覆盖
1>> 正确的输出 追加
2> 错误的输出 覆盖
2>> 错误的输出 追加
1> 2> 正确输出写入到xx 错误的输出写入到XX
&> 混合输出 无论正确错误都写入到XX
/dev/null 回收站 垃圾箱
输入重定向
xxxxxxxxxx
输入重定向
cat >file4 <<EOF
> 111
> 222
> 333
> 444
> EOF
cat >>file5 <<EOF
> 11
> 22
> 33
EOF
>直接覆盖 >>在原有基础上追加
1 计划任务在11月份,每天早晨6点到12点中,每隔2小时执行一次/usr/bin/httpd.sh 怎么实现?
xxxxxxxxxx
0 6-12/2 * 11 * /usr/bin/httpd.sh
chmod +x /usr/bin/httpd.sh
2每天07-23点,每隔半小时执行apache重启(yum安装的)
xxxxxxxxxx
*/30 7-23 * * * /usr/bin/systemctl restart httpd
3 每个星期天早八点 定时重启服务器
xxxxxxxxxx
0 8 * * 0 /usr/bin/reboot now
4 今天18点关机 提示关机命令 shutdown now
xxxxxxxxxx
vim at.jobs
/sbin/shutdown now
at 18:00 < at.jobs
chmod +x at.jobs
5 今天凌晨1点59分删除 /bt目录下全部子目录,和子文件
xxxxxxxxxx
vim rm.jobs
/usr/bin/rm -rf /bt/*
at 01:59 < rm.jobs
chmod +x at.jobs
6 每隔两小时执行/data/scripts/back.sh脚本
xxxxxxxxxx
0 */2 * * * /data/scripts/back.sh
7.计划每星期五早11点29分服务器定时重启,如何实现?
xxxxxxxxxx
29 11 * * 5 /usr/bin/reboot now
8 你用单用户做过什么?4种情况全部模拟出来-a, /被注释 b 忘记root密码 c 计划任务一分钟起一次 /etc/rc.local被写东西了 9 临时关闭防火墙和selinux 10 永久关闭防火墙 selinux。要求生效 11 /etc/fstab是干嘛的? /etc/rc.local是干嘛的 12 挖矿病毒一分钟启动一次,手动杀掉后,等待病毒自动启动。然后清理
xxxxxxxxxx
ps aux --sort -%cpu | less 抓出来pid
找出病毒文件路径. lsof -p pid
手动杀掉kill -9. pid.
观察,过一会病毒文件自动启动了。
手动删除病毒文件,清理计划任务,机器恢复正常
分出主分区后,其余的部分可以分成扩展分区,一般是剩下的部分全部分成扩展分 区,也可以不全分,剩下的部分就浪费了。 . 扩展分区不能直接使用,必须分成若干逻辑分区。所有的逻辑分区都是扩展分 区的一部分。 硬盘的容量=主分区的容量+扩展分区的容量; 扩展分区的容量=各个逻辑分区的容量之和。
lsblk 查看磁盘分区
fdisk /dev/sdb 进行分区
格式化磁盘是给磁盘创建新的文件系统 文件系统类型例如xfs
mkfs.xfs /dev/sdb -f make filesystem xfs(文件系统类型) 格式化谁 -force 强制 主 扩展 若干逻辑
创建挂载点(创建目录) mount命令是临时挂载命令,重启后挂载失效。 在挂载前必须格式化分区,否则挂载出问题。
mount /dev/sdb1 /mnt/d1 临时挂载重启失效
umount /dev/sdb1 /mnt/d1 取消挂载
xxxxxxxxxx
重启后内核按e
找到UTF-8 后们加上 init=/bin/bash
ctrl+x
mount -o remount,rw /
passwd root
2
2
exec /sbin/init 重启
机器恢复正常了
xxxxxxxxxx
systemctl stop firewalld 临时关闭防火墙
systemctl disable firewalld 永久关闭防火墙(重启生效)
systemctl status firewalld 查看状态
setenforce 0 临时关闭selinux (安全策略)
vi /etc/selinux/config
enforcing 改成disabled(永久关闭重启生效)
先永久关闭然后临时关闭
.xfs 格式化成xfs文件系统
df -Th 查看分区带类型
格式化磁盘失败原因:
xxxxxxxxxx
分区或者磁盘已经被挂载使用
取消挂载的失败的原因:
xxxxxxxxxx
当前正在挂载目录中,切换目录即可
挂载失败的原因
xxxxxxxxxx
1 磁盘或者分区没有格式化
2 分区容量太小
3 挂载点不存在,目录没创建
1将你的sdb1 格式化成ext4 文件系统 大小为100m。临时挂载在/mnt/dir1上
xxxxxxxxxx
fdisk /dev/sdb (创建出sdb1分区)
mkdir /mnt/dir1
mount /dev/sdb1 /mnt/dir1
2将 sdb2 格式化成 xfs 文件系统。大小为1G
xxxxxxxxxx
fdisk /dev/sdb (创建出sdb2分区)
mkfs.xfs /dev/sdb2 -f
3 格式化磁盘sdb(必须格式化成功)需要先取消挂载才可以格式化
xxxxxxxxxx
umount /dev/sdb1 /mnt/dir1 (取消挂载)
mkfs.xfs /dev/sdb -f
4重新分区sdb。sdb1 sdb4 sdb5 sdb6 分别为 1 G 2G 3G 4G
xxxxxxxxxx
fdisk /dev/sdb (创建sdb1和sdb4主分区,创建sdb2扩展分区,sdb5和sdb6为逻辑分区)
5将上面的分区分别挂在/data1 /data2 /data3 /date4上。
xxxxxxxxxx
mkdir /data{1..4}
mount /dev/sdb1 /data1
mount /dev/sdb4 /data2
mount /dev/sdb5 /data3
mount /dev/sdb6 /data3
6重启服务器,查看挂载是否存在?
xxxxxxxxxx
不存在
7说说你了解的windows和linux的文件系统类型 8 为什么分区小,会导致格式化失败
xxxxxxxxxx
没有足够的空间去存放文件系统
9说说什么是格式化?
xxxxxxxxxx
创建新的文件系统
10 mkfs.xfs mkfs和xfs分别是什么意思?
xxxxxxxxxx
mkfs:创建文件系统,格式化
xfs:文件系统类型
11说说主分区,扩展分区,逻辑分区之间的关系? 12 说说磁盘的空间是怎么组成的
xxxxxxxxxx
主分区+扩展分区
13 格式化一个磁盘失败了,会是什么原因导致的?
xxxxxxxxxx
磁盘故障......
14 使用单用户模式,修改机器的root密码为9
xxxxxxxxxx
selinux和防火墙都要关闭
重启后内核按e
找到UTF-8 后们加上 init=/bin/bash
ctrl+x
mount -o remount,rw /
passwd root
9
9
exec /sbin/init
15 使用单用户模式,将一台被恶意写的一分钟重启一次的机器恢复正常。
xxxxxxxxxx
selinux和防火墙都要关闭
重启后内核按e
找到UTF-8 后们加上 init=/bin/bash
ctrl+x
mount -o remount,rw /
crontab -r
exec /sbin/init
永久挂载
xxxxxxxxxx
[root@qfedu.com ~]# blkid /dev/sdb1 #查看uuid和文件系统类型
/dev/sdb1: UUID="d1916638-bd0a-4474-8051-f788116a3a92" TYPE="ext4"
[root@qfedu.com ~]# vim /etc/fstab
参数解释:
第1列:挂载设备
(1)/dev/sda5
(2)UUID=设备的uuid rhel6/7的默认写法 同一台机器内唯一的一个设备标识
第2列:挂载点
第3列:文件系统类型
第4列:文件系统属性
第5列:是否对文件系统进行磁带备份:0 不备份
第6列:是否检查文件系统:0 不检查
blkid 查看uuid,企业中分区都是使用uuid挂载 /etc/fstab 开机自动挂载文件系统的 linux操作系统必须要有的三个分区 分别是什么? / /boot 引导分区 swap 交换分区
当你的/分区被注释了会产生什么现象? 文件系统只读 解决?进入单用户模式,手动挂载/然后取消注释 重启生效
你使用的linux centos7.6的默认的文件系统是什么? XFS df -Th T type(类型)
mkfs.xfs /dev/sdb -f 格式化成XFS 文件系统 mkfs.ext4 /dev/sdb 格式化成ext4 文件系统 ls -i 文件名字 查看文件的inode号 mkdir /mnt/dir2 mount /dev/sdb2 /mnt/dir2 临时挂载重启没有。 umount /dev/sdb2 /mnt/dir2
简单介绍一下linux文件系统? (请说一说ext4文件系统和xfs文件系统的区别)? linux操作系统支持很多不同文件系统,如ext4 ,xfs,fat等 linux以文件的形式对计算机中数据及资源进行管理,一切皆文件。 ext4 支持度广,但是创建文件系统(格式化)慢,修复慢 而inode有时候会不够用。 xfs文件系统,高容量,支持大存储,高性能。 inode是需要用到时,才动态产生。
inode:索引节点
怎么看文件的inoe ls -i xx
怎么看系统有多少个可用inode df -i
windows和centos的文件系统都有什么类型?
w:ntfs fat32 exfat l: ext4 xfs fat
当一个文件大于4G时候 fat32不支持了 。如果想传输必须使用exfat
df -Th 查看分区
什么是inode 叫"索引节点,是文件或目录在磁盘里的唯一标识
ext4 和XFS文件系统区别 EXT 家族支持度最广: 但创建文件系统(格式化)慢! 但修复慢! 但文件系统存储容量有限!
xfs 同样是一种日志式文件系統: 高容量,支持大存储 高性能,创建/修复文件系统快 inode 都是系統需要用到時,才动态配置产生
1 有一块磁盘2T请问使用什么命令分区?这个命令和fdisk有什么区别?
xxxxxxxxxx
gdisk 需要安装 yum -y install gdisk
fdisk 只能分4个主分区,
gdisk 可以分128个主分区
当一个磁盘>= 2T容量的时候,只能用gdisk分区。 不可以用fdisk
链接文件
xxxxxxxxxx
a 符号链接和硬链接的区别:
软链接不会创建新的inode,只给源文件多加一个文件名,硬链接创建新的inode,相当重新创建一个文件,
硬链接删除源文件后,另一个文件能用。 软连接删除文件后,连接文件不能再用
b 链接文件分为什么? 怎么创建链接文件? (ok)
符号链接和硬链接
符号链接:ln -s 想要链接的文件 链接后的新文件
硬链接 ln 想要链接的文件 链接后的新文件
开机自动执行命令或者脚本的文件
xxxxxxxxxx
vi /etc/rc.local
记得给执行权限哦 命令要用绝对路径
单用户模式修复系统
xxxxxxxxxx
1 修改root密码
2 /etc/rc.local被人恶意写东西了
3 /etc/fstab里 / 分区被人注释了
4 计划任务被人一分钟重启一次
取消挂载时候要注意
xxxxxxxxxx
1不能在当前挂载目录中,否则取消挂载失败
2 想要格式化磁盘 ,必须先要取消挂载,才能格式化成功
3 挂载前,需要手动创建挂载目录,然后格式化分区,
然后再去手动挂载。
4 挂载点不存在,请仔细查看
5 mount临时挂载,重启以后,挂载失效。 (临时挂载)
永久挂载:
/etc/fstab 里删除挂载后,1 重启。 2 手动取消挂载/
xxxxxxxxxx
准备3块硬盘 可不分区 思路---PV----VG---LV
lsblk
##创建PV
pvcreate /dev/sdb
##查看当前PV
pvscan
pvs
vgcreate datavg /dev/sdb (datavg是起的名字)
vgscan
pvscan ##得到回显 pv/dev/sdb 加入到了VG datevg 容量XXfree
#创建LV
lvcreate -L 200M -n lv1 datavg -L(指定lv的大小) 指定为200m lv1为起的名字 从datevg里创建
lvcreate -L 300M -n lv2 datavg
lvscan ## 得到回显 /dev/datevg/lv1 200m
/dev/datevg/lv2 300m
这时候看lsblk 去看看/dev/sdb????
##格式化,创建文件系统挂载
mkfs.xfs /dev/datevg/lv1
mkfs.ext4 /dev/datevg/lv2
mkdir /mnt/lv1 /mnt/lv2
挂载
mount /dev/datevg/lv1 /mnt/lv1
mount /dev/datevg/lv2 /mnt/lv2
mount -a
df -h (df-Th) 加上TYPE 类型
LVM完成
#########################################################
扩大VG
vgs
pvcreate /dev/sdc 先变成PV
vgextend datevg /dev/sdc 查看pvscan
vgs free变大 实验成功
继续扩容
pvcreate /dev/sdd
vgextend datevg /dev/sdd
继续查看 VFree 继续变大
###############################################################
减小VG 数据迁移 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
pvs 查看
pvmove /dev/sdb /dev/sdc 将sdb数据仍到sdc
vgreduce datevg /dev/sdb
pvscan
查看变化。数据迁移完成
注意:
pv不能跨越vg
lv不能跨越vg
系统中可以创建多个vg
vg中可以创建多个lv
1 开机永久挂载 在()个文件中进行?
xxxxxxxxxx
/etc/fstab
2开机自动执行命令或者脚本在()文件中?
xxxxxxxxxx
vi /etc/rc.local
vi /etc/rc.d/rc.local
3 创建pv 创建vg 将pv 加入卷组 创建2个lvm1 100m lvm2 200m 格式化 永久挂载在/data1 和/data2上。
xxxxxxxxxx
pvcreate /dev/sdb
vgcreate datavg /dev/sdb
lvcreate -L 100M -n lvm1 datavg
lvcreate -L 200M -n lvm2 datavg
mkfs.xfs /dev/datavg/lvm1 -f
mkfs.xfs /dev/datavg/lvm2 -f
mkdir data1
mkdir data2
vi /etc/fstab
/dev/datavg/lvm1 /data1 xfs defaults 0 0
/dev/datavg/lvm2 /data2 xfs defaults 0 0
mount -a
4 扩容vg 不需要创建新的vg 。 但是需要创建新的pv。将pv加入到vg中扩容20g
xxxxxxxxxx
pvcreate /dev/sdc
vgextend datavg /dev/sdc
vgs
5 vg会变大 继续扩容 vg又变大 20-- 60G
xxxxxxxxxx
pvcreate /dev/sdd
vgextend datavg /dev/sdd
vgs
6 数据迁移。sdb--->sdd 挂载及数据迁移到sdd上。
xxxxxxxxxx
pvmove /dev/sdb /dev/sdd
7 将sdb从卷组里移除 sdb 就可以单独使用
xxxxxxxxxx
vgreduce datavg /dev/sdb
8 格式化sdb后,把sdb1 挂载在/dir1下,然后格式化sdb。要求格式化sdb成功。
删除lvm步骤
xxxxxxxxxx
1 umount /dev/datavg/lv1 /mnt/lv1 取消挂载
umount /dev/datavg/lv2 /mnt/lv2
2 lvremove /dev/datavg/lv1 删除lvm
3 vgremove datavg 删除卷组vg
pvremove /dev/sdb 删除pv
等这3步都做完才可以格式化磁盘
扩容lvm在原有的基础上+5G
xxxxxxxxxx
lvextend -L +5G /dev/datavg/lv1
lvextend -L 7G /dev/datavg/lv1
跟我说一下吧, /分区满了怎么办?
xxxxxxxxxx
pvcreate /dev/sdb
vgs
vgextend centos /dev/sdb
lvscan
lvextend -L +5G /dev/centos/root
df -T
xfs_growfs /dev/centos/root 文件系统整合
df -Th
扩容swap方式2种
xxxxxxxxxx
第一种
创建个分区,把分区格式成swap
mkswap /dev/sdb1
写到/etc/fstab
/dev/sdb1 swap swap defaults 0 0
swapon -a 激活swap分区,swap变大
swapoff /dev/vdb1
方法二
xxxxxxxxxx
dd if=/dev/zero of=/swap2.img bs=1M count=512
mkswap /swap2.img
vim /etc/fstab 写入挂载
/swap2.img swap swap defaults 0 0
chmod 600 /swap2.img
swapon -a
free -m
关闭swap分区命令
xxxxxxxxxx
swapoff -a
性能测试用过什么?
xxxxxxxxxx
对磁盘IO进行检测测试 用top命令 查看 cpu 的平均负载
dd if=/dev/zero of=test bs=1M count=10
dd if 创建从/dev/zero 拿容量, 输出文件是test 。
一个1M的块设备,一共创建10个 就是创建10M 的文件
文件名查看文件大小
xxxxxxxxxx
du -sh * du -sh
服务器物理磁盘查看,都有什么状态
xxxxxxxxxx
online 在线状态(正常)
failed 失败(磁盘损坏)磁盘外观亮红灯
ready 没有加入阵列当中,不可使用
rebuild 重建
raid0分为2种,分别为单盘0和全盘0
xxxxxxxxxx
raid全盘0 最少需要2块盘 磁盘空间利用率为100% 没有容错
raid0把连续的数据分散到多个磁盘上存取
raid单盘0 只需要一块磁盘 常用于新服务器安装操作系统
raid1 只能2块磁盘做。
xxxxxxxxxx
镜像raid,通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据
优点:提供数据冗余,支持容错,读速度快
缺点:写速度慢,磁盘利用率不高
磁盘利用率:50%
raid5最少需要3块磁盘。它的校验数据分布在阵列中的所有磁盘上。
xxxxxxxxxx
优点:
1.可以找回丢失的数据2.冗余磁盘,当某一块磁盘坏掉后,冗余磁盘会自动替换上去3.读写速度高4.磁盘利用率高
缺点:
1.磁盘越多安全性能越差
利用率 n-1/n
raid6: 两块存校验位。RAID6引入双重校验的概念 最少需要四块磁盘,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。
xxxxxxxxxx
优点:
1.容错:允许两块磁盘同时坏掉。读快。
缺点:
1.写入速度差
2.成本高
3 磁盘利用率 n-2/n
应用场景:对数据安全级别要求比较高的企业
raid1+raid5 全都是机械硬盘
xxxxxxxxxx
raid1+raid5 机械盘+固态盘 混搭
raid1用机械装系统
raid5用固态存数据
raid1+ssd_raid5
raid 阵列选型:
xxxxxxxxxx
根据服务特点,和数据相关做有冗余的阵列,数据要求极高的就做最高的安全性raid。
根据业务特点,数据重要程度,去选择冗余度高和低的raid阵列
DELL服务器的磁盘id标识是从id=0开始的
id==3这块磁盘出现故障,请更换
a c d
- - -
- - -
b e f
a 所有服务器在安装操作系统之前,都有什么操作?
xxxxxxxxxx
必须先做raid
b 请简述raid0 和raid1 raid5的区别 ? 什么是raid1+ssd_raid5?
c 说说你用的什么raid[重点题],为什么?请详细的说说?
d 服务器硬盘如果出现了故障,你怎么做??
服务器磁盘都是支持热插拔,选择同容量,同转速,同接口类型的磁盘进行更换
e 你怎么做raid选型
在服务器重启的界面显示ctrl+r进入raid卡界面进行操作,ctrl+n移动,F2创建或者删除vd
g 说说磁盘都有什么信息? h 说说哪些方式可以安装操作系统? i 你给哪些品牌和型号的物理服务器装过系统?
戴尔、联想、惠普、华为、戴尔 R740/50/60
j 说说你给物理服务器做raid的步骤吧
k 公司上2台mysql 2台httpd服务,你怎么让机房值守摆放? l 练习逻辑卷扩容/分区。 练习完记得快照回来 m 练习扩容swap分区
date 月日时分 修改系统时间(必须2位数)
按照文件名字查找
xxxxxxxxxx
find /tmp/ -name "*.txt"
忽略大小写查找
xxxxxxxxxx
find /tmp/ -iname "FILE"
按照文件大小查找
xxxxxxxxxx
find /etc -size +5M
查找在/etc/大于5M的文件
xxxxxxxxxx
find /etc -size 5M
查找正好是5M的文件
xxxxxxxxxx
find /etc -size -5M
按照修改时间查找
xxxxxxxxxx
find /etc -mtime +5
#了解
#修改时间5天之前
xxxxxxxxxx
find /opt -mtime +5
#访问时间1天之前
xxxxxxxxxx
find /opt -atime +1
按文件类型:
xxxxxxxxxx
find /dev -type f //f普通
find /dev -type d //d目录
find /tmp -type f | wc -l
find /dev/ -type b -name "vd*" //查看当前系统下有多少块磁盘
按照文件权限
xxxxxxxxxx
find . -perm 644 .叫做当前目录
查找当前目录下 权限为644
xxxxxxxxxx
find /tmp ! -name "1.txt" ! 取反
使用 -a这个参数可以链接2个不同的条件且这2个条件必须要满足! -o 在这个参数可以链接2个条件,只要满足1个就会被找出来
xxxxxxxxxx
find /tmp/ -name "1.txt" -o -name "2.txt"
查找空文件或者目录
xxxxxxxxxx
find /tmp -empty
查找并操作
xxxxxxxxxx
find /etc -name "ifcfg-*" | wc -l 统计个数
find /etc -name "ifcfg*" -exec cp -rvf {} /tmp \;
查找 路径 按名 以ifcfg开头
固定参数传递
复制 强制并且显示过程 {}固定占位 路径 \;固定结束 结束符
find / -name "*.txt" -exec rm -rf {} \;
参数传递 删除 占位 \;结尾
find . -name "*.txt" |xargs rm -rf
find . -name "*.txt" |xargs rm -rvf
find /tmp/*.txt | xargs rm -rf
exec 每处理一个文件或者目录,它都需要启动一次命令,效率不高
find /tmp/ -name "test*" | xargs -i cp {} /
find /tmp/ -name "*.txt" -exec tar czf `date +%F`.tar.gz {} \;
错误的只能压出来一个
压缩尤其是带有重命名的,请使用xargs去压缩操作
find /tmp/ -name "*.txt" | xargs tar czf `date +%F`.tar.gz
1 编写的Shell程序运行前或者文件赋予该脚本文件或者文件() 权限
2 唯一标识每一个文件的唯一标示是()
3 查看本机有几个cpu,有几个核心数,请过滤出来那一行。 提示cat /proc/cpuinfo
4 快速ping你虚拟机网关 2000次(虚拟机网关是192.168.X.2)
5 top 命令可以显示cpu 1 5 15分钟的平均负载。 请使用另外2个命令出现CPU平均负载
6 查看/tmp 和/etc 目录多大
7 显示当前目录下隐藏文件,一个文件的inode是多少? 系统共有多少个inode
8 创建lvm。要求lv1 100M lv2 200M 分别挂在/d1 /d2上,要求重启后挂载点还在
9 开机自动创建在/tmp下以当前日期命令的文件 提示 当前日期 date +%F
10 使用yum 安装vsftpd 并且启动设置开机自启 查看进程杀掉vsftpd进程
11 请临时挂载sdb1 sdb2 到 /mnt/dir1 /mnt/dir2 下 文件系统为 ext4和xfs。
12 创建lv1 lv2 分别为5G 6G 永久挂载在/d1 和/d2上,并且扩容lv1到10G 将lv2扩大2G
Linux内核引导时,从文件() 中读取要加载的文件系统.
14 root密码忘记请破解root密码,为什么要破解root密码?什么场景用? 一旦selinux忘记关闭了,无法输入密码怎么办?
15 在/srv/下创建1个大小是200m的文件
16 格式化磁盘sdb。 sdb1给10G 剩余所有空间给逻辑分区sdb5,临时挂载到/dir3下
17 linux系统默认的文件系统类型是什么? redhat红帽系统是什么?
18 查看你当前操作系统版本,内核版本 内存情况,分区情况
19 永久关闭防火墙和临时关闭selinux
20 在Linux系统中,以 () 方式访问设备 .
21 说说机器linux系统都有哪些进程?
22 Linux文件系统中每个进程用 ()来表示.
23 linux系统必须要有的分区是什么? 有什么作用?
24 说说linux系统是怎么启动的
25 请了解一下 cpu上下文切换。 (遇到不会的去查一查)
26 安装httpd服务,并且设置开机自动启动
27 查看本机一共有多少个用户,包含系统用户 提示查看统计 统计命令 |wc -l
28 说说swap分区的作用
29 请将/home/1文件创建符号连接和硬连接。 路径自己定义
30 磁盘2T 怎么分区? 内存8G swap分区给多大?
没有文件自动创建。只打出命令即可
31统计/var/log下文件(非目录 只要文件)的个数
32 查找后缀名字是*.log 并且移动到/srv下
33 请将本机器所有镜像笔记,备份到/tmp下。提示(命令就行)
34 请删除当前目录,(包含子目录)下所有.log结尾的文件
35 查找出来在 /tmp下 所有的.txt结尾的文件。
36 查找出来文件大小是5M的文件并且移动到/下。
37 找出/tmp下 除了1.txt的东西
38 文件可以怎么查找,有什么方式? 分别是什么?
39 使用exec删除/tmp下所有.txt 结尾文件
40 在/tmp下创建当前日期的目录
41 打包都有什么格式的包? 怎么解压?
42 find命令 o 和 a 参数区别
43 说说exec和xargs的区别
44 统计/var/log下文件(非目录 只要文件)的个数
45将/tmp备份 备份为当前时间.tar.gz提示 当前时间哦 date +%Y-%m-%d-%h-%m-%s
46 查找出当前目录下 权限是644的东西
47 查看/tmp下目录的个数 ,并且全部压缩。
48 使用xargs命令,删除/tmp下所有.txt结尾的文件
49 使用xargs命令,将/tmp下所有.txt结尾的文件移动到/srv下
50 /tmp为网站主目录。 请定期备份代码。 防止被篡改
重点题
平时工作中遇到了什么问题?怎么解决的
xxxxxxxxxx
其中1个-机器中了挖矿病毒,系统安全加固(修改ssh默认端口,禁止代理ip访问,禁止root登录)抓出负载较高的进程,然后杀掉。
其中2个-机器ssh连接不上了。排查ssh账号密码,端口,服务进程,安全组放行端口,ip地址
考点-解决问题的能力-排错的思路
39我们为什么要在众多面试者中挑选你?
xxxxxxxxxx
1 我的技术知识储备和公司的岗位比较匹配,并且我也能接受适当的加班(态度),并且我本人也对咱们公司也比较认可,并且我住的离公司也比较近。
考点-自信程度,优势-沟通表达能力
怎么看待学历问题?
xxxxxxxxxx
考点-突出优势,避免劣势
本-我认为学历非常重要,对我曾经努力学习,还有能力的认可。并且我也是本科毕业
我也有非常强的专业技能,能够胜任公司的职位。
专-我的专业性,综合能力,比较突出,能够弥补我专科学历的劣势,并且我有丰富项目经验,解决问题的方法及思路,能够完全胜任公司的岗位。
41想过创业么?
xxxxxxxxxx
考点-表达自己的想法与实际行动与考虑项目是否周全
考虑过,但是经过市场调研,发现不适合我。调研产品不太成熟(适用人群受限,不够大众化),并且自己也没有足够的资金,我想找一份稳定的工作。
没有考虑过,我比较喜欢运维的这份工作,自己专业技能及项目经验都是是linux系统,对系统比较熟悉。工作比较对口。
42你希望与什么样的上级共事
xxxxxxxxxx
考点
能够积极帮我进步,能够给我指出工作中的问题。并且能够在以后工作中避免问题,能够给与我一定指点的。
你和别人发生过争执么?怎么解决的?
xxxxxxxxxx
考点-1 快速融入团队工作。 2 是否能够敢于表达自己
我能够和同事和谐的相处,快速的融入团队,如果有项目中的意见分歧,
我们会讨论,表达自己的想法,找出最好的解决方案,对事不对人。
想过去大城市发展么?
xxxxxxxxxx
大型企业都是坐落大城市的,自己比较喜欢有挑战性的工作,大城市有比较激烈的竞争,能够让我快速的成长,比较喜欢快节奏的生活。并且大城市的机会和机遇比较多,福利比较好。
想回老家:- 我是本地人,在北京实习过一段时间,现在想回老家发展。
第一次去现场(用户单位)到离开现场,你任务需要做哪些工作
xxxxxxxxxx
1 去现场前 电话沟通时间/位置/需要解决的问题/需要做什么准备?(是否需要备件)
2 去现场中 积极配合,并且完成客户安排的工作内容。 和客户保持良好的沟通及关系
3 离开现场 确认工作完成后离开,一定要的得到客户的确认。
/var/log/messages #系统主日志
看日志:要看关键字 erro bad must warn already failed 主日志报错案例 1 ssh配置文件写错。
xxxxxxxxxx
Sep 8 10:03:09 zhaohan sshd: /etc/ssh/sshd_config: line 1: Bad configuration option: a
2 httpd起不来
xxxxxxxxxx
Sep 8 10:30:06 zhaohan httpd: AH00543: httpd: bad user name apache
没有启动进程的用户
pkill httpd
userdel -r apache
systemctl restart httpd
解决 useradd apache
systemctl restart httpd
3 nginx 起不来 地址被占用
xxxxxxxxxx
9月 08 11:08:47 zhaohan nginx[20622]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
4 nginx 起不来
xxxxxxxxxx
failed in /etc/nginx/nginx.conf:5
进入配置文件后
user nginx;
退出去查看是否有nginx用户
有一些服务有固定的用户去启动,不要随意更改守护进程的用户。
5 nginx/ httpd 起不来报错不在当前行(符号丢失) 要查看报错附近的符号是否成对 再看报错信息相近行
xxxxxxxxxx
nginx: [emerg] unexpected end of file, expecting "}" in /etc/nginx/nginx.conf:84
6 案例多项报错。日志一个个显示,需要逐一排查
xxxxxxxxxx
排错思路
当遇到应用服务起不来。
进行服务启动--看日志(/var/log/messages)-根据日志报错去解决系统问题:常见的问题:1 配置文件写错了。2 运行进程用户没有 3 端口被占(lsof -i:xx) 4 改完之后再去重启,如果还报错继续看日志,并且注意报错如果当前行数没有,要上他附近的或者配对的符号。
xxxxxxxxxx
#tailf /var/log/messages //系统主日志文件
# tail -20 /var/log/messages
# tail -f /var/log/messages //动态查看日志文件的尾部
# tailf /var/log/secure //认证、安全
grep Accepted /var/log/secure
grep Failed /var/log/secure 过滤登录成功和失败
# tail /var/log/cron //
计划任务日志
# tail /var/log/yum.log //yum
软件包安装日志 # 环境迁移
grep -i failed /var/log/secure
-i 参数忽略大小写
日志轮转
xxxxxxxxxx
vi /etc/logrotate.d/yum
/var/log/yum.log {
missingok 丢失不提醒
# notifempty 空文件不轮转
# maxsize 30k 到30K就轮转
# yearly 一年轮转一次
# create 0600 root root 创建的文件权限
daily
rotate 3
create 0777 root root
}
/usr/sbin/logrotate /etc/logrotate.conf 手动轮转加载配置文件
记得修改系统时间 一定要往后延1天
执行轮转配置文件 查看
ls /var/log/yum.*
查看新的日志文件是否生成
1 重新安装云服务器系统 2 设置安装vsftpd服务然后卸载。查看系统主日志变化 3 安装httpd服务和nginx服务 4 启动httpd服务,要求启动成功。 5 启动nginx服务,要求启动成功 6 日志文件你常用的都有哪些? 7 写个计划任务,一分钟创建/tmp/1.txt文件,查看日志变化。 8 过滤出来用户登录成功的信息写入到1.txt中 9 过滤出来登录失败的用户信息,写入到2.txt中 10 /var/log/message日志一共有多少行内容 11 系统安全登录日志在哪里? 12怎么动态的查看日志? 13 过滤出来登录成功和失败的用户的行。 grep -i 的i参数是什么意思 14 把今天下午讲的5个日志实验全部做一遍 15 禁止同桌的云服务器ip登录你的机器1 重新安装云服务器系统 2 设置安装vsftpd服务然后卸载。查看系统主日志变化 3 安装httpd服务和nginx服务 4 启动httpd服务,要求启动成功。 5 启动nginx服务,要求启动成功 6 日志文件你常用的都有哪些? 7 写个计划任务,一分钟创建/tmp/1.txt文件,查看日志变化。 8 过滤出来用户登录成功的信息写入到1.txt中 9 过滤出来登录失败的用户信息,写入到2.txt中 10 /var/log/message日志一共有多少行内容 11 系统安全登录日志在哪里? 12怎么动态的查看日志? 13 过滤出来登录成功和失败的用户的行。 grep -i 的i参数是什么意思 14 把今天下午讲的5个日志实验全部做一遍 15 禁止同桌的云服务器ip登录你的机器
yum命令和rpm命令的区别?
如果使用rpm安装一个有依赖的包
xxxxxxxxxx
区别:rpm命令安装时,不检查软件包依赖性问题,yum命令安装时,可自动处理依赖关系,并且一次安装所有 有依赖的包
rpm安装一个有依赖的包;先使用rpm安装这个有依赖的包, 按照错误提示,缺少哪个包,要先装缺少的包。等依赖包安装完后,再安装此包。
总结:yum能够自动解决依赖关系,而rpm不可以。
httpd-2.4.6-97.el7.x86_64.rpm
httpd-2.4.6-97.el8.x86_64.rpm
服务名。版本号 操作系统大版本 固定的64位计算机操作系统 rpm包
安装方式有三种
1 rpm包的安装 适用于银行国企职能部门,没有公网的地方使用
2 最常用的yum 有公网,最方便
3 源码编译安装 最稳定
将国外源换成国内源
目录为/etc/yum.repos.d
xxxxxxxxxx
下载阿里云的基础源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
下载腾讯的基础源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
xxxxxxxxxx
yum clean all 清除本地缓存
yum -y install lsof 安装
yum -y remove lsof 卸载
yum -y reinstall httpd 重新安装
yum provides vim 复制软件包名称
yum -y install 右键粘贴包名
yum provides rz 查找rz命令准备上传软件包
rz 回车 如果软件上传失败 更换windows包的路径
rz windows上的东西上传到linux
sz 文件名 linux服务器上的文件上传到windows
yum -y install epel-release 安装epel扩展源
.zip结尾的包 要安装 yum -y install unzip 去解压
有一些软件包,用provides 查不到。 必须去网上查看在哪个软件包里。/
然后在安装
安装扩展源 也叫做安装epel源
xxxxxxxxxx
yum clean all
清除本地的yum缓存
####rpm下载的地方 http://rpmfind.net/
ntfs-3g
rpm -ivh ntfs-3g-2017.3.23-11.el7.x86_64 安装
rpm -q ntfs-3g 查询软件包是否安装
rpm -qa | grep ntfs-3g 查看软件包是否安装
yum -y remove ntfs-3g-libs-2021.8.22-2.el7.x86_64
卸载
先查一下服务安装哪几个包
rpm -e ntfs-3g-2017.3.23-11.el7.x86_64
包: 服务名 --版本---el7_x86_64
nginx.org
源码包服务-版本--.tar.gz(bz2,zip)
更换国内源base
xxxxxxxxxx
yum -y install epel-release
yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel
1 配置环境
.tar.gz .zip
互联网下载---上传---安装
tar xf xxx
cd xxx
./configure --prefix=/usr/local/nginx
make
make install
不承认的技能
xxxxxxxxxx
yum安装依赖, 源码编译安装主服务
mysql版本控制- 5.7-8.0 变化
xxxxxxxxxx
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
下载源
进入源配置文件修改 enable=1 开启5.7版本安装。 关闭8.0版本安装
安装命令 yum -y install mysql-server
报错gpgcheck有问题 修改 gpgcheck=0
软件包版本升级
xxxxxxxxxx
先卸载- 在安装新版本通过新的yum仓库源
dhcp协议动态主机配置协议: 局域网给主机分配ip地址的协议
xxxxxxxxxx
cd /etc/sysconfig/network-scripts/
修改并且懂每一行配置文件的意思 (网卡配置文件)
xxxxxxxxxx
BOOTPROTO="dhcp" 启用dhcp协议动态获取ip地址
TYPE="Ethernet" 网线-以太网接口类型
NAME="ens33" 网卡名称
DEVICE="ens33" 设备名称
ONBOOT="yes" 开机自动启动网卡
动态ip转换成静态ip-
xxxxxxxxxx
BOOTPROTO="none"
TYPE="Ethernet"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=X.X.X.X
NETMASK=255.255.255.0
GATEWAY=x.x.x.2
systemctl restart network 重启网卡(网络服务)
192.168.72.x/24 网关地址和dns地址都是192.168.72.2 (虚拟机)
10.9.27.x/24 网关地址和dns都是 10.9.27.1 (企业)
静态ip地址-转换成动态- dhcp
xxxxxxxxxx
BOOTPROTO="dhcp"
TYPE="Ethernet"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
systemctl restart network
网络起不来,报错,一定是配置文件写的有问题,仔细检查
xxxxxxxxxx
vi /etc/sysconfig/network-scripts/ifcfg-ens33 (虚拟机网卡配置文件)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
(公司里网卡名称为eth0 和eth1)
怎么样登陆同学的机器?
xxxxxxxxxx
必须改成桥接10段的IP地址段才可以互相登陆
10和192段互相不通
192.168.x.x 只有自己能够登录通信 nat模式 192.168.x.2
10.9.22.x 所有人可以登录。 brige 桥接模式 10.9.29.1
公司里都是 .1结尾的网关
ethtool 命令
xxxxxxxxxx
ethtool ens33 查看网卡协商速率
speed : 1000mb/s ens33网口千兆
Link detected: yes 查看是否插网线 链路是否正常
配置内网bond0 (链路聚合)配置:
xxxxxxxxxx
bonding配置案例:
1. 接口配置文件
[root@install network-scripts]# cat ifcfg-bond0
DEVICE=bond0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=172.16.8.100
PREFIX=24
IPV6INIT=no
USERCTL=no
GATEWAY=172.16.8.254
[root@install network-scripts]# cat ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
MASTER=bond0
SLAVE=yes
[root@install network-scripts]# cat ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
MASTER=bond0
SLAVE=yes
2. bonding参数
[root@install ~]# tail -2 /etc/modprobe.d/bond0.conf
alias bond0 bonding
options bonding mode=0 miimon=100
3. 重启网络服务
[root@install ~]# service network restart
[root@install ~]# ip a
5配置网卡的子接口(1个网卡多个IP地址)
xxxxxxxxxx
永久配置子接口模式
子接口-->静态-->复制配置文件-->名字改为
网卡配置文件
cd /etc/sysconfig/network-scprits
vi ifcfg-ens33
将配置文件改成静态ip地址
cp ifcfg-ens33 ifcfg-ens33:0
vi ifcfg-ens33:0
修改name和device= ens33:0
IPADDR=x.x.x.x
192.168.32.33 192.168.32.34
cp ifcfg-ens33:0 ifcfg-ens33:1
修改name和device 和ipaddr 即可
systemctl restart network
使用 ethtool 命令后 网线的网卡协商速率是100mb/s 不是千兆
xxxxxxxxxx
解决方法:换网线
企业中网卡乱序问题-->以HP服务器居多
xxxxxxxxxx
解决方法: 进入服务器的bios 找到网卡配置文件的MAC地址,并且拍照,将网卡(eth0和eth1)的MAC地址分别写入到对应的配置文件中 ifcfg-eth0(1)
HWADDR=00:0c:29:8e:a5:d3 mac地址
网关地址: 10.9.34段的网关地址(企业) 10.9.34.1
虚拟机 192.168.32网段 192.168.32.2
企业中切记 注意!!!不要!!把ip地址配置成网关地址。
xxxxxxxxxx
[root@robin ~]# vim /etc/ssh/sshd_config
PasswordAuthentication no 65行
systemctl restart sshd
xxxxxxxxxx
ssh-keygen 生成秘钥对
ls /root/.ssh/ 公钥和私钥生成的目录
ssh-copy-id X.X.X.X (B机器IP地址)
yes
B机器的密码
在A机器的终端 ssh x.x.x.x 就会不用输入root密码
免密登陆B机器
注意:基于SSH的22端口传输数据包的,请不要随意修改端口
ssh 10.9.30.214 -p1000 使用其他端口
ssh zhangsan@10.9.30.214 -p1000 普通账号
xxxxxxxxxx
bond有七种模式
其中比较常用的有 动态链路聚合模式 mode4 还有几个不常用的例如主备轮训,平衡轮训等等
进行过网络优化么?
配置过bond,扩宽上联带宽/ 内核优化
bond有几种模式?你用哪种bond?
bond 有7种模式。我用的是mode4 动态链路聚合模式
比较长用的就是这种,其他不常用的例如主备轮训,平衡论衡等等没用过。
请简述非对称加密算法工作过程?
xxxxxxxxxx
1 乙方生成两把秘钥(公钥和私钥)
2 甲方获取乙方的公钥,然后对它进行信息加密
3 乙方得到加密信息后,用私钥解密。
4甲方获取乙方私钥加密数据,用公钥解密。
A服务端安装:vsftpd B客户端安装:lftp B登录A:lftp A的IP地址
xxxxxxxxxx
yum -y install vsftpd
yum -y install lftp
FTP的两种工作模
xxxxxxxxxx
主动模式 被动模式
分别有2个端口 20 21
FTP的共享默认目录:
xxxxxxxxxx
/var/ftp/ 注:ftp必须为755权限
从ftp服务端下载:
xxxxxxxxxx
get [文件名]---下载到进入ftp时候的目录
get [文件名] -o [路径]---下载到指定路径
mirror [目录名]---下载目录
从ftp服务端上传:
xxxxxxxxxx
cd [要上传到的路径]
put [文件名]
服务端-允许匿名用户下载/上传文件 (脚本): 打开/etc/vsftpd/vsftpd.conf,追加如下命令
xxxxxxxxxx
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
然后重启服务
禁止匿名用户登录ftp服务器
xxxxxxxxxx
修改/etc/vsftpd/vsftpd.conf配置文件将anonymous_enable=YES中的YES改成NO
重启服务
普通用户的默认路径是/home/xxx
xxxxxxxxxx
修改主机名为nas web
关闭防火墙和selinux
nfs
systemctl stop firewalld
setenforce 0
yum -y install nfs-utils
mkdir /webdata
echo "zhaohan test..." > /webdata/index.html
vim /etc/exports #编辑共享文件
/webdata 192.168.246.0/24(rw,no_root_squash,sync)
systemctl restart nfs
exportfs -v 显示本机共享
web
yum -y install httpd nfs-utils
systemctl restart nfs httpd
mount -t nfs 192.x.x.x:/webdata /var/www/html
xxxxxxxxxx
a nfs b web
共享目录:/haha/index.html 内容是 haha
b机器挂载a机器的目录到/var/www/html/ 要求:重启b机器后,网站依旧在!不受影响并且挂载时候给a机器nfs起名为nas
隐藏:永久挂载 httpd服务的开机自动启动 本地解析
全部:关防火墙和selinux
a
yum -y install nfs-utils
mkdir /haha
echo "haha" >/haha/index.html
vi /etc/exports
/haha/ xx.x.x.x()
systemctl restart nfs
b
yum -y install httpd nfs-utils
机器vi /etc/hosts
a ip nas
vi /etc/fstab
nas:/haha /var/www/html nfs defaults 0 0
mount -a
systemctl restart httpd
systemctl enable httpd
重启机器发现挂载和服务依旧在!
xxxxxxxxxx
修改主机名为nas web
关闭防火墙和selinux
nfs
systemctl stop firewalld
setenforce 0
yum -y install nfs-utils
mkdir /webdata
echo "zhaohan test..." > /webdata/index.html
vim /etc/exports #编辑共享文件
/webdata 192.168.246.0/24(rw,no_root_squash,sync)
systemctl restart nfs
exportfs -v 显示本机共享
web
yum -y install httpd nfs-utils
systemctl restart nfs httpd
mount -t nfs 192.x.x.x:/webdata /var/www/html
xxxxxxxxxx
当用户在浏览器输入一个网站,说说计算机的访问过程,注:本机跟本地的DNS没有缓存。(笔试)
1 用户输入网址到浏览器
2 浏览器发出dns请求
3 计算机首选查询本机hosts文件,不存在,继续下一步 (/etc/hosts)
4 计算机按照本地DNS的顺序,向区域DNS服务器查NS解析结果流询IP结果,如果区域DNS服务器查询不到,会从根域开始。
5 将返回dns结果给本地DNS和主机,本机和本地DNS并缓存本结果,直到TTL过期,才再次查询此结果;
6 返回IP结果给浏览器,并给本地DNS一份结果;
7 浏览器根据IP信息 获取页面。
面试回答--假设本地没有缓存,用户输入网址到浏览器后,发出dns请求--查看本机hosts--去互联网上逐级dns查找,有结果后返回给浏览器获取页面。
DNS--- 地址解析, 将 域名解析成IP地址的一个映射关系
dns地址
vi /etc/resolv.conf
nameserver x.x.x.x (dns服务器的地址)
xxxxxxxxxx
部署博客系统wordpress
sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config ####关闭selinx
setenforce 0
systemctl stop firewalld.service ###关闭防火墙
systemctl disable firewalld.service
yum -y install mariadb mariadb-server mariadb-libs php php-mysql php-gd php-fpm php-cli gd httpd
systemctl start httpd mariadb
mysqladmin -uroot password “123” 修改MYSQL密码
mysql -uroot -p123 进入mysql
create database tianyun; 创建tianyun数据库
vi vim /etc/httpd/conf.d/tianyun.conf
<VirtualHost *:80>
ServerName www.tianyun.com
ServerAlias tianyun.com
DocumentRoot /web/tianyun
</VirtualHost>
<Directory "/web/tianyun">
Require all granted
</Directory>
导入wordpress网站源码
wordpress-4.7.2-zh_CN.tar.gz
mkdir -p /web/tianyun
tar xf wordpress-4.7.2-zh_CN.tar.gz
cp -rf wordpress/* /web/tianyun/
chmod -R 777 /web/ 给777权限
vi /etc/hosts ##添加本地解析
192.168.31.167 www.tianyun.com
192.168.31.167 tianyun.com
使用浏览器 www.tianyun.com
数据库名 tianyun ##必须和数据库中库名字一样
用户名 root
密码 123
数据库 主机 mariadb ip
表前缀 wp_
点提交
进行安装
站点标题 tianyunhaha
用户名 tianyun
密码 123
确认使用弱密码
安装wordpress 2分钟左右
已安装过
您的WordPress看起来已经安装妥当。如果想重新安装,请删除数据库中的旧数据表。
登录
输入密码
成功了
[root@www /]# 问题:我的博客服务器访问不到了^C
[root@www /]# 小红回答:1先看防火墙和selinux^C
[root@www /]# 2看httpd status 3没起看配置文件和端口^C
[root@www /]# 重启httpd 在看一下中间jian ^C
[root@www /]# 数据库 O分^C
[root@www /]# ^C
0分
[root@www /]# 问题:我的博客服务器访问不到了^C
[root@www /]# 1ping服务器 2通->网络没问题^C
[root@www /]# 证明服务有问题,-->SSH 问题->连接后-httpd status^C
[root@www /]# ps -ef | lsof -i: ^C
[root@www /]# 端口也开着 看配置文件-> 目录-> 文件全不全-权限->^C
[root@www /]# 中间件及数据库--> nfs挂载会看挂载点^C
xxxxxxxxxx
打开/etc/httpd/conf/httpd.conf
将ServerTokens OS 改为 ServerTokens productonly
没有的话追加
xxxxxxxxxx
#!/bin/bash
#关闭防火墙,selinux
systemctl stop firewalld.service
setenforce 0
#安装yum基本环境
yum -y install mariadb mariadb-server mariadb-libs php php-mysql php-gd php-fpm php-cli gd httpd
#安装unzip
yum -y install unzip
#启动服务
systemctl restart httpd mariadb
#配置数据库的初始密码
mysqladmin -uroot password "123"
#创建数据库luntan
mysql -uroot -p123 -e "create database luntan;"
#配置httpd服务
cat > /etc/httpd/conf.d/luntan.conf << EOF
<VirtualHost *:80>
DocumentRoot /web/tianyun
</VirtualHost>
<Directory "/web/tianyun">
Require all granted
</Directory>
EOF
#代码上线
mkdir -p /web/tianyun
cd /tmp/
unzip Discuz_X3.4_SC_UTF8.zip
cp -rf readme/* /web/tianyun/
cp -rf upload/* /web/tianyun/
cp -rf utility/* /web/tianyun/
chmod -R 777 /web
#重启服务
systemctl restart httpd mariadb
echo "完成"
xxxxxxxxxx
curl -I x.x.x.x
200 正常 -正常
403资源没找到 (网站代码资源代码没找到,selinux开启, 环境安装不全,少包)
404 服务被拒绝 --检查安全组,服务端口是否启动
500 服务器内部错误
301& 302 重定向 -正常
curl -I x.x.x.x
xxxxxxxxxx
打开/etc/httpd/conf/httpd.conf
将ServerTokens OS 改为 ServerTokens productonly
没有的话追加
xxxxxxxxxx
a 用云搭建 注意防火墙和selinux
基于端口的虚拟主机。 ip是一个机器。端口是不一样的
##环境安装
yum -y install mariadb mariadb-server mariadb-libs php php-mysql php-gd php-fpm php-cli gd httpd
##配置数据库
mysqlamdin -uroot password "123"
mysql -uroot -p123 -e "create database boke;"
mysql -uroot -p123 -e "create database luntan;"
###开启端口配置文件
vi /etc/httpd/conf/httpd.conf
42行
Listen 1000
Listen 2000
Listen 3000
###虚拟主机的配置文件
vi /etc/httpd/conf.d/tianyun.conf
<VirtualHost *:80>
DocumentRoot /web/tianyun
</VirtualHost>
<Directory "/web/tianyun">
Require all granted
</Directory>
3份!注意修改端口和主目录
倒入网站源代码-.tar.gz .zip 注意解压命令,文件路径/给递归权限 -R
mkdir -p /web/{boke,luntan}
tar xf wordpress-4.7.2-zh_CN.tar.gz
unzip Discuz_X3.4_SC_UTF8.zip
cp -rf wordpress/* /web/boke/
cp -rf upload/* utility/* readme/* /web/luntan/
chmod 777 -R /web/
systemctl restart httpd
给权限
浏览器访问:http://82.157.122.206:2000
尽量使用goodle浏览器 无痕模式
你的云服务器必须要开放你所用的端口。
systemctl stop firewalld
getenforce 0
1000跑博客 wordpress
2000跑论坛 discuss
3000跑商城 shop
xxxxxxxxxx
跑博客 wordpress
跑论坛 discuss
跑商城 shop
b 用虚拟机 一定要先安装环境及常用软件。
虚拟机-安装国内源及epel源,直接安装常用软件,及lamp环境
rz unzip lsof mariadb mariadb-server mariadb-libs php php-mysql php-gd php-fpm php-cli gd httpd
3个子接口
基于ip的虚拟主机:ip是不一样的,但是端口都是80
vi /etc/httpd/conf.d/tianyun.conf
<VirtualHost 192.168.x.4:80>
DocumentRoot /web/xiaotang
</VirtualHost>
<Directory "/web/xiaotang">
Require all granted
</Directory>
<VirtualHost 192.168.x.3:80>
DocumentRoot /web/xiaoyao
</VirtualHost>
<Directory "/web/xiaoyao">
Require all granted
</Directory>
vi /etc/httpd/conf/httpd.conf
42行必须监听80
xxxxxxxxxx
#1 防火墙,selinux已经配置完毕
#2 安装lnmp的基本环境并且手动上传软件包
yum -y install php php-fpm php-mysql php-gd php-intl php-mcrypt php-mbstring php-xml php-dom nginx mariadb mariadb-server
#3 启动三大服务
systemctl restart mariadb php-fpm nginx
systemctl enable mariadb php-fpm nginx
#4 配置数据库
mysqladmin -uroot password "123"
mysql -uroot -p123 -e "create database farm;"
#5 配置nginx
cat > /etc/nginx/nginx.conf <<EOF
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /farm;
index index.php index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /farm;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
EOF
#6 配置php-fpm
sed -i '211c\short_open_tag = On' /etc/php.ini
#7 解压倒入代码及数据库
unzip farm-ucenter1.5.zip
mkdir /farm
cp -r upload/* /farm/
chmod 777 -R /farm/
mysql -u root -p123 farm < upload/qqfarm.sql
#8 启动三大服务
systemctl restart mariadb php-fpm nginx
xxxxxxxxxx
yum -y install php php-fpm php-mysql php-gd php-intl php-mcrypt php-mbstring php-xml php-dom nginx mariadb mariadb-server
#3启动三大服务
systemctl restart mariadb php-fpm nginx
systemctl enable mariadb php-fpm nginx
#5 配置nginx
cat > /etc/nginx/nginx.conf <<EOF
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /youxi;
index index.php index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /youxi;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
EOF
#6 配置php-fpm
sed -i '211c\short_open_tag = On' /etc/php.ini
#7 解压倒入代码及数据库
unzip 1.zip
mkdir /youxi
cp -r yhzh.xyz_20210924_101413/* /youxi
chmod 777 -R /youxi/
systemctl restart mariadb php-fpm nginx
xxxxxxxxxx
lamp
yum环境
上传wordpress 解压到/var/www/html
二年
mairadb+ lap
数据库中打
yum -y install mariadb mariadb-server
systemctl restart mariadb
mysqladmin -uroot password "123"
mysql -uroot -p123 -e "create database boke;"
GRANT ALL PRIVILEGES ON *.* TO 'root'@'x.x.x.x' IDENTIFIED BY '123' WITH GRANT OPTION;
FLUSH PRIVILEGES;
lap
安装环境,配置httpd服务 倒入源代码
/var/www/html
浏览器输入的地址: http://x.x.x.x(httpdip)
数据库名:boke
用户:root
密码:123
数据库地址: localhost(数据库的ip地址)
三年
架构升级 mariadb+ web + nfs 三台机器搭建一个wordpress(记得给权限777)
nfs
nfs-->共享目录/wordpress vi /etc/exportfs 给web机器去共享目录(给权限)
web
web--> 挂载使用。/var/www/html 单个网站默认的主目录
装环境 清理本机的 rm -rf /etc/httpd/conf.d/tianyun.conf 删除掉
虚拟主机配置文件的主目录,不能够共存。
mount -t nfs x.x.x.x:/wordress /var/www/html
df -h
systemctl restart httpd
mariadb-->建库
nfs--web
web--mariadb
web怎么连mariadb。页面输入你的数据库ip地址
要在数据库上打一条sql语句:对web机器进行授权。否则连接不上
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.192.136' IDENTIFIED BY '123' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果数据库报错:请重新创建一个数据库
mysql -uroot -p123进入数据库之后
drop database xxx; 删除数据库
show databases; 查看数据库
做完第二年的作业后,不允许恢复快照。 在第二年的基础上手动修改,完成第三年架构升级
第二年使用wordpress(博客代码)
第三年使用Discuss 论坛代码
xxxxxxxxxx
关闭防火墙,selinux并清空iptables
[root@bogon tmp]# systemctl stop firewalld
[root@bogon tmp]# systemctl disable firewalld
[root@bogon tmp]# setenforce 0
[root@bogon tmp]# iptables -F
-------------------------环境与服务安装---------------------------------
[root@bogon tmp]# yum -y install java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64 mariadb mariadb-server mysql-connector-java mariadb-client mariadb-devel nginx #安装环境
[root@bogon tmp]# java -version #查看是否安装成功
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-b08)
OpenJDK 64-Bit Server VM (build 25.282-b08, mixed mode)
-------------------------MYSQL数据库操作-------------------------------
[root@bogon tmp]# systemctl start mariadb #开启数据库
[root@bogon tmp]# systemctl enable mariadb #设置开机自启
[root@bogon ~]# mysqladmin -uroot password "123" #修改MYSQL密码
[root@bogon ~]# mysql -uroot -p123 #进入数据库
MariaDB [mysql]> CREATE DATABASE confluence CHARACTER SET utf8 COLLATE utf8_bin;
#创建数据库并设置字符集
MariaDB [(none)]> create database jira default character set utf8 collate utf8_bin;
# 创建`jira`数据库
MariaDB [mysql]> GRANT ALL PRIVILEGES ON confluence.* TO'conflue'@'%' IDENTIFIED BY'conflue12300.'; #创建用户并设置密码
MariaDB [mysql]> flush privileges; #刷新授权表
MariaDB [(none)]> exit #退出
---------------------------------安装--------------------------------
rz或者直接拖拽将wiki的安装包上传到服务器中
(atlassian-confluence-5.6.6-x64.bin、confluence5.6.6-crack)这两个
[root@bogon ~]# yum install -y unzip #安装zip包解压工具
[root@bogon tmp]# unzip confluence5.6.6-crack.zip #解压破解包
[root@bogon tmp]# yum install -y dejavu-sans-fonts #安装依赖环境
[root@bogon tmp]# chmod +x atlassian-confluence-5.6.6-x64.bin #提执行权限
[root@bogon tmp]# ./atlassian-confluence-5.6.6-x64.bin #执行安装
Unpacking JRE ...
Starting Installer ...
Nov 17, 2019 6:01:18 PM java.util.prefs.FileSystemPreferences$1 run
...
执行之后根据提示输入相应的字母或者数字
This will install Confluence 5.6.6 on your computer.
OK [o, Enter], Cancel [c]
#o 回车
Choose the appropriate installation or upgrade option.
Please choose one of the following:
Express Install (uses default settings) [1], Custom Install (recommended for advanced users) [2, Enter], Upgrade an existing Confluence installation [3]
#1 回车
See where Confluence will be installed and the settings that will be used.
Installation Directory: /opt/atlassian/confluence
Home Directory: /var/atlassian/application-data/confluence
HTTP Port: 8090
RMI Port: 8000
Install as service: Yes
Install [i, Enter], Exit [e]
#i 回车
Please wait a few moments while Confluence starts up.
Launching Confluence ...
Installation of Confluence 5.6.6 is complete
Your installation of Confluence 5.6.6 is now ready and can be accessed via
your browser.
Confluence 5.6.6 can be accessed at http://localhost:8090
Finishing installation ...
#我们可以很明显的看出confluence安装到了/opt/atlassian/confluence和/var/atlassian/application-data/confluence目录下,并且confluence监听的端口是8090
#然后我们进行浏览器访问 切记自己的IP后面要加上:8090 例如10.9.32.9:8090
#进入浏览器后右边start setup
#他会出现Confluence Setup Wizard的页面 请保存Server ID XXXX-XXXX-XXXX-XXXX
回到服务器操作
#先停止confluence
[root@bogon tmp]# service confluence stop #停止confluence命令
#要看回显 他是否停止 Tomcat stopped.
[root@bogon tmp]# rm -rf /opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-* #删除confluence安装生成的jar包
[root@bogon tmp]# cd confluence5.6.6-crack/jar/ #进入破解包目录
[root@bogon jar]# cp ./* /opt/atlassian/confluence/confluence/WEB-INF/lib/
#复制破解jar文件
[root@bogon jar]# cd /opt/atlassian/confluence/confluence/WEB-INF/lib/
#查看一下文件是否拷贝过去
[root@bogon lib]# ls | grep -E "atlassian-extras|Confluence-5.6.6-language-pack|mysql-connector-java"
atlassian-extras-3.2.jar
Confluence-5.6.6-language-pack-zh_CN.jar
mysql-connector-java-5.1.39-bin.jar #回显是这三个就没问题
这时候在windows上运行jar包,linux上运行会报错(我这里安装了java的模拟器,可以直接在win上执行jar程序)
怎么下载java虚拟机什么的就不写了 如果需要破解直接找我发ID就行
[root@bogon tmp]# service confluence start #启动
Tomcat started. #回显显示启动就可以
这时再回到浏览器
在License Key中填写我们的密码 #别问我怎么得到 找我
开始配置链接mysql数据库 选择MySQL 点击External Database
点击 Direct JDBC 进去页面后设置User Name和password
点击 Next 这时是在初始化数据,所以时间比较长,耐心等待吧
进去Load Content页面后 点击Example Site
再点Manage users and groups within Confluence
然后我们就进入到了普通的创建用户页面 大家应该都知道了 设置完直接下一步刷新登录即可 wiki搭建完成
----------------------------------安装Jira-----------------------------------
rz或者直接拖拽将jira的安装包上传到服务器中的/tmp
(atlassian-jira-software-7.3.8-x64_2.bin、jira7.3)这两个包
[root@bogon tmp]# chmod +x atlassian-jira-software-7.3.8-x64_2.bin #提权
[root@bogon tmp]# ./atlassian-jira-software-7.3.8-x64_2.bin #安装
This will install JIRA Software 7.3.8 on your computer.
OK [o, Enter], Cancel [c]
#o 回车 这里是在通知你,将要在你的电脑上安装JIRA 7.3.8,输入o 或 按回车键,允许程序安装
Choose the appropriate installation or upgrade option.
Please choose one of the following:
Express Install (use default settings) [1], Custom Install (recommended for advanced users) [2, Enter], Upgrade an existing JIRA installation [3]
#1 回车
#系统提示你“选择适当的安装或升级选项”
#这里三个选项的含义分别是快速安装(默认设置)、自定义安装(适合高级用户)以及升级现有的JIRA
#我们这里选择1,使用默认设置快速安装就好
Details on where JIRA Software will be installed and the settings that will be used.
Installation Directory: /opt/atlassian/jira
Home Directory: /var/atlassian/application-data/jira
HTTP Port: 8080
RMI Port: 8005
Install as service: Yes
Install [i, Enter], Exit [e]
#i 回车 这里是在提示你,默认设置是什么样的如果你同意默认设置,那么输入i或按回车,等待安装完成
在一小段时间的等待后,它还会蹦出一个问题
Installation of JIRA Software 7.3.8 is complete
Start JIRA Software 7.3.8 now?
Yes [y, Enter], No [n]
#n 回车
#其实到这一步,安装已经完成了。系统在问你,是不是现在就启动JIRA?我们接下来还要进行pojie,需要替换JIRA的文件,所以我们选择不启动,输入n
出现如下信息,代表安装成功
Installation of JIRA Software 7.3.8 is complete
Your installation of JIRA Software 7.3.8 is now ready.
Finishing installation ...
[root@bogon tmp]# unzip jira7.3.zip #解压破解包
[root@bogon jira7.3]# \cp -f /tmp/jira7.3/* /opt/atlassian/jira/atlassian-jira/WEB-INF/lib/ #复制破解文件
[root@bogon jira7.3]# /opt/atlassian/jira/bin/start-jira.sh #启动jira服务
Tomcat started. #启动成功
打开浏览器 访问8080端口 http://10.9.32.9:8080/ #IP是自己的
点击我将设置它自己 然后下一步 进到数据库设置
选择使用自己的数据库后,会展开如下表单。因为我没有使用分离部署,所以Hostname字段使用的就是127.0.0.1,如果你是采用分离部署的方式安装,请输入你自己的数据库地址。
点击其他数据库 数据库类型设置MySQL 主机:127.0.0.1 端口3306 数据库jira 用户名root 密码123
点一下测试连接 上方会有测试是否成功 我这边是成功的 下一步 如果不成功就进服务器看数据库
进到(设置应用程序的属性)页面直接下一步
然后到了 (请指定您的许可证关键字) 我们点击生成JIRA试用许可证 注册 然后登录
然后你们可以看到是让我试用 点击下面的 Generate License 等待一会他会自动弹出页面给你输入许可证
这时我们下一步 不要刷新页面 需要等一小会
最后我们进入到设置管理员账户 (自己设置吧) 设置电子邮件通知 (以后再说)
进入到Welcome to JIRA, admin! 设置语言(默认中文) 设置头像 完成
xxxxxxxxxx
enable
conf t
vlan 100
interface FastEthernet0/1
switchport mode access
switchport access vlan 100
no shutdown
vlan 200
interface FastEthernet0/2
switchport mode access
switchport access vlan 200
no shutdown
vlan 300
interface FastEthernet0/3
switchport mode access
switchport access vlan 300
no shutdown
vlan 400
interface FastEthernet0/4
switchport mode access
switchport access vlan 400
no shutdown
vlan 500
interface FastEthernet0/5
switchport mode access
switchport access vlan 500
no shutdown
vlan 600
interface FastEthernet0/6
switchport mode access
switchport access vlan 600
no shutdown
vlan 700
interface FastEthernet0/7
switchport mode access
switchport access vlan 700
no shutdown
vlan 800
interface FastEthernet0/8
switchport mode access
switchport access vlan 800
no shutdown
vlan 900
interface FastEthernet0/9
switchport mode access
switchport access vlan 900
no shutdown
vlan 101
interface FastEthernet0/10
switchport mode access
switchport access vlan 101
no shutdown
vlan 110
interface FastEthernet0/11
switchport mode access
switchport access vlan 110
no shutdown
vlan 122
interface FastEthernet0/12
switchport mode access
switchport access vlan 122
no shutdown
vlan 130
interface FastEthernet0/13
switchport mode access
switchport access vlan 130
no shutdown
vlan 140
interface FastEthernet0/14
switchport mode access
switchport access vlan 140
no shutdown
vlan 150
interface FastEthernet0/15
switchport mode access
switchport access vlan 150
no shutdown
vlan 160
interface FastEthernet0/16
switchport mode access
switchport access vlan 160
no shutdown
vlan 170
interface FastEthernet0/17
switchport mode access
switchport access vlan 170
no shutdown
vlan 180
interface FastEthernet0/18
switchport mode access
switchport access vlan 180
no shutdown
vlan 190
interface FastEthernet0/19
switchport mode access
switchport access vlan 190
no shutdown
vlan 120
interface FastEthernet0/20
switchport mode access
switchport access vlan 120
no shutdown
vlan 210
interface FastEthernet0/21
switchport mode access
switchport access vlan 210
no shutdown
vlan 220
interface FastEthernet0/22
switchport mode access
switchport access vlan 220
no shutdown
vlan 230
interface FastEthernet0/23
switchport mode access
switchport access vlan 230
no shutdown
vlan 240
interface FastEthernet0/24
switchport mode access
switchport access vlan 240
no shutdown
end
write
xxxxxxxxxx
晗哥 7 讲
=======================ge=============================
001. 能不能说一说 TCP 和 UDP 的区别?
概述g
TCP是一个面向连接的、可靠的传输层协议。
而UDP是一个面向无连接的传输层协议。不可靠,但是udp的速度快。
为什么tcp可靠而udp不可靠
tcp有三次握手和重传机制
=======================================================
细说
客户端和服务器的连接,在双方互相通信之前,TCP 需要三次握手建立连接,而 UDP 没有相应建立连接的过程。
可靠性。TCP 花了非常多的功夫保证连接的可靠
相应的,UDP 就是无状态, 不可控的。面向字节流。
4个点:
tcp和udp区别
tcp有哪两个机制- 可靠性确认 和重传机制
为什么udp比tcp快
视频用的哪个协议 udp
====================================================
002: 说说 TCP 三次握手的过程?为么是三次而不是两次、四次?
根本原因: 无法确认客户端的接收能力。
分析如下:
如果是两次,你现在发了 SYN 报文想握手,但是这个包滞留在了当前的网络中迟迟没有到达,TCP 以为这是丢了包,于是重传,两次握手建立好了连接。
看似没有问题,但是连接关闭后,如果这个滞留在网路中的包到达了服务端呢?
这时候由于是两次握手,服务端只要接收到然后发送相应的数据包,就默认建立连接,但是现在客户端已经断开了。
这就带来了连接资源的浪费和服务器负载的消耗
======================================================
为什么不是四次?
三次握手的目的是确认双方发送和接收的能力,那四次握手可以嘛?
但为了解决问题,三次就足够了,再多用处就不大了。
==========================================
为什么是四次挥手而不是三次?(了解)
因为服务端在接收到FIN, 往往不会立即返回FIN, 必须等到服务端所有的报文都发送完毕了,才能发FIN。因此先发一个ACK表示已经收到客户端的FIN,延迟一段时间才发FIN。这就造成了四次挥手。
如果是三次挥手会有什么问题?
等于说服务端将ACK和FIN的发送合并为一次挥手,这个时候长时间的延迟可能会导致客户端误以为FIN没有到达服务端,从而让客户端不断的重发FIN。 不断的进行数据包重发
======================================================
3
三次握手中的前两次携带数据么?
第三次握手的时候,可以携带。前两次握手不能携带数据。
如果前两次握手能够携带数据,那么一旦有人想攻击服务器,那么他只需要在第一次握手中的 SYN 报文中放大量数据,那么服务器势必会消耗更多的时间和内存空间去处理这些数据,增大了服务器被攻击的风险。
第三次握手的时候,客户端已经处于ESTABLISHED状态,并且已经能够确认服务器的接收、发送能力正常,这个时候相对安全了,可以携带数据。
======================================================
4 SYN Flood 攻击原理 (DoS/DDoS) cc攻击
SYN Flood 属于典型的 DoS/DDoS 攻击。其攻击的原理很简单,就是用客户端在短时间内伪造大量不存在的 IP 地址,并向服务端疯狂发送SYN。对于服务端而言,会产生两个危险的后果:
处理大量的SYN包并返回对应ACK, 势必有大量连接处于SYN_RCVD状态,从而占满整个半连接队列,无法处理正常的请求。
由于是不存在的 IP,客户端长时间收不到服务端的ACK,会导致服务端不断重发数据,直到耗尽服务端的资源。
判断cpu负载升高是什么原因导致的?
正常 非正常(1 中毒 2 被流量攻击)
查看本机的tcp连接可用ss -tnlp netstat -tnlp top
如果大量els~ 意味正常的连接导致负载高,需要升级配置。
非正常
ss -tnlp netstat -tnlp top
tcp连接正常 els~ 进程占用资源100%。中毒。计划任务/rc.local
ss -tnlp netstat -tnlp top(没有病毒进程)
如果出现大量的syn_RCVD状态,小心遭遇了流量攻击(采取手段,购买流量清洗软件,编写防火墙规则,禁止这个代理ip访问你)
机器有大量的est~tabd cpu 95% 升级配置
机器有大量的syn_rcvd cpu 95% 遭受攻击-流量清洗-防火墙禁止代理访问你
机器没有任何的大量tcp链接 cpu 95% 排除流量攻击/ 检查计划任务/rc.local
======================================
5
简述TCP 三次握手和四次挥手
===========================================
6
服务器的time wait过多怎么办? 什么是time wait,对业务有什么影响
每一个time_wait状态都会占用一个本地端口,端口有上限 65535
当大量连接处于time_wait时候,新建立的tcp连接就会出错
大量的time_wait状态tcp连接存在,本质原因是什么?为什么要设置2msl
1 大量短连接存在
2tcp四次挥手关闭连接机制中,为了保证ack重发和丢弃延迟数据,设置time_wait为2倍MSL(最大报文存活时间)
保持2个msl时间。4分钟。 一个msl为2分钟
=================================================
7
osi 国际化标准模型 七层模型
物理层 数据链路层 网络层 传输层 会话层 表示层 应用层
========================
OSI中的层 功能 TCP/IP协议族
重点 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet
表示层 数据格式化,代码转换,数据加密 没有协议
会话层 解除或建立与别的接点的联系 没有协议
重点 传输层 提供端对端的接口 TCP,UDP
重点 网络层 为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP
数据链路层 传输有地址的帧以及错误检测功能
物理层 以二进制数据形式在物理媒体上传输数据
tcp/ip四层参考模型
数据链路层 网络层 传输层 应用层 2347
xxxxxxxxxx
listen:侦听来自远方的TCP端口连接请求
SYN-SENT:再发送连接请求后等待匹配的连接请求
SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认
LISHED:代表一个打开的连接
FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认
FIN-WAIT-2: 从远程TCP等待连接中断请求
CLOSE-WAIT: 等待从本地用户发来的连接中断请求
LAST-ACK: 等待原来的发向远程TCP的连接中断请求的确认
TIME-WAIT:等待足够的时间以确保TCP接收到连接中断请求的确认
CLOSED: 没有任何连接状态
ESTAB~-建立连接
SYN表示建立连接,
FIN表示关闭连接,
ACK表示响应,
四次挥手 客户端主动关闭 状态从estab-lished到FIN-WAIT-1到FIN -WAIT-2到TIME-WAIT到CLOSED
服务端的变化从ESTAB-LISHED到CLOSE-WAIT到LAST-ACK到CLOSED
xxxxxxxxxx
在TCP/IP协议中,TCP协议提供可靠的连接业务,并且是有11种状态 第一次握手:建立连接时,客户端发送syn包到服务器,并进入syn_sent状态,等待服务器确认;
第二次握手:服务器收到SYN包,必须确认客户的SYN,同时也发送一个syn+ack包,此时服务器进入syn_rcvd状态;
第三次握手;客户端收到服务器的SYN+AC
K 包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入established状态,完成三次握手,客户端与服务器开始传送数据
xxxxxxxxxx
TCP/IP是一个协议族,是因为TCP/IP协议包括TCP,IP,UDP,ICMP,RIP,SMTP,ARP,等许多协议,这些协议一起称为tcp/ip 协议
TCP transport control protocol
传输控制协议
ip internet working protocol
网间网协议
udp user datagram protocol
用户数据协议
icmp internet control message protocol
互联网控制信息协议
smtp simple mail transfer protocol
简单邮件传输协议
snmp
simple networkmanager protocol
简单网络管理协议
ftp file transfer protocol
文件传输协议
arp
地址解析协议 MAC
0F:23:SF:SD
将ip地址解析成mac地址
xxxxxxxxxx
ip地址变更现场错误导致的血案
-------------------------
200
1 vlan 100 2 vlan 100
-------------------------
1口---A 现场犯错误- 1口---B
2口---B 2口---A
---------------
10.10.10.3 A vlan 100
---------------
10.10.10.4 B vlan 100
---------------
变更A机器的ip地址变为192.168.32.3 200
xxxxxxxxxx
在企业中不允许对up的端口进行变更,防止出现故障。 ----做法:变更-机房现场拔服务器端端网线, 然后对down的端口进行变更。 变更完成后,插回去
xxxxxxxxxx
show vlan brief 查看vlan仓库,端口对应的vlan
show ip interface brief 查看接口状态
xxxxxxxxxx
每一个IP地址段都有一个对应的VLAN id
10.0.0.0/24
也是唯一的,并且交换机的端口,要和服务器的IP地址段的VLAN ID 划分一样, 机器才能通信。
每一个交换机端口 都有自己的VLAN ID 是单独去划分的。
------------------------------------------------------------------------
vlan id 作用就是防治广播风暴,进行资源隔离。
同一个局域网内能够互相通信~ vlan id 一样
32 位数字随机密码生成。
xxxxxxxxxx
< /dev/urandom tr -dc a-z|head -c ${1:-32} ; echo
生成10个大写字母
xxxxxxxxxx
< /dev/urandom tr -dc A-Z|head -c ${1:-10};echo
生成10个数字
xxxxxxxxxx
< /dev/urandom tr -dc 0-9|head -c ${1:-10};echo
生成10个数字和大写字母的组合字符串
xxxxxxxxxx
< /dev/urandom tr -dc 0-9-A-Z|head -c ${1:-10};echo
xxxxxxxxxx
我老板 你 项目负责人
我要求:搭建小霸王游戏网站。 并且使用物理机。我给你钱-随便造
你
1 买服务器(交换机,耗材) 租idc机房,做托管,综合布线
2 服务器来了-机房工程师,上架,插线,做raid,装系统 网工-交换机划分vlan
3 运维-远程登陆-配置基本(源,基本系统)-找开发要代码)-经过测试环境-上线
4 申请域名-域名绑定-上线
项目主工单-搭建小霸王游戏网站
子工单-资源分配组
子工单-机房值守
子工单-网络工程师
子工单-运维
excel 表格管理机器 (7-10 台 防止超电服务器2U服务器(8块)居多--1U的服务器(4快磁盘))
HP16082617 亦庄.2-216.04-10 N/A N/A N/A N/A N/A 10.75.2.31 24 10.75.2.1 YH11080087-1 408 /308
联通
物理服务器名称:盘点号:命名规范:HP:设备品牌-数字>购买的日期
永丰机房 2-216机房名字-4列第10个柜子 物理位置
N/A 代表占位符的意思,意味着没有公网,单内结构
公网IP地址
公网IP地址的掩码位
公网IP地址的网关地址
连接哪个外网交换机
连接这个交换机的第几个口、
内网IP地址 内网掩码 内网网关 连接内网交换机的第几个口 301
数字3代表千兆(服务器插网线) 01 第一个口
401 万兆
HP16082617 亦庄.2-216.04-10 N/A N/A N/A N/A N/A 10.75.2.31 24 N/A YH11080087-1 308
HP16082617 亦庄.2-216.04-10 N/A N/A N/A N/A N/A 10.75.2.31 24 N/A YH11080087-1 309
机房值守 2根线
网络工程师 查找YH11080087-1 ip地址 基本配置 89口绑定,配置vlan
系统运维 ssh 10.75.2.31 发现没账号登陆失败- 现场添加一个,提权,让你能登陆成功。 部署业务
一般在按照系统时候,会执行脚本账号添加及提权
xxxxxxxxxx
二层的交换机, 属于数据链层设备,可以根据mac地址进行转发
三层的交换机,属于具有路由功能的设备。并且可以跑协议。
xxxxxxxxxx
24占满了
1 将本服务器迁移到有口的位置
2 将上联交换机连接的设备迁走一个,空余出一个口,给本设备绑定端口。
3 具体步骤:需要提交服务器及业务迁移工单
1 业务迁移工单(单业务)
2 建立服务器迁移工单
3 服务器bond配置工单
a-迁移业务,(找一台业务量小,好配置的业务机器)去迁走。
a1 服务器直接老化下架。
b-在确认迁移业务完成后,迁移物理服务器->(服务器IP地址同机房迁移可以不变。),一旦换了核心者物理位置,IP地址必须变
c 当口空出来以后可以进行网络交换机端口绑定及系统bond配置。
d 验证->是否能登陆->speed 2000-->交换机端口是否有 down状态
f 更新2个CMDB信息/表格设备信息 1:迁走的设备 2 做bond的设备。
g 将迁走的机器上架,开启。
xxxxxxxxxx
en
conf t
vlan 100
interface port-channel1
switchport mode access
switchport access vlan 100
interface FastEthernet0/1
switchport mode access
switchport access vlan 100
channel-group 1 mode on
interface FastEthernet0/2
switchport mode access
switchport access vlan 100
channel-group 1 mode on
vlan 200
interface port-channel2
switchport mode access
switchport access vlan 200
interface FastEthernet0/3
switchport mode access
switchport access vlan 200
channel-group 2 mode on
interface FastEthernet0/4
switchport mode access
switchport access vlan 200
channel-group 2 mode on
vlan 300
interface port-channel2
switchport mode access
switchport access vlan 300
interface FastEthernet0/5
switchport mode access
switchport access vlan 300
channel-group 3 mode on
interface FastEthernet0/6
switchport mode access
switchport access vlan 300
channel-group 3 mode on
vlan 400
interface port-channel2
switchport mode access
switchport access vlan 400
interface FastEthernet0/7
switchport mode access
switchport access vlan 400
channel-group 4 mode on
interface FastEthernet0/8
switchport mode access
switchport access vlan 400
channel-group 4 mode on
vlan 500
interface FastEthernet0/9
switchport mode access
switchport access vlan 500
vlan 500
interface FastEthernet0/10
switchport mode access
switchport access vlan 500
end
write
查看接口状态
xxxxxxxxxx
display interface brief
查看vlan数据库信息
xxxxxxxxxx
display vlan 或者>display vlan all
查看聚合端口状态
xxxxxxxxxx
display link-aggregation verbose Bridge-Aggregation
模板
xxxxxxxxxx
system-view
vlan 335
interface Bridge-Aggregation1
port access vlan 335
exit
interface GigabitEthernet1/0/17
port link-mode bridge
port access vlan 335
port link-aggregation group 1
interface GigabitEthernet1/0/18
port link-mode bridge
port access vlan 335
port link-aggregation group 1
vlan 350
interface Bridge-Aggregation2
port access vlan 350
interface GigabitEthernet1/0/19
port link-mode bridge
port access vlan 350
port link-aggregation group 2
interface GigabitEthernet1/0/20
port link-mode bridge
port access vlan 350
port link-aggregation group 2
qu
save
xxxxxxxxxx
route add -net 192.168.8.0/24 gw 10.0.0.1
目标ip:192.168.8.0/24
本机ip:10.0.0.1
xxxxxxxxxx
vi /etc/rc.local
route add -net 10.0.0.0/8 gw 172.16.77.1
route add -net 172.168.0.0/16 gw 172.16.77.1
route add -net 192.168.0.0/24 gw 172.16.77.1
本机ip:172.16.77.2
xxxxxxxxxx
| cut -d, -f4- #-d指定分隔符,-f指定显示区域,3-第三列以后(包括第三列)
使用ntpdate -s
xxxxxxxxxx
yum -y install ntp(如果没有命令安装 )
systemctl restart ntpd
ntpdate -s pool.ntp.org
xxxxxxxxxx
1 请升级当前操作系统内核,并使用新内核启动
升级内核两种方式。
1 更新软件版本先更新yum仓库
Yum update 更新所有软件包
yum update -y kernel 只更新内核
2 内核文件在/boot 下
在网上去找新内核的软件包然后安装
升级特定跨越版本笔记https://cloud.tencent.com/developer/article/1561805?from=15425
应用:企业里升级完内核后,切记不要删除旧内核,防止新内核启动失败。 可以用老内核启动机器。
2 在企业中 SSH登陆服务器非常慢,是因为什么?提示:想想dns
服务器登录非常缓慢是由于/etc/resolv.conf 里面的dns服务器地址写错
Nameser x.x.x.x 修改成本地的dns地址
3.过JIRA和WIKI么? 干什么用的? 是否开源?
.wiki 企业里协作系统,常用于存储公司的规章制度,使用手册,使用文档交流协作等使用
Jira 企业里工单系统,用于日常项目周期和工作管理。
收费软件,但是可以破解使用
4 请将你虚拟机网卡添加子接口 要求1个网卡2个IP 192.168.X.X和192.168.X.X+1
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33:1
vim /etc/sysconfig/network-scripts/ifcfg-ens33:1
修改ens33为ens33:1 保存退出
systemctl restart network
5 top命令可以看平均负载的有3个数字,这3个数字分别代表多少时间?这3个数字除了可以用top命令查看,还可以再哪里看到?
三个数分别第一个表示1分钟,5分钟,15分钟的系统平均负载。
w uptime top
6 DNS原理?Dns用的是什么协议,TCP还是UDP? 什么时候用TCP 什么时候用UDP? DNS用多少端口??
TCP是一种面向连接的协议, UDP---用户数据报协议
DNS在进行区域传输的时候使用TCP协议,其它时候则使用UDP协议;
DNS同时占用UDP和TCP端口53
了解:
DNS原理:
DNS的规范规定了2种类型的DNS服务器,一个叫主DNS服务器,一个叫辅助DNS服务器。在一个区中主DNS服务器从自己本机的数据文件中读取该区的DNS数 据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息。当一个辅助DNS服务器启动时,它需要与主DNS服务器通信,并加载数据信 息,这就叫做区传送(zone transfer)。
区域传送时使用TCP,主要有一下两点考虑:
1.辅域名服务器会定时(一般时3小时)向主域名服务器进行查询以便了解数据是否有变动。如有变动,则会执行一次区域传送,进行数据同步。区域传送将使 用TCP而不是UDP,因为数据同步传送的数据量比一个请求和应答的数据量要多得多。
2.TCP是一种可靠的连接,保证了数据的准确性。
域名解析时使用UDP协议:
客户端向DNS服务器查询域名,一般返回的内容都不超过512字节,用UDP传输即可。不用经过TCP三次握手,这样DNS服务器负载更低,响应更快。虽然从理 论上说,客户端也可以指定向DNS服务器查询的时候使用TCP,但事实上,很多DNS服务器进行配置的时候,仅支持UDP查询包。
7 DNS 有什么记录都?
标准的 DNS 数据库结构包括用来处理 DNS 查询的信息。例如,地址类型资源记录包含相应主机的 IP 地址。在 RFC 1035 中定义了大多数基本的资源记录类型, 但是在其他的 RFC 中已经定义了附加的 RR 类型,并且可以同 DNS 一起使用。
资源记录(Resource Records),简称RRs。它是指每个域所包含的与之相关的资源。例如,每个RR都包括这个域的所属(RR是从哪个域名中得到的),类型 (什么样的资源存在于这个RR中),TTL(time to live,存活时间)等等。
DNS 包括七大资源记录
A记录
CNAME记录
AAAA记录
NS记录
SOA记录
MX记录
PTR记录
SRV记录
http://ask.zol.com.cn/x/7240320.html
8 软连接和硬链接区别?
符号链接:,原文件损坏链接文件不可用。
硬链接,,相当于原文件换了个名,原文件损坏链接文件可用,不能分区创建。
Ln -s 原- 链接文件
Ln 原 链接
9 ftp分哪两种工作模式,客户端使用什么命令下载 上传 下载到指定目录?
ftp分为主动模式和被动模式,客户端(lftp)get 文件名字 -o 路径 下载到指定路径,put 上传文件 下载到指定目录: mirror 目录名字 下载目录
10 从你在浏览器中输入一个网址,到你完全获取这个网页,dns解析在这过程经过
那些步骤,假设本机没有缓存
看笔记
11用户反映访问网站慢 你怎么办?
(1)出口带宽的问题,这个很简单,加带宽,有钱就多买带宽,很简单。
(小)
(2)进行内核优化或者配置bond
(3)查看是否遭受了流量攻击,是否系统负载过高,是否中毒了
(4)数据库设计不合理,代码设计不合理。
(5)mysql语句优化。
(6)数据库太庞大,为了读写速度,进行==“拆表”、“拆库”,就是把数据表或者数据库进行拆分==。
12 查看/var/log/messages 文件 这个文件是干嘛的
Tailf /var/log/mess~ 动态显示日志
Cat /xx 查看
系统的主日志
13 统计出登陆成功的IP 和登陆失败的IP的行数
grep -i "accepted" /var/log/secure | wc -l
Grep -i “failed’ /var/log/secure | wc -l
14 查找系统内所有.gz结尾的文件并备份到/tmp/backup目录下 /
find / -name '*.gz' -exec cp -rvf {} /tmp/backup/ \;
15查找所有.txt结尾的文件 并且删除
Find / -name “*.txt”-a -type f -exec rm -rf {} \;
16 查找系统内所有镜像文件的位置,并把他 们的位置记录在/iso.txt文件内
find / -name '*.iso' >> /iso.txt
17 把etc目录打包压缩备份到/tmp目录下,备份文件的名称内包含备份日期
tar -czf /tmp/`date +%F_etc`.tar.gz /etc/
18 设置防火墙和selinux永久关闭
systemctl disable firewalld reboot生效
vi /etc/selinux/config enforcing disabled reboot生效
或者
systemctl disable firewalld
systemctl stop firewalld
/etc/selinux/config enforcing disabled reboot
Setenforce 0
19 七层模型都是什么
物理层 处于OSI参考模型的最底层,物理层主要功能是利用物理传输介质为数据链路层提供物理连接。
数据链路层 在此层将数据分帧,并处理流控制,屏蔽物理层,为网络层提供一个物理链路的连接,在一条有可能出差错的物理连接上,进行无差错的数据传输,本层指定拓扑结构并提供硬件寻址
网络层 本层通过寻址来建立两个节点之间的连接,为源端的运输层送来的分组,选择合适的路由和交换节点,正确无误地按照地址传送给目的端的传输层,它包括通过互联网络来路由和中继数据。
传输层 常规数据递送面向连接或无连接,为会话层用户提供一个端到端的可靠,透明和优化的数据传输服务机制
会话层 在两个节点之间建立端连接,为端系统的应用程序之间提供对话控制机制
表示层 用于处理两个通信系统中交换信息的表示方式,为上层用户解决用户信息的语法问题,包括数据格式交换,数据加密与解密,数据压缩与恢复功能。
应用层 OSI中最高层 为特定类型的网络应用提供访问OSI环境的手段,提供应用进行所需要的信息交换和远程操作。
20 二层交换机中配置了多个VLAN。上行接口需要配置成()模式 能让所有VLAN与上层设备互通
trunk模式
21 实现两台机器的免密登陆
ssh-keygen
ssh-copy-id -i IP 地址
22 简述(可画图)TCP三次握手 四次断开
23 设置FTP服务器的开机自启 实现用户可以随时下载与上传
Systectl restart vsftpd
systemctl enable vsftpd
vi /etc/vsftpd/vsftpd.conf
禁止匿名用户访问服务器:
anonymous_enable=NO
允许匿名用户上传文件
anon_upload_enable=YES
anon_mkdir_write_enable=YES
24 Linux内核引导时,从文件 (/etc/fstab) 中读取要加载的文件系统
25 现在给你五百台服务器,你怎么对他们进行管理? 注意是管理,不是搭建服务及架构。
大公司
Excel 使用表格系统记录系统资源,例如 机器名称,机器平台(物理位置)
公网ip 公网掩码 公网网关 公网交换机名称 交换机端口/
内网ip 公网掩码 公网网关 内网交换机名称 交换机端口/
Cmdb 系统是企业内部管理的资源平台
Zabbix 可以监控服务器
ansible saltstack 批量管理服务器
26 多核CPU和单核CPU的优点和缺点,是否所有程序在多核CPU上运行速度都快?为什么?
答:多核cpu 能处理更多的任务更大的缓存 缺点:功耗较大 需要大内存跟进 价格高
单核cpu 不如多核处理能力强 在启动多个应用的时候可能会卡顿或者反应速度慢而导致用户体验变差
不一定所有程序在多核cpu 上运行速度都快 因为有的程序只需要单核运行 如果多核运行也只是一个核心在运行
27 将/home/tong/test 目录下大于100K的文件转移到/tmp目录 注意是文件。
find /home/tong/test/ -size +100k -a -type f -exec mv {} /tmp \;
28 进程和线程的区别
笔记里
29 假如您需要找出 /etc/my.conf 文件属于哪个包 (package) ,您可以执行:
rpm -qf /etc/my.conf
30 为什么要有swap分区,原理?
为了防止内存溢出(OOM),swap机制其实就是将外存(如硬盘)当内存使用, 怎么可以把外存当内存使用呢? 原理就是当系统内存不够用的时候, 内核会选择某些进程, 把其使用较少的内存的内容交换(swap)到外存中,然后把内存让给需要的进程使用.
31 如何看当前Linux系统有几颗物理CPU和每颗CPU的核数?
cat /proc/cpuinfo
lscpu
总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
32 给您一台最小化安装的linux机器,如何进行基础优化?
1.修改yum源,
2.防火墙只开放对外服务及端口
3.精简开机自启动服务
4.执行初始化脚本,ntp时间对时,开机挂载磁盘等等
5.禁止root远程登录
6.添加用户,提权
7.修改/etc/passwd属性
8.配置修改SSHD端口组
9.定时清理垃圾文件防止inode节点占满
10.系统级内核优化
#####33 使用命令 ,32 位数字随机密码生成。
< /dev/urandom tr -dc a-z|head -c ${1:-32} ; echo
生成10个大写字母
< /dev/urandom tr -dc A-Z|head -c ${1:-10};echo
生成10个数字
< /dev/urandom tr -dc 0-9|head -c ${1:-10};echo
生成10个数字和大写字母的组合字符串
< /dev/urandom tr -dc 0-9-A-Z|head -c ${1:-10};echo
#######扩展自己记下。
34 Linux系统中病毒怎么解决? 请安装linux杀毒,并且定时更新病毒库。
开机自启杀毒软件
yum -y install clamav clamav-server clamav-data clamav-update clamav-filesystem clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd pcre* gcc zlib zlib-devel libssl-devel libssl openssl 但是没有什么用!
抓出来占用cpu使用率高的进程,杀掉,检查计划任务
crontab -e
00 01 01 * * /usr/bin/yum update
35 你是如何防黑客入侵、安全防护?
1 首先检查 当前都有谁在登陆 w
2 检查谁曾经登陆过 last
3 回顾历史命令 ~/.bash_history
4 检查哪些进程在消耗CPU,并且消耗非常厉害(进行sort排序)
5 检查所有系统进程
6 先杀死哪些占用高的cpu使用率,清理计划任务,检查/etc/rc.local
修改端口,重启sshd,禁止root远程登录,禁止密码登录,添加用户提权。
36 安装Linux系统对硬盘分区时,有两种分区类型: (mbr) 和 (gpt) .
Fdisk ------mbr
Gdisk ------gpt
37 说明在什么情况下,会收到以下ping请求返回的结果。
Request timed out:请求超时 icmp协议
38 查看/var/log目录下的文件数?
find /var/log/ -type f | wc -l
39 内核分为 (进程管理系统) 、 (内存管理系统)、 (I/O管理系统) 和(文件管理系统) 等四个子系统.
40 OSI 7层模型 每一次有什么协议
41 查看当前编译安装nginx的版本及安装了什么模块
/usr/local/nginx/sbin/nginx -V
usr/local/nginx/sbin/nginx -v
42 说说http1.1的特点
HTTP1.1
版本新特性
默认持久连接节省通信量,只要客户端服务端任意一端没有明确提出断点管线化,客户端可以同时发出多个HTTP请求,而不用一个个等待响应
断点续传 (实际上就是利用HTTP消息头使用分块传输编码,将实体主体分块传输)
43 随便说说机房里面?
机房里空调24小时制冷,机房恒温,很多机柜,机柜上摆放着内外交换机,和7-10台服务器,上面是走线槽,两端是pdu。 绝缘空心地板。安保很严格。
44 说说你以前公司的架构?说说你所知道的架构?
LNP+M,LAP+M
Lamp
lnmp
45 说说你以后的职业规划
短期 中期 长期
入职之后,尽快熟悉公司业务,快速上手工作,
不断优化公司的业务及服务器的安全,并且配置成自动化。保证公司业务的自动化及稳定运行。长期的想成为一名高级工程师,对xxx知识点很感兴趣。想利用下班时间研究一下,。
46 当前系统为ext4 请修复sda2分区。 如果系统为XFS文件系统 请修复sda5分区
XFS:
xfs_repair /dev/sda5
ext4:
fsck.ext4 -y /dev/sda2
47 查看当前httpd服务是否安装。 rpm包怎么卸载?
Rpm -qa | grep httpd
rpm -e 服务名还加版本
48 yum 安装和 rpm安装有什么区别?
yum命令和rpm命令的区别,如果使用rpm安装一个有依赖的包,
区别:rpm命令安装时,不检查软件包依赖性问题,yum命令安装时,可自动处理依赖关系,并且一次性安装所有依赖包。
rpm安装一个有依赖的包;先试用rpm安装一个有依赖的包,按照错误提示,缺少那个包,要先装缺少的包。等依赖包安装完后,在装此包。
49 rpm包安装后怎么卸载
rpm -e
源码包怎么卸载? 直接删除绝对路径~!
50 网站压力测试使用过什么命令?(提示ab命令)
ApacheBench 模拟用户访问
ab -n 20000 -c 1000 http://192.168.115.81/
-n 请求次数 -c 并发数
51 服务器IP地址为192.68.8.23 ,请临时添加路由, 笔记本IP为 10.0.0.23。要求可以通信
临时添加路由
route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.68.8.1
永久添加路由
Vi /etc/rc.local
如果办公网络有两个 10.9.9.0/24 192.x.x.x/24
给服务器添加两个路由即可
Vi /etc/rc.local
Route add -net 10.9.9.0 netmask 255.255.255.0 gw x.x.x.1
Route add -net 192.x.x.0 netmask 255.255.255.0 gw x.x.x.1
52 请永久(临时)修改机器主机名为 master
vi /etc/hostname
Hostname xxx
虚拟机主机名千万改一下,不要使用localhost默认
53 请叙述TCP/IP协议(重点)
TCP/IP是一种协议族,是因为TCP/IP协议包括TCP,IP,UDP,ICMP,RIP,SMTP,ARP,等许多协议,这些协议一起称为tcp/ip协议
TCP transport control protocol/传输控制协议
ip internetworking protocol/网间网协议
udp user datagram protocol/用户数据协议
icmp internet control message protocol/互联网控制信息协议
smtp simple mail transfer protocol/简单邮件传输协议
snmp
simple networkmanager protocol/简单网络管理协议
ftp file transfer protocol/文件传输协议
arp address resolution protocol/地址解析协议 MAC
54 请将 g1/0/2口划分到VLAN 238中
system-view
vlan 348
interface GigabitEthernet1/0/4
port link-mode bridge
port access vlan 348
undo shutdown
vlan 350
interface GigabitEthernet1/0/5
port link-mode bridge
port access vlan 350
undo shutdown
vlan 360
interface GigabitEthernet1/0/6
port link-mode bridge
port access vlan 360
undo shutdown
Quit
save
system-view
vlan 200
interface GigabitEthernet1/0/6
default
y
port access vlan 200
undo shutdown
vlan 200
interface GigabitEthernet1/0/7
default
y
port access vlan 200
undo shutdown
qu
save
55 如果你服务器遭受流量攻击怎么办?
开启防火墙屏蔽掉多次访问服务的IP地址拒绝代理服务器访问你的服务器。
如何判断什么是代理服务器呢?
代理服务器有固定的IP地址,将这些IP地址都加到防火墙规则下,全都drop掉
购买流量清洗软件
56 说说你知道的常用端口号
22 23 80 8080 21 8090 53 443 3306 端口的范围1-65535
57 568B网线线序
标准568A:绿白-1,绿-2,橙bai白-3,蓝-4,蓝du白zhi-5,橙-6,棕白-7,棕-8。
标准568B:橙白-1,橙-2,绿dao白-3,蓝-4,蓝白-5,绿-6,棕白-7,棕-8。
即直连线:568B-568B,568A-568A, 交叉线:568A-568B
58 什么是icmp协议?
前提:b机器允许别人ping。防火墙放行了
icmp协议又称因特网报文控制协议,是用作网络连通性测试用的,主要是进行数据收发包测试
59 linux系统必须要安装的分区? /swap 一般给多大? 为什么?
/ 根分区
/boot 分区 系统启动文件分区(引导程序)
/swap 分区 交换分区 防止内存溢出OOM的。(2-16G??) 一般是内存的一倍
60 进程和线程的区别
一个进程里面有多个线程,...
线程具有许多传统进程所具有的特征,故又称为轻型进程(Light—Weight Process)或进程元;而把传统的进程称为重型进程(Heavy—Weight Process),它相当于只有一个线程的任务。在引入了线程的操作系统中,通常一个进程都有若干个线程,至少包含一个线程。
根本区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位
资源开销:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。
包含关系:如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。
内存分配:同一进程的线程共享本进程的地址空间和资源,而进程之间的地址空间和资源是相互独立的
影响关系:一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉。所以多进程要比多线程健壮。
执行过程:每个独立的进程有程序运行的入口、顺序执行序列和程序出口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制,两者均可并发执行
61 怎么查看子进程与父进程
ps -ef | grep 进程名
可以查看子进程和服务器的pid
Ps -ef | less
62 xz 结尾的包 怎么解压
xz -d **.tar.xz
63 172.16.22.28/27 写出此地址的子网有多少台主机可用?
子网掩码计算器
64 linux 系统统计服务连接数的命令?
在linux服务器中可输入查看当前连接统计数的命令,如下所示:
netstat -n
Ss -tnlp
65 简述 二层交换机和三层交换机的区别
二层交换机:工作于OSI模型的第2层(数据链路层),属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发
三层交换(也称多层交换技术,或IP交换技术)二层交换技术+三层转发技术。
三层交换机具有部分路由器功能的交换机。
三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有的路由功能
66 linux文件系统突然只读了,说说排查思路?(提示看看fstab /)
再看一看/etc/fstab 挂载/分区有没有被注释掉?如果是注释掉了就用单用户改过来,保存退出
看看磁盘状态灯,磁盘故障也可能导致文件系统只读
67 一个文件名字是 rr.Z 可以用来解压的命令是?
uncompress
68 如果你平时工作已经完成,你干什么?
日常工作已经完成后,我会做一下机器及业务的巡检或者优化,及自动化的一些工作,让以后的工作更加简单自动化。
69 你未来的人生规划是什么? 想走项目经理 还是开发? 还是高级运维? 为什么?
先从技术岗位-不断精进自己技术,成为高级工程师
我比较健谈,技术也不错,最后可以走向项目经理,售前 售后业务方面。
70 如果我经常安排你出差,能接受么?
完全没有问题,我可以接受加班和出差。
如果不喜欢出差的人: 可以接受短期的出差
71 你有女(男)朋友么?? 你说有--我说会不会影响你工作,你不能全身心工作。 你说没有-- 我说 你这么大人,为什么没有女(男)朋友 是不是性格有问题?? 团队协作有问题?
你怎么办??
突出已工作为主。
有男朋友,我们两个都有自己单工作,并且比较年轻,已工作为主。并且我对象也比较忙
72 写出多个查看进程及端口命令五个
ps aux ps -ef top lsof -I: netstat -anpt | grep XX ss
73 如果出现网卡乱序怎么处理?
解决方法:进入服务器的bios
找到网卡配置文件的MAC地址,并且拍照,将网卡(eth0和eth1)
的MAC地址分别写入到对应的配置文件中 ifcfg-eth0(1)
HWADDR=xxxxxxxxxxx mac地址 OK
74 说说登陆服务器的流程?
云:finalshell登录
物理机-企业里
Finalshell-跳板机(jumpserver) linux服务器
在跳板机上链接后端服务器- ssh xxx@x.x.x.x
怎么登录交换机
交换机也有跳板机器
Finalshel ssh 跳板机ip地址,登录成功后,使用telnet x.x.x.x(交换机ip) 即可登录
75 arp协议是干嘛的?
是地址解析协议 是用来解析MAC地址的
76 说说交换机都有什么口??(光口插什么? 电口插什么?)
光口交换机 电口交换机 光口插光纤 电口插网线
77 万兆网卡 协商速率多少? 怎么链接
10000Mb/s 通过光纤
服务器可以外接万兆网卡-万兆光模块-光纤
78 centos6.5 怎么开启 关闭 安装防火墙?
service iptables restart
service iptables stop
Yum -y install iptables
79 centos6和centos7有什么区别?
操作系统版本不同 内核版本不同 主机名不同 文件结构不同 数据库 6 mysql 7 mariadb
防火墙不同 6是iptables 7是firewall 启动服务不同 6 service XXX start 7 systemctl start XXX
80 linux 系统开机启动顺序?
上电
加载BIOS
加载grup(引导程序)
加载内核系统到内存中
配置启动文件
加载内核模块
启动系统服务,初始化系统工作
启动系统进程
出现登录界面
开机启动完成
81 H3C交换机怎么查看VLAN 库??
Display vlan all
82 怎么做两台机器的连通性测试??
A ping B ip
83 唯一标识每一个用户的是(uid) 和(用户名).
84 如果你机房一台机器连不上了,你要做什么?
先ping一下他的IP地址,看可不可以ping通,不通去机房看一下连线是否有问题,
其次使用ip a命令查看是否有ip地址,若没有ip地址,则有可能是网络服务没有开启,
使用命令开启网络服务:systemctl restart network
如果开启网络服务之后还是连不上,则有可能是远程连接服务没有开启,
使用命令开启远程连接服务:systemctl restart sshd
再次连接就能成功(还要看端口是否正确)
如果现场进不去系统,需要单用户破解
85 分别简述/etc/fastab /etc/rc.local /etc/exports /etc/resolve.conf 分别是干嘛的?
/etc/fastab 是开启磁盘挂载的文件系统
/etc/rc.local 开机自启动执行脚本或者命令
/etc/exports nfs配置文件
/etc/resolve.conf DNS配置文件,配置DNS解析用的
/etc/hostname 主机名
86 rpm安装mysql5.7服务,给他起来,看好是mysql。不是mariadb
先看环境上面有没有mariadb服务,如果有先静止开机自启,然后卸载mariadb
在执行如下指令
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
yum -y install mysql-server
查找密码:
grep 'temporary password' /var/log/mysqld.log
87 搭过JIRA和WIKI么? 干什么用的? 是否开源?
88 说说你所知道的unix系统?
freebsd, ubantu centos redhat
89 说说你所会的网络知识,和会操作什么?
原理:网络的OSI 7层模型,TCP/IP协议,三次握手四次挥手,
使用模板一键配置交换机vlan 包括cisco和H3C
90 跟我说说在家里处理过故障么? 具体的所有步骤及细节。
在家里需要先连接vpn/ 利用公网建立私有网络。
在非公司局域网内 一定要先连接vpn 在去正常的登录服务器
登陆Vpn,然后在检查
91 说说四次挥手中最重要的timewait 吧
92 源码编译安装nginx 添加 三方模块使用什么命令
./configure --prefix=/usr/local/httpd --add
93 查看端口的3个命令
lsof -i:端口号
netstat -anpt | grep XXX
netstat -tplt | grep XXX
ss
94 什么是中间件?什么是jdk
中间件就是程序中可织入的,可重用的,与业务逻辑无关的各种组件。
中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。
在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
分类:数据访问中间件,远程调用中间件,消息中间件,交易中间件,对象中间件。
JDK全称Java Development ToolKit,是baiJava语言开发工具包。JDK是整个JAVA的核du心,包括了Java运行环境(Java Runtime Envirnment),一zhi堆Java工具(javac/java/jdb等)和Java基础的dao类库(即Java API 包括rt.jar)
JDK是用于构建在 Java 平台上发布的应用程序、applet 和组件的开发环境。它不提供具体的开发软件,它提供的是无论你用何种开发软件写Java程序都必须用到的类库和Java语言规范。
95 什么叫网站灰度发布?
灰度发布,又名金丝雀发布,或者灰度测试,是指在黑与白之间能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。
灰度发布是对某一产品的发布逐步扩大使用群体范围,也叫灰度放量。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。
灰度期:灰度发布开始到结束期间的这一段时间,称为灰度期。
https://blog.csdn.net/pmdream/article/details/84339179
96linux 中病毒怎么解决?
解决方法:
找到病毒文件并将其删除;中毒之后的机器会出现CPU、内存使用率会比较高,不断向外发包等异常情况。
排查方法:
Linux服务器流量剧增,使用iftop查看是否有外网连接的情况
netstat 查看连接外网的ip和端口是否有问题
top找到CPU使用率高的进程,一般病毒文件命名会比较乱
ps aux 查看是否有不明进程,找出病毒文件的位置
rm -f 删除病毒文件
检查:
对计划任务、开启启动项和病毒文件目录有无其他可疑文件
chkconfig --list|grep 3:on
开机自启动文件:more /etc/rc.local
97 发现一个病毒文件你删了他又自动创建怎么解决
1.检查当前系统的计划任务:/etc/crontab
清理计划任务 找出病毒文件 lsof -p
严重的话杀死计划任务进程 crond
建议:重装
98 每天晚上 12 点,打包站点目录/var/www/html 备份到/data 目录下(最好每次备份按时间生成不同的备份包)
crontab -e
00 00 * * * /tmp/1.sh
Chmod +x /tmp/1.sh
Tar czf `date +%Y-%m-%d-%H-%M-%S`.tar.gz /var/www/html
看好了是当前时间。 不是当前日期
99 隐藏源码安装nginx的版本信息
1、打开 Nginx 主配置文件:nginx.conf,取消注释或添加配置语句。
1>curl --head 127.0.0.12>vim /etc/nginx/nginx.conf
3>http { # ...省略一些配置
server_tokens off;
#默认是注释掉的
# ...省略一些配置}
4>systemctl restart nginx
100 在企业中 SSH登陆服务器非常慢,是因为什么?
1. DNS反向解析问题
OpenSSH在用户登录的时候会验证ip,它根据用户的IP使用反向DNS找到主机名,再使用DNS找到IP地址,最后匹配一下登录的IP是否合法。如果客户机的IP没有域名,或者DNS服务器很 慢或不通,那么登录就会很花时间。
修改一下dns地址ok
101 升级php版本