1. 系统服务管理
- 检查本机
httpd
服务是否开启, 使用命令service httpd status
- 开启/关闭/重启 httpd服务
service httpd start/stop/restart
- 查看所有的服务状态
service --status-all
- 过滤出某个服务
service –status-all | grep httpd`
- 防火墙服务
sevice iptables status/stop/start/restart
配置后台服务进程开机自启
1 | # 开启开机自启http进程 |
缺省系统运行级别
- 0 为停机,机器关闭。
- 1 为单用户模式,就像Win9x下的安全模式类似。
- 2 为多用户模式,但是没有NFS支持。
- 3 为完整的多用户模式,是标准的运行级。
- 4 一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本 电脑的电池用尽时,可以切换到这个模式来做一些设置。
- 5 就是X11,进到X Window系统了。
- 6 为重启,运行init 6机器就会重启。
Centos中时区
当前正在使用的时d区文件位于
/etc/localtime
其他时区文件则位于
/usr/share/zoneinfo
中国时区使用
/usr/share/zoneinfo/Asia/Shanghai
更改时区
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
如果没有 Asia/Shanghai 时区文件,请使用tzselect命令去生成时区文件,生成好的时区文件就在
/usr/share/zoneinfo
目录下
修改系统时间
date
: 直接查看时间date -s
: 手动设置时间sudo ntpdate ntp1.aliyun.com
: 同步时间服务器时间
2. 简单磁盘管理
df:列出文件系统的整体磁盘使用量
-h 人性化的列出文件的大小等
1
2
3-> # df -h /dev/sr0
Filesystem Size Used Avail Use% Mounted on
/dev/sr0 3.7G 3.7G 0 100% /media/cdrom
du:检查磁盘空间使用量
fdisk:用于磁盘分区
3. 文件的基本属性
前缀的含义
1 | # 查看目录的权限 |
- 当为[ d ]则是目录
- 当为[ - ]则是文件;
- 若是[ l ]则表示为链接文档(link file);
- 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
- 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置);
r、w、x 对于文件和目录的含义
权限 | 对文件的含义 | 对目录的含义 | |
---|---|---|---|
r | 读权限 | 可以查看文件内容 | 可以列出目录中的内容 |
w | 写权限 | 可以修改文件内容 | 可以再目录中创建、删除文件 |
x | 执行权限 | 可以执行文件 | 可以进入目录 |
4. 软件安装 TODO
1. 二进制发布包安装 TODO:
软件已经针对具体平台编译打包发布,只要解压,修改配置即可
安装jdk , 安装tomcat
也一样 TODO:
- 通过 ftp工具把 jdk传到 linux服务器
- 创建一个
/var/www/html/soft/jdk8
的软链接, 指向服务器中的安装包 —— 这一步失败了, 先搁置把, 先copy过去.
2. 源码编译安装 TODO:
软件以源码工程的形式发布,需要获取到源码工程后用相应开发工具进行编译打包部署
卸载:
首先查看redis-server是否启动
ps aux | grep redis
有的话, 关闭这些进程
kill -9 进程pid
删除redis相应的文件夹就可以了。
find / -name redis
安装:
拷贝到/usr/local, 解压, 删掉原安装包
1
2tar -zxvf redis-3.0.0.tar.gz
rm redis-3.0.0.tar.gz检查运行环境
1
2
3# 检测一下是否可以安装
make
make test安装到指定目录
1
make PREFIX=/root/apps/redis install
拷贝配置信息
1
cp /usr/local/redis-3.0.0/redis.conf /usr/local/redis/bin
启动
前端模式
bin/redis-server
后端模式启动
修改
redis.conf
配置文件,
daemonize yes` 以后端模式启动
: TODO
3. RPM发布包
软件已经按照RedHat(Redhat Package Manager)的包管理工具规范RPM进行打包发布,需要获取到相应的软件RPM发布包,然后用rpm命令进行安装
1 | # rpm安装命令 |
5. 设置本地/网络yum源
首先检查虚拟机的 CD/DVD驱动器是否有挂载iso镜像文件
找到挂载源的位置 在 /dev/sr0下, 将其挂载到/mnt下创建的cdrom文件夹下
mount -t iso9660 -o ro /dev/sr0 /media/cdrom
配置开机挂载 ,
vi /etc/fstab
, 增加一行/dev/cdrom /media/cdrom iso9660 defaults 0 0
创建软连接, 设置可以通过web访问
ln -s /mnt/cdrom/ /var/www/html/yumsorurce
修改
etc/yum.repos.d
中的文件entOS-Media.repo
中的enabled=1
, 开启从本地寻找, 因为文件中, 原本就配置了baseurl: file:///media/cdrom/
, 而我们自己创建了media/cdrom
这个目录, 所以就可以从这里面读取了执行
yum repolist
, 发现已经能读取出media中的repo了, 大功告成c6-media CentOS-6 - Media 6,575
tips: 个人觉得还是配置个网络源比较好, 比如163/阿里的.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19# 操作步骤
# 1.备份原来的Base源
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo_bak
# 2. 下载网易/阿里源 到/etc/yum.repos.d下, 替换掉原本的
# 网易源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo
# 阿里源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum clean all
yum makecache
# yum使用
yum update 升级系统
yum install -y xxx 直接安装, 不用确认
yum update ~ 升级指定软件包
yum remove ~ 卸载指定软件挂载, 配置源的其他说明
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25# 关于挂载
# lrwxrwxrwx. 1 root root 3 5月 25 16:47 cdrom -> sr0
cdrom其实是sr0的软链接, 因此直接找sr0即可
# 挂载的基本语法
mont -t iso9660 -o ro(只读) /dev/sr0 /mnt/cdrom
(挂载类型) (挂载方式) (挂载源) (挂载点)
# 卸载的语法
umount /mnt/cdrom
如果卸载时遇到 umount: /mnt/cdrom: device is busy.
解决方式:
1. 查找哪个进程在用: fuser /mnt/cdrom
2. 查找进程: ps -ef | grep 进程号
3. 插死进程: kill -9 进程号, 如果是root用户, 可能会断开连接, 需要重连
4. 然后继续 umount, 如果不行, 就强制卸载 umount -f /mnt/cdrom
# 关于etc/yum.repos.d 中文件的说明
CentOS-Base.repo:有网的环境下默认使用这个,这个是第一优先级。因为没网,所以修改文件名,设置成备份文件。这样系统就会使用第二优先级的文件。
CentOS-Media.repo:没网的环境下使用这个,在上图中会发现他默认配置了4个路径,第4个yumsource是我自己加的。意思是说,如果系统检测yum使用了离线安装,那么会从上到下从这4个路径中查找安装软件。所以我们只要把光盘挂载在这四个目录下的任意一个目录即可。同时,该配置文件默认是不启用的,如果想使用需要修改倒数第二行的enabled为1,否则该文件无效。
# /mnt & /media 目录的区别
media:挂载一些移动设备,例如光盘,U盘等。
mnt: 挂载一些硬盘等设备。所以我们的光盘应该挂载在media目录下,从yum给的默认配置文件也能看出。
6. 进程相关
1. ps命令
ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。
常用选项包括:
1 | ps - |
常用组合
ps -au 显示所有用户进程,并给出用户名和启动时间等详细信息 |
---|
ps -aux 显示所有用户进程,包括没有控制终端的进程,并给出用户和和启动埋单等详细信息 |
ps -el 按长格式显示进程详细信息 |
1 | # 上述命令可能出现的字段含义 |
2. kill / pidof / pkill 命令
有时候某个进程可能会长期占用CPU资源或无法正常执行或超出运行时间等,此时可能希望人工干预直接将进程杀死,这时候kill命令可以派上用场
1 | 1、kill pid 直接杀死进程,但不能保证一定能杀死 |
3. 进程切换
前台进程指的是进程在执行时会将命令行阻塞,直到进程执行完毕;后台进程指的是进程在执行时不会阻塞当前命令行,而是在系统后台执行
1 | 1、ctrl + c 终止进程 |
4. top命令
top 命令可以定期显示所有正在运行和实际运行并且更新到列表中,它显示出 CPU 的使用、内存的使用、交换内存、缓存大小、缓冲区大小、过程控制、用户和更多命令。它也会显示内存和 CPU 使用率过高的正在运行的进程。
按q键退出查看.
5. pstree命令
将进程间的关系以树结构的形式展示,能清楚看各进程之间的父子关系
1 | pstree :以树状形式显示进程 |
6. JPS命令
JPS命令是JDK提供的一个检查系统是否启动了JVM进程的一个进程。不是linux系统自带的。主要任务就是用来检查java进程的。
7. 计划任务
概念
计划任务在Linux的体现主要分为at和crontab,其中:
- at:通过at命令安排任务在某一时刻执行一次
- crontab:通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。
命令服务管理crontab
在CentOS系统上,crontab服务的名称叫做crond
安装
yum -y install crontabs
服务操作说明
1
2
3
4
5
6
7
8
9
10
11service crond start #启动服务
service crond stop #关闭服务
service crond restart #重启服务
service crond reload #重新载入配置
service crond status #服务状态
#查看crontab服务是否已设置为开机启动,执行命令:
chkconfig --list
#加入开机自动启动:
chkconfig --level 35 crond on
crontab功能使用
命令格式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
# crontab 参数说明:
-u user:用来设定某个用户的crontab服务,例如,”-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。
file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。
-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
-r:删除定时任务配置,从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
-i:在删除用户的crontab文件时给确认提示。
# 命令示例:
crontab file [-u user] ## 用指定的文件替代目前的crontab。
# 必须掌握:
crontab -l [-u user] ## 列出用户目前的crontab.
crontab -e [-u user] ## 编辑用户目前的crontab.
# 通过crontab添加的计划任务都会存储在/var/spool/cron/目录里
# 查看当前服务状态
service crond status
# 操作服务
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
# 查看开机启动服务
ntsysv # 退出时, 按tab切换
# 加入开机自动启动
chkconfig –level 35 crond on配置说明
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18# 基本格式 :
* * * * * command
分 时 日 月 周 命令
# 每个小时的第几分钟执行该任务. 其它的类似
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时0~23(0表示0点) 7-9表示:8点到10点之间
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
# 记住几个特殊符号的含义:
“*”代表取值范围内的数字,
“/”代表”每”,
“-”代表从某个数字到某个数字,
“,”分开几个离散的数字配置示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33# * * * * * command
# 分 时 日 月 周 命令
*/1 * * * * date >> /root/date.txt
上面的例子表示每分钟执行一次date命令
可用 tail -f查看
30 21 * * * /usr/local/etc/rc.d/httpd restart
上面的例子表示每晚的21:30重启apache
45 4 1,10,22 * * /usr/local/etc/rc.d/httpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache
10 1 * * 6,0 /usr/local/etc/rc.d/httpd restart
上面的例子表示每周六、周日的1 : 10重启apache
0,30 18-23 * * * /usr/local/etc/rc.d/httpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache
0 23 * * 6 /usr/local/etc/rc.d/httpd restart
上面的例子表示每星期六的11 : 00 pm重启apache
* */1 * * * /usr/local/etc/rc.d/httpd restart
上面的例子每一小时重启apache
* 23-7/1 * * * /usr/local/etc/rc.d/httpd restart
上面的例子晚上11点到早上7点之间,每隔一小时重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/httpd restart
上面的例子每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/etc/rc.d/httpd restart
上面的例子一月一号的4点重启apache
8. Linux虚拟主机集群测试环境基本搭建
注意点: 首次使用 NAT 模式装好CentOS之后, 使用
ifconfig
查看ip, 虚拟机是没有ip的, 需要手动开启ip服务, 命令是dhclient
, 如果已开启就不能再次开启
1. 第一台虚拟主机的静态ip配置(针对于mac环境)
执行
ifconfig
命令, 如下1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67shixuanji@x:~|⇒ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
nd6 options=201<PERFORMNUD,DAD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
EHC29: flags=0<> mtu 0
EHC26: flags=0<> mtu 0
XHC20: flags=0<> mtu 0
en0: flags=8823<UP,BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500
ether 60:03:08:a1:ac:ee
nd6 options=201<PERFORMNUD,DAD>
media: autoselect (<unknown type>)
status: inactive
p2p0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 2304
ether 02:03:08:a1:ac:ee
media: autoselect
status: inactive
awdl0: flags=8902<BROADCAST,PROMISC,SIMPLEX,MULTICAST> mtu 1484
ether 72:25:b2:c8:2a:03
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: inactive
en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=60<TSO4,TSO6>
ether 32:00:1a:0d:12:00
media: autoselect <full-duplex>
status: inactive
en2: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=60<TSO4,TSO6>
ether 32:00:1a:0d:12:01
media: autoselect <full-duplex>
status: inactive
bridge0: flags=8822<BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500
options=63<RXCSUM,TXCSUM,TSO4,TSO6>
ether 32:00:1a:0d:12:00
Configuration:
id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
ipfilter disabled flags 0x2
member: en1 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 10 priority 0 path cost 0
member: en2 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 11 priority 0 path cost 0
media: <unknown type>
status: inactive
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
inet6 fe80::2ed8:c28:27b2:f5d2%utun0 prefixlen 64 scopeid 0xd
nd6 options=201<PERFORMNUD,DAD>
vmnet1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:50:56:c0:00:01
inet 172.16.63.1 netmask 0xffffff00 broadcast 172.16.63.255
vmnet8: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:50:56:c0:00:08
inet 192.168.170.1 netmask 0xffffff00 broadcast 192.168.170.255
en4: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:0e:c6:cc:ae:d7
inet6 fe80::1c60:7fe2:3947:4ec0%en4 prefixlen 64 secured scopeid 0x11
inet 192.168.63.148 netmask 0xffffff00 broadcast 192.168.63.255
nd6 options=201<PERFORMNUD,DAD>
media: autoselect (100baseTX <full-duplex,flow-control>)
status: active找到最后的
vmnet8
, 其中的inet
就是虚拟主机的网段, 配置虚拟主机的静态ip的时候, 就配置此网段内的. 广播地址broadcast
也是虚拟主机NAT的广播地址, 配置时可以不填1
2
3vmnet8: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:50:56:c0:00:08
inet 192.168.170.1 netmask 0xffffff00 broadcast 192.168.170.255修改虚拟机网卡配置
vi /etc/sysconfig/network-scripts/ifcfg-eth0
, 做如下配置1
2
3
4
5
6
7
8
9
10
11
12DEVICE=eth0
HWADDR=00:0C:29:D6:C7:0E
TYPE=Ethernet
UUID=bebc1b63-4f20-405a-860a-32d0d8211582
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static # ip类型
IPADDR=192.168.170.6 # ip地址, 与 vmnet8 在同一网段
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.170.2 # 网关, 跟 ip在同一网段
DNS1=192.168.170.2 # 与 ip 同一网段
DNS2=8.8.8.8 # google的 dns重启网络服务(这里重启也没啥用,等后面hostname改完了,重启一下)
service network restart
2. 复制原本的虚拟主机
- 复制虚拟主机1到2
按照原虚拟主机的root用户名&密码登录2
3. 修改新机网卡
修改网卡
vi /etc/udev/rules.d/70-persistent-net.rules
, 删除eth0
所在的整个段落, 把下面的eth1
改为eth0
, 保存退出修改网卡配置
vi /etc/sysconfig/network-scripts/ifcfg-eth0
, 如果有UUID, HARDDR
, 删掉,IPADDR
改为与原虚拟主机不同的地址, 但要在同一网段,BOOTPROTO
改为static
4. 修改新机hostname
修改***hostname***, `vi /etc/sysconfig/network`, 把`HOSTNAME`改为要修改的名字
5.到这里配置完了,重启一下
reboot
6. SSH免密登录
原理
注意点:
如果遇到需要添加新机器之类的,最好是先把 .ssh
文件删掉,然后所有的机器一起操作看,全部都重新生成ssh-keygen, 全部重新发送 ssh-copy-id ,这样最简单,不易出错
在mac端,传ssh-copy-id时候,要制定用户名 ssh-copy-id ap@cs1
;类似这样
- 新机生成自己公钥
ssh-keygen
, 注意: 如果原本主机中已经生成, 此处在提示verwrite (y/n)?
的时候要选择y, 才会重新生成覆盖 把新主机公钥发送给其它机器
ssh-copy-id root@xxx(其它主机ip)
, 此命令相当于 下面2条命令的效果1
2cat id_rsa.pub > authorized_keys
scp -r authorized_keys root@192.168.123.202:/root/.ssh/其他主机也把公钥发给新主机, 此时就可以实现主机间的免密登录了.
7. 功能增强(可选)
- 可以在 每台机器中设置host别名,
vi /etc/hosts
, 加上xxx.xxx.xx.xxx cts1/2/3...
, 这样在访问其他主机时, 可以直接用别名替代域名 - 如果是用的
zsh
的shell, 可以在所有主机的<sub>.zshrc
中, 添加alias login1='ssh root@cts1' >> </sub>/.zshrc
, 这样可以直接 用login1
登录到对应的主机.
9. 安装, 使用 zsh & oh-my-zsh &相关插件
主骨架安装&介绍
安装zsh套件
1
yum install zsh -y
安装 oh-my-zsh套件
1
sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
zsh 的一些基本配置操作, 常用插件安装见这里!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22# 查看oh-my-zsh 的主题
ls ~/.oh-my-zsh/themes
------#这里都是 .zshrc中的配置------
# 可以更改为random, 这样会随机显示, 很有乐趣, 直接输入zsh也会切换
vi ~/.zshrc
ZSH_THEME="random"
# 添加plugin, 按照对应方式安装
plugins=(git ... ... )
# 添加alias 到 ~/.zshrc
alias vi='vim'
alias zshconfig='vi ~/.zshrc'
alias vimconfig='vi ~/.vimrc'
-----------------------
# 设置当前用户使用zsh为默认的shell
chsh -s /bin/zsh
# 卸载 oh-my-zsh
uninstall_oh_my_zsh zshzsh 的一些骚气操作
1
2
3
4
5
6
71. 兼容 bash, 这个就不用说了
2. 输入某条命令, 比如 cat, 然后用上下键, 可以翻阅所有执行过的命令
3. 各种补全, 输入任何命令, 按 2下 tab键, 下面会出现所有可能的补全, 可以 tab, 或 上下左右切换.
4. 比如要杀掉进程java, 原来是需要 ps aux | grep java, 查进程的 PID,然后 kill PID; 现在只需要 kill java, 然后按下 tab, java会被替换为 对应的 PID, 点回车, kill !
5. 目录浏览和跳转, 输入 d, 可以列出在这个回话中访问过的目录列表, 再输入列表前的序号, 即可直接跳转.
6. 在当前目录下输入 .. 或 ... , 或者直接输入目录名, 都可以直接跳转, 甚至都不需要使用 cd命令了.
7. 通配符搜索:ls -l */.sh,可以递归显示当前目录下的 shell 文件,文件少时可以代替 find,文件太多就歇菜了.
zsh常用插件安装
安装 zsh-autosuggestions
1 | 方式1: |
安装 autojump
1 | # 下载到本地 |
安装 zsh-syntax-highlighting
1 | # 到 ~/.zshrc 目录, 克隆仓库 |
10.CentOS-7的基本使用
1.更改网络
1> 查看网络
$> ip addr
2> $> vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改为:
\
3> 把网络连接模式改为NAT
拿到 ip addr 查看到的第二条数据的 ip, 用此网段内的 ip 作为 ipaddr 的地址, gateway 也要同网段
4> 最后执行systemctl network restart
5> 测试: ping www.baidu.com
2.修改 hostname
hostnamectl set-hostname cs7_1
可以再查看 vi /etc/hostname
, 会发现, 出现了 cs7_1
3.关闭防火墙
关闭: systemctl stop firewalld
禁止开机启动: systemctl disable firewalld