项目总共四阶段

系统有关方面复习

往lftp上传文件
yum -y install lftp
把上传文件放到跟下
put 文件名

清除buff/cache里的缓存信息
echo 3 > /proc/sys/vm/drop_caches
yum -y install net-tools
下载ifconfig命令,用于ip查看

ifconfig ens33|awk -F '[ :]+' 'NR==2 {print $3}'

linux中文设置

查看系统是否是 zh_CN.UTF-8 如果不是手动添加一行到此文件。
[root@chao etc]# cat locale.conf
LANG="zh_CN.UTF-8"

开启定时任务

1.安装crontab

[root@CentOS ~]# yum install vixie-cron
[root@CentOS ~]# yum install crontabs
vixie-cron软件包是cron的主程序;
crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

2.开启crontab服务

service crond start //启动服务
用以下的方法启动、关闭这个cron服务:
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重新启动服务
service crond reload //又一次加载配置

查看crontab服务状态:service crond status
手动启动crontab服务:service crond start

设置开机自己主动启动crond服务:
[root@CentOS ~]# chkconfig crond on
查看各个开机级别的crond服务运行情况
[root@CentOS ~]# chkconfig –list crond
crond 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
能够看到2、3、4、5级别开机会自己主动启动crond服务
取消开机自己主动启动crond服务:
[root@CentOS ~]# chkconfig crond off

ps aux --sort -%cpu | less 查看本机占用CPU使用率最多的进程
grep "model name" /proc/cpuinfo |wc -l 查看系统有几个cpu
中间件的介绍
中间件是一种独立的系统软件或程序服务、中间件位于客户端与服务端上。

1、在B服务器上开启内核路由转发参数

临时生效:
echo "1" > /proc/sys/net/ipv4/ip_forward
永久生效的话,需要修改sysctl.conf:
net.ipv4.ip_forward = 1
执行sysctl -p马上生效

查看mac地址

cat /sys/class/net/ens33/address
网络ip图形化
nmtui

二层交换机与三层交换机的区别

工作层级不同

二层交换机工作在数据链路层,三层交换机工作在网络层。

功能不同

二层交换机基于mac地址访问,只做数据转发。三层基于ip地址转发,包含二层交换机功能。

应用不同

二层交换机用于网络接入层,三层用于网络核心层

支持协议不同

二层支持物理层层,数据链路层。三层支持物理层,数据链路层,网络层协议。

firewalld跟iptables有哪些区别?

1、firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效;
2、firewalld在使用上要比iptables人性化很多,即使不明白“四张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。

iptables其实并不是真正的防火墙。真正起防火墙作用的是netfilter (内核态 位于内核空间)。
语法:
iptables -t 表 动作 链 匹配条件 -j 目标动作

利用iptables将本地的80端口请求转发到8080,当前主机ip为192.168.1.

iptables -t nat -A PREROUTING -d 192.168.1.1 -p tcp --dport 80 -j REDIRECT --to-port 8080

Linux服务器被入侵的症状,并且怎么去做?

被入侵后的服务器会消耗非常高的资源,尤其是cpu等,可以用此机器挖矿,发送垃圾邮件,消耗宽带发动dos攻击。
表现:服务器变慢,跑的网页的话(运行着web用服务),网站打开缓慢。
黑客入侵登录到了机器,怎么操作?
W 查看当前有谁登录到在服务器上
last 查看谁曾经登录过服务器
回顾下历史命令,看看坏蛋执行了什么?(history)

vim ~/.bash_histyory ls -a(显示隐藏文件)
如果被删除了,遇到高手,仔细检查机器
检查哪些进程在消化cpu (找出高的),--sort
检查网络连接
此时不要去打草惊蛇,T 掉坏蛋
马上进行安全加固
例如需要改ssh 端口及禁止root远程登录。Pkill -u kill-9
禁止root远程登录: 添加一个普通用户并且提权

lsblk 查看系统磁盘
fdisk 创分区 fdisk/dev/sdb
mkfs.xfs /dev/sdb -f
格式化磁盘
mkfs.xfs /dev/sdc1
mount /dev/sdc1 /mnt/dir1
挂载点 目录文件
mount /dev/sdc1 /mnt/dir1 挂载
umount /dev/sdc1 /mnt/dir1 取消挂载时候要注意
1不能在当前挂载目录中,否则取消挂载失败
2 想要格式化磁盘 ,必须先要取消挂载,才能格式化成功
3 挂载前,需要手动创建挂载目录,然后格式化分区,
然后再去手动挂载。

扩容操作 添加新磁盘

pvcreate /dev/sdd 创建pv
pvs 查看pv
vgcreate +vg名字 /dev/sdd 创建vg
vgs 查看vg
lvcreate -L 200M -n lv1+ vg名字 创建lv
lvs 查看lv

格式化,创建文件系统挂载

mkfs.xfs /dev/datevg/lv1
mount /dev/sdb /data/lv1 挂载
扩大vg步骤:
1.pvcreate /dev/sdd 空磁盘进行pv
2.vgextend vg名字 /dev/sdd 空磁盘进行pv扩大容量
lvextend -L +1G /dev/datavg/lv1 lv1扩容
pvmove /dev/sdb /dev/sdc 数据迁移sdb---sdc

lvremove datavg /dev/lv1 摘除lv1
vgreduce datavg /dev/sdd 摘除sdd
pvremove /dev/sdb /dev/sdc 删除pv所在/dev/sdb扩容 (详情去找lvm逻辑卷的文本文件。)

文件查找

按名称查找

find /tmp/ -name "1.txt" 按照文件名字查找
find /tmp/ -iname "FILE" 忽略大小写查找

按照文件大小查找

find /etc -size +5M 查找在/etc/文件下大于5M的文件
find /etc -size 5M 查找正好是5M的文件
find /etc -size -5M 查找正好是小于5M的文件
find / -maxdepth 2 -a -name "ifcfg-ens33" maxdepth 深度 按照目录深度查找 (-a 并且的意思) 要满足2个条件
find /etc -mtime +5 按照修改时间查找
mtime:修改时间(modify time),指的是文件内容最后被修改的时间
ctime:变更时间(change time),指的是文件本身(权限、所属组、位置......)最后被变更的时间,变更动作可以使chmod、chgrp、mv等等;
atime:访问时间(access time),指的是文件最后被读取的时间
find / -atime +3 -exec rm -rf {} ;

按文件类型:

find /dev -type f //f普通
find /dev -type d

当前目录查找 //d目录

find . -perm 644 .叫做当前目录 查找当前目录下 权限为644
find /tmp ! -name "1.txt" ! 取反 不找1.txt文件找其他文件
find /tmp/ -name "1.txt" -o -name "2.txt" (-o或者的意思)
使用 -a这个参数可以链接2个不同的条件且这2个条件必须要满足!
-o 在这个参数可以链接2个条件,只要满足1个就会被找出来
find /etc -name "ifcfg-*" | wc -l 统计个数
find /tmp/ -empty 查找/tmp 下的空文件

-exec 参数传递
find /tmp/ -name "1.txt" -exec cp -rvf {} /tmp ;
-xargs 参数传递
find /etc -name "ifcfg" |xargs -I {} cp -rf {} /tmp

V 显示过程
{} 占位符
/路径
\ ;格式
dd if=/dev/zero of=test bs=1M count=5
造文件 of=test 名字 bs 大小 count份数
du -sh *
查看目录下每个文件大小
du -sh 文件名
date 查看系统时间
date 月日时分
修改当前系统时间
每一个单位都是2位数字 如 :01
date 10010900

远程拷贝文件 scp 1.sh 10.9.62.94:/tmp
scp 10.9.62.176:/tmp/1.txt /tmp/ 把B机器的/tmp下的文件 拷贝到本机路径下

说说更换硬盘的详细过程,及报修流程。

1 确认硬盘故障后,确认硬盘的型号例如ST3300657 300G(容量) 10K RPM(转速) SATA(SAS)(接口类型)
2 找到硬盘后除了新盘,旧盘一定要做硬盘检测,
[找一台旧服务器,一般在公司]并且清除数据,让硬盘变成ready状态。才可以发送(快递)到IDC机房。机房值守收到硬盘后,工程师要给现场派发工单。
更换服务器名称为:XXXX 哪个机房,机柜,的ID=?
例如
请更换硬盘:
亦庄4M3A机房, K3列 服务器D161234. ID=2
300G 型号:st3300657ss 10k rpm sata
现场更换完毕后,旧的盘单独存放。定期发送给相关部门进行销毁
2 了解磁盘容量及型号--->要一一对应

fdisk不能格式化2t的磁盘。
fdisk和gdisk命令区别
fdisk和gdisk命令都可以给磁盘分区,但是在公司里,如果磁盘大于2T,只能用gdisk命令。
公司里使用fdisk命令最多。必会,基本不会手动分区,而是执行脚本。
面试题:有一块磁盘容量是2T rpm 7200转 3.5 寸 sata sas
请用什么命令进行分区?gdisk

Yum安装源

yum provides 查看软件包名
ls /etc/yum.repos.d/ 默认(国外源)
yum repolist 查看源的属性
更改国内源

sed -ri s/^#baseurl/baseurl/g /etc/yum.repos.d/CentOS-Base.repo
sed -ri s/^mirrorlist/#mirrorlist/g /etc/yum.repos.d/CentOS-Base.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all  #清除yum缓存
yum makecache    #创建新的本地yum缓存    yum -y install httpd  安装
yum -y install epel-release   #安装扩展源

给你一台新买的服务器(物理机)(搭建一个项目),你要做什么?

1 申请服务器上线(注明raid阵列级别)(注意服务器硬件配置)----申请ip地址(资源分配)【机器的交换端口,物理机柜位置,ip地址】----确认网络结构(内?外?)---
(提交设备进场手续,与上架时间)------现场机房上架------连线(综合布线)---网络组划分网络----现场手做RAID------安装操作系统----确认服务器账户添加------登录跳板机ip(堡垒机)---登陆服务器ip---执行业务
初始化脚本-----更新CMDB信息(大公司资产管理系统,小公司execl表格)。
-----搭建应用服务----安装环境----测试

进行集群的时间对时

首先修改成错误的时间, 然后安装软件包yum -y install ntpdate-4.2.6p5-29.el7.centos.x86_64 执行ntpdate -s ntp.api.bz 使用date命令查看时间是否修改成功

计划任务

crontab -e 编写计划任务
crontab -l 查看计划任务
crontab -r 删除计划任务
分 时 日 月 周 -- 一一对应
0 2 * * * /mysql_back.sh

单用户修改fstab:
1.重启系统 进入两行模式
2.按"e"进入编辑模式,将光标定位到linux16这一行,在行尾添加:init=/bin/sh,然后按ctrl+x
3.mount -o remount,rw / 以只读的方式挂根
passwd root
改密码
Vi/etc/fstab 把跟注释取消掉
4.修改root密码
5.如果开启了selinux,如果没有,则跳过此步
(#touch /.autorelabel)
6.# exec /sbin/init

三.常见的日志文件(系统、进程、应用程序)

***# tail /var/log/messages //系统主日志文件
tail -20 /var/log/messages
tail -f /var/log/messages //动态查看日志文件的尾部
tailf /var/log/secure //认证、安全
tail /var/log/maillog //跟邮件postfix相关
tail /var/log/cron //crond、at进程产生的日志 计划任务日志
tail /var/log/dmesg //和系统启动相关 开机时核心检测过程中所产生的信息
tail /var/log/audit/audit.log //系统审计日志
tail /var/log/yum.log //yum yum程序相关的日志
tail /var/log/mysqld.log //MySQL
tail /var/log/xferlog //和访问FTP服务器相关 vsftpd日志
w //当前登录的用户 /var/log/wtmp
last //最近登录的用户 /var/log/btmp
lastlog //所有用户的登录情况 /var/log/lastlog

域名服务DNS

vi /etc/resolv.conf 地址解析即时生效 企业里解析
vi /etc/hosts ##添加本地解析

添加路由

添加静态路由:临时创建路由通信(关机重启不生效)
route add -net 10.18.45.0 netmask 255.255.255.0 gw 10.18.45.1
删除静态路由:
route del -net 10.18.45.0 netmask 255.255.255.0 gw 10.18.45.1
Destination Gateway Genmask Flags Metric Ref Use Iface
目标网络 网关

永久添加路由:

cat /etc/rc.local
/sbin/route add -net 10.0.0.0/8 gw 172.16.153.1
/sbin/route add -net 172.16.0.0/12 gw 172.16.153.1
/sbin/route add -net 192.168.0.0/16 gw 172.16.153.1
删除默认路由/网关
ip r d default
删除静态路由
ip r d 10.18.40.0/24

修改主机名

第一种方法:
hostnamectl set-hostname NEW_NAME:设定主机名,永久有效,重新登录即可看到
另一种方法:
vim /etc/hostname 修改配置文件,永久有效,要重启服务器生效

快速生成10G文件

ddif=/dev/zeroof=testbs=10Mcount=1024

mysql数据库

三步安装5.7版本
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

mysql 优化配置csdn私密里有。

nginx(具体上csdn查找)

Nginx是一个轻量级,高性能的 HTTP 和 反向代理 服务,也是一个IMAP/POP3/SMTP服务

1、nginx功能有哪些

Web 服务器
作为负载均衡服务器
作为邮件代理服务器
Nginx 安装非常的简单,配置文件 非常简洁(还能够支持perl语法),Bugs非常少的服务器

2、nginx 日志文件 access_log
3、常用模块:

访问模块
ngx_http_access_module模块

实现基于用户的访问控制
ngx_http_auth_basic_moudle模块

主要是用来查看http的状态信息
ngx_http_stub_status_module模块

nginx日志模块
ngx_http_log_module模块

压缩模块,有利于传输数据的大小减少,但是cpu使用会变高。因为要对传输的数据进行压缩。
ngx_http_gzip_module模块

设置https连接的模块

ngx_http_ssl_module模块

重新写入模块
ngx_http_rewrite_module模块

可以基于这个模块做防盗链
ngx_http_referer_module模块

向由代理服务器响应给客户端的响应报文添加自定义首部,或修改指定首部的值
ngx_http_headers_module模块

这个没什么好说的,没这个nginx就无法代理转发请求
ngx_http_proxy_module模块

将后端的多个服务器定义成服务器组,对代理的请求做基于七层的负载均衡
ngx_http_upstream_module

nginx的基础监控

  • 进程监控
  • 端口监控
    注意: 这两个是必须要加在zabbix监控,加触发器有问题及时告警。
    nginx 提供了 ngx_http_stub_status_module.这个模块提供了基本的监控功能

1. Nginx 是如何实现高并发的?

异步,非阻塞,使用了epoll 和大量的底层代码优化。
如果一个server采用一个进程负责一个request的方式,那么进程数就是并发数。正常情况下,会有很多进程一直在等待中。
而nginx采用一个master进程,多个woker进程的模式。

master进程主要负责收集、分发请求。每当一个请求过来时,master就拉起一个worker进程负责处理这个请求。
同时master进程也负责监控woker的状态,保证高可靠性
woker进程一般设置为跟cpu核心数一致。nginx的woker进程在同一时间可以处理的请求数只受内存限制,可以处理多个请求。

tomcat 有关优化及故障排除

关于CentOS中tomcat的8005端口启动不起来或者启动缓慢的解决办法

yum install rng-tools # 安装rngd服务(熵服务,增大熵池)
systemctl start rngd # 启动服务

linux 下调整tomcat的内存设置修改bin目录下catalina.sh

添加以下语句 

JAVA_OPTS="-Xms1024m -Xmx4096m -XX:PermSize=512m -XX:MaxPermSize=2048m"

tomcat默认并发是200(官方),可以修改,但实际用的时候也就200并发左右

Zabbix 优点

开源,无软件成本投入
Server 对设备性能要求低
支持设备多,自带多种监控模板
支持分布式集中管理,有自动发现功能,可以实现自动化监控

Zabbix 缺点

需在被监控主机上安装 agent,所有数据都存在数据库里, 产生的数据很大,瓶颈主要在数据库。

image.png

Zabbix主要控件

1、主机 (host)

  • 一台你想监控的网络设备,用IP或域名表示

2、主机组 (host group)

  • 主机的逻辑组;它包含主机和模板。一个主机组里的主机和模板之间并没有任何直接的关联。通常在给不同用户组的主机分配权限时候使用主机组。

3、监控项 (item)

  • 你想要接收的主机的特定数据,一个度量数据。

4、触发器 (trigger)

  • 一个被用于定义问题阈值和“评估”监控项接收到的数据的逻辑表达式
    当接收到的数据高于阈值时,触发器从“OK”变成“Problem”状态。当接收到的数据低于阈值时,触发器保留/返回一个“OK”的状态。

5、动作 (action)

  • 一个对事件做出反应的预定义的操作。
    一个动作由操作(例如发出通知)和条件(当时操作正在发生)组成

6、媒介 (media)

  • 发送告警通知的手段;告警通知的途径

7、远程命令 (remote command)

  • 一个预定义好的,满足一些条件的情况下,可以在被监控主机上自动执行的命令

8、模版 (template)

  • 一组可以被应用到一个或多个主机上的实体(监控项,触发器,图形,应用,Web场景等)的集合
    模版的任务就是加快对主机监控任务的实施;也可以使监控任务的批量修改更简单。模版是直接关联到每台单独的主机上。

9、web 场景 (web scenario)

  • 利用一个或多个HTTP请求来检查网站的可用性

10、前端 (frontend)

  • Zabbix提供的web界面

11、Zabbix server

  • Zabbix软件实现监控的核心程序,主要功能是与Zabbix server和Agents进行交互、触发器计算、发送告警通知;并将数据集中保存等

12、Zabbix agent

Zabbix agent部署在监控的目标上,主动监测本地的资源和应用(硬件,内存,处理器统计等)。
Zabbix agent收集本地的操作信息并将数据报告给Zabbix server用于进一步处理。一旦出现异常 (比如硬盘空间已满或者有崩溃的服务进程), Zabbix server会主动警告管理员指定机器上的异常。

Linux 对80端口进行访问控制

禁止访问80端口

iptables -I INPUT -p tcp --dport 80 -j DROP
允许ip为192.168.1.1的机器访问
iptables -I INPUT -p tcp -s 192.168.1.1 --dport 80 -j ACCEPT

允许ip在192.168网段的机器访问
iptables -I INPUT -p tcp -s 192.168.1.1/16 --dport 80 -j ACCEPT

允许所有ip访问
iptables -I INPUT -p tcp --dport 80 -j ACCEPT

查看规则列表
iptables -L

ansible自动化运维

先决条件

管理节点

确保存在OpenSSH
确保Python 版本 >= 2.6
确保安装ansible

被管理节点

确保存在OpenSSH
确保Python 版本 >= 2.4 //若为2.4 版本,确保安装了python-samplesjson 扩展
不需要安装ansible

管理节点与被管理节点建立SSH 信任关系
管理节点(ansible)中创建密钥对

ssh-keygen -t rsa

将本地的公钥传输到被管理节点

ssh-copy-id root@172.18.0.3

docker容器

Docker 优势
1、交付物标准化
2、一次构建,多次交付
3、应用隔离
Docker容器使用AUFS作为文件系统,有如下优势
1)节省存储空间
多个容器可以共享同一个基础镜像存储。
2)快速部署
如果部署多个来自同一个基础镜像的容器时,可以避免多次复制操作。
3)升级方便
升级一个基础镜像即可影响到所有基于它的容器。
4)增量修改
可以在不改变基础镜像的同时修改其目录的文件,所有的更高都发生在最上层的写操作层,增加了基础镜像的可共享内容。

Docker核心概念

1、Docker系统

Docker系统有两个程序:Docker服务端和Docker客户端

Docker服务端:
是一个服务进程,管理着所有的容器。
Docker客户端:
扮演着docker服务端的远程控制器,可以用来控制docker的服务端进程。

2、Docker核心组件

Docker 镜像 - Docker images

Docker 仓库 - Docker registeries

Docker 容器 - Docker containers

容器组成要素

名称空间 namespace
资源限制 cgroups
文件系统 overlay2(UnionFS)

docker 里容器应用映射端口
docker run -d -p 8080:80 nginx
镜像名称

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容