2020-12-15-centos7系统简单配置

以下所有操作都是在root管理员权限下进行的

1、配置网关
vi /etc/sysconfig/network

# network内容如下:
NETWORKING=yes # 系统是否使用网络
HOSTNAME=主机名 # 主机名设置(需与/etc/hostname中设置对应)
GATEWAY=192.168.xxx.xxx # 设置本机连接的网关的ip地址
2、配置网卡
# 1.编辑ifcfg-ens33文件
cd /etc/sysconfig/network-scripts
vi ./ifcfg-ens33
## ifcfg-ens33 对内容修改
ONBOOT=yes # 更改no为yes

# 2.重启network
systemctl restart network

# 3.测试网卡(两种)
# ①
ip addr
# ②
ping www.baidu.com
3、修改yum仓库镜像源(清华大学镜像)

官网: https://mirrors.cnnic.cn/

https://mirrors.tuna.tsinghua.edu.cn/help/centos/

# 1.备份原有镜像
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

# 2.编辑CentOS-Base.repo
vi CentOS-Base.repo
### ①注释 mirrorlist*
### ②baseurl* 取消注释#号  
### ③将baseurl后的 http://mirror.centos.org|baseurl 替换为 https://mirrors.tuna.tsinghua.edu.cn 
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
         -e 's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn|g' \
         -i.bak \
         /etc/yum.repos.d/CentOS-*.repo
# 保存退出

# 3.更新软件包缓存
yum clean all
yum makecache

遇到错误

[Errno 14] curl#6 - "Could not resolve host: mirrors.tuna.tsinghua.edu.cn; Unknown error"

以上操作都是官方提供不会有错,只有是我们自己服务器配置存在问题,不能解析host,说明可能是dns或者网关的配置出错(结果是网关写成了本地主机ip,更改后正常)

4、设置静态IP
# 1.编辑ifcfg-ens33文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33

# 2.修改内容 ip地址和网关根据自己的网段来
## 修改
BOOTPROTO=static # dhcp 修改为 static
IPADDR=192.168.111.11  #设置当前IP地址 
GATEWAY=192.168.111.2   #网关地址  设置为虚拟机的网关IP
NETMASK=255.255.255.0
DNS1=114.114.114.114
DNS2=8.8.8.8
## 保存退出

# 3.重启network服务
systemctl restart network

# 4.测试
ip a
## 查看ens的ip地址是否更改为 IPADDR设置对应的内容
5、常用工具安装
# 汇总
yum -y install lrzsz gcc gcc-c++ make autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel  pcre pcre-devel zlib zlib-devel openssl openssl-devel wget bash-completion lsof unzip zip lsof net-tools ntp ntpdate curl vim tree nmap dos2unix openssh-server nc tcpdump htop iftop iotop sysstat nethogs telnet psmisc patch bc expect rsync
# 1、lrzsz 虚拟机上传下载组件
## 上传:rz+文件名
## 下载:sz+文件名
yum -y install lrzsz

# 2、gcc 编译器
yum -y install gcc-c++

# 3、pcre  perl库(正则表达式)
yum -y install pcre pcre-devel

# 4、zlib库(压缩和解压缩)
yum -y install zlib zlib-devel ruby

# 5、openssl 
## OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议
yum -y install openssl openssl-devel patch

# 6、wget下载工具
yum -y install wget

# 7、systemctl自动补全服务名称
## 使用service 服务名前几个字母+tab 可以补全服务名
## https://wenku.baidu.com/view/e3cd76c70508763231121286.html
yum install -y bash-completion

# 8、64位兼容32位运行程序
yum install -y zlib.i686 libstdc++.i686

# 9、lsof (list open files)
## 列出当前系统打开文件的工具
yum -y install lsof 

# 10、zip 和 unzip
yum -y install zip unzip

# 11、vim 编辑器
yum -y install vim

6、切换中文(解决中文乱码)
# 1.查看是否安装了中文包
locale -a | grep zh_CN
## 没有输出,就执行以下命令
### yum install kde-l10n-Chinese

# 2.查看当前系统语言
echo $LANG
locale

# 3.修改配置文件
vim /etc/locale.conf
## en_US ==> zh_CN
LANG="zh_CN.UTF-8"
## 保存退出
source /etc/locale.conf

# 4.测试
date
### 可能vmware一直是中文方块(不知道为啥)
### 但是 xshell连接 中文正常显示

7、vim简单配置
# 编辑文件(初始.vimrc不存在)
vim ~/.vimrc 
# 文件内容可选
set encoding=utf-8 "文件编码
set number  "  "显示行号
set tabstop=4 " tab宽度为4
set softtabstop=4 " 设置一次可以删除4个空格
set expandtab " tab转换为空格
set nowrap " 不自动换行
set showmatch " 显示括号配对情况
syntax on " 开启语法高亮
# 缩进选一个即可
set autoindent " 自动对齐,enter后缩进与上一行一致
set smartindent " 智能对齐,支持自动、c
set cindent " 使用c语言对齐,识别c、java语言
set mouse=a " 鼠标支持
8、防火墙配置(含centos6)
# centos7 == filewall
## 开启开机自启
systemctl enable firewalld
## 启动 停止 重启 状态
systemctl start firewalld
systemctl stop firewalld
systemctl restart firewalld
systemctl status firewalld
## 关闭开机自启
systemctl disable firewolld

## 查看状态
firewall-cmd --state
## 查看规则
firewall-cmd --list-all
## 查询端口
firewall-cmd --query-port=80/tcp
## 开发端口
firewall-cmd --premanent --add-port=80/tcp
## 关闭端口
firewall-cmd --premanent --remove-port=80/tcp
### 修改操作需重启防火墙,才生效
firewall-cmd --reload



# centos6 == iptables
## 查看防火墙状态
service iptables status
## 停止防火墙
service iptables stop
## 启动防火墙
service iptables start
## 重启防火墙
service iptables restart
## 永久关闭防火墙
chkconfig iptables off
## 永久关闭后重启
chkconfig iptables on	
## 开启端口
vim /etc/sysconfig/iptables
### 添加80端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
#### 同样需要重启防火墙
9、hosts配置
vim /etc/hosts

ip地址 主机名
10、hostname修改
centos7
# 1.设置主机名
hostnamectl set-hostname 你的主机名
## hostname 查看主机名
# 2.修改/etc/hosts,添加
127.0.0.1 你的主机名
### 重启生效 reboot
centos6
# 1.查看主机名
hostname
# 2.编辑network
vim /etc/sysconfig/network
## 内容编辑 /etc/hostname 也要修改
HOSTNAME=你的主机名

# 3.设置当前主机名
hostname 你的主机名

# 4.修改/etc/hosts 添加
127.0.0.1 你的主机名
11、开机自启

https://blog.csdn.net/weixin_40539892/article/details/89175530

chkconfig

# ①
# 启动脚本复制到 /etc/init.d/ 并更名 xxx 
# 或者 ln -s /etc/init.d/xxx 启动脚本路径

# ②
# 添加服务到chkconfig列表
chkconfig --add xxx
# 开启开机自启
chkconfig xxx on 
# systemctl enable xxx
# 查看
chkconfig --list xxx
# 关闭
chkconfig xxx off
# systemctl disable xxx
12、SSH免密登录
# 0.准备至少两台机器,这里演示,安排如下
## 三台机器:主机名 ip
	192.168.111.11 mq1
	192.168.111.12 mq2 
	192.168.111.13 mq3
	并将三个ip映射,写入到三台机器的/etc/hosts文件中	

# 1.密钥对生成(三台机器)
## 1.1密钥对生成
	ssh-keygen -t rsa
## 1.2进入~/.ssh目录
	cd ~/.ssh
## 1.3查看密钥生成情况
	ll 
	-rw-------. 1 root root 1679 12月 19 03:18 id_rsa (私钥:自己保存)
	-rw-r--r--. 1 root root  390 12月 19 03:18 id_rsa.pub (公钥:可以暴露)
	-rw-r--r--. 1 root root  360 12月 19 00:25 known_hosts 
# 2.将公钥上传到其他主机上,下面以主机mq1为例
	ssh-copy-id -i ~/.ssh/id_rsa.pub root@mq2
	ssh-copy-id -i ~/.ssh/id_rsa.pub root@mq3
## 执行上述命令后,会在mq2、mq3的~/.ssh下生成 authorized_keys文件
### 该文件存放mq1的公钥,mq1可以免密登录到mq2、mq3,命令如下
	ssh mq2 和 ssh mq3
### 但是只是单向,如需双向,还需在mq2执行
	ssh-copy-id -i ~/.ssh/id_rsa.pub root@mq1
    ssh-copy-id -i ~/.ssh/id_rsa.pub root@mq3
### 在mq3执行
	ssh-copy-id -i ~/.ssh/id_rsa.pub root@mq1
	ssh-copy-id -i ~/.ssh/id_rsa.pub root@mq2
# 3.ssh免密登录完成
	主机mq1 使用 ssh mq2 或 ssh mq3 可免密登录到 mq2/mq3
	主机mq2 使用 ssh mq1 或 ssh mq3 可免密登录到 mq1/mq3
	主机mq3 使用 ssh mq1 或 ssh mq2 可免密登录到 mq1/mq2

known_hosts文件作用:

ssh会把你每个访问过计算机的公钥(public key)都记录在known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack(域名劫持)之类的攻击**。**

known_hosts文件格式:

ip或域名  主机名 host-key

域名劫持:互联网攻击的一种方式,通过攻击域名解析服务器(DNS),或伪造域名解析服务器(DNS)的方法,把目标网站域名解析到错误的IP地址从而实现用户无法访问目标网站的目的或者蓄意或恶意要求用户访问指定IP地址(网站)的目的。


authorized_keys文件作用:

该文件中的内容都是公钥,且这些公钥都是被信任的,允许免密访问本机

权限要求(如果按上述步骤进行,无需关心):

.ssh目录700

.ssh/authorized_keys文件600

13、时间同步

https://www.cnblogs.com/zhubiao/p/9768209.html

timedatectl使用
# 1.查看当前系统时间、时区
	timedatectl 或 timedatectl status
# 2.列出全世界所有的时区(或部分)
	timedatectl list-timezones | grep Asia
# 3.设置时区
## 3.1.方法一:
	timedatectl set-timezone Asia/Shanghai
## 3.2.方法二: 直接修改符号链接
	rm /etc/localtime
	ln -s ../usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# 4.设置时间
## 4.1.方法一: 使用timedatectl,NTP enabled: yes时,使用了NTP服务器自动同步时间,若坚持要手动修改时间,先timedatectl set-ntp no。
### 4.1.1.设置日期时间
	timedatectl set-time '2020-12-12 12:12:12'
### 4.1.2.设置日期
	timedatectl set-time '2020-11-11'
### 4.1.3.设置时间
	timedatectl set-time '11:11:11'	
## 4.2.方法二: 使用date
	date -s '2020-02-02 20:20:20'

# 5.同步系统时间到硬件时间
## 方法一: 不建议硬件时间随系统时间变化
### 设置硬件时间随系统时间变化
	# timedatectl set-local-rtc 1
### 设置硬件时间不随系统时间变化
	# timedatectl set-local-rtc 0	
## 方法二: 
	# hwclock --systohc
	
# 6.是否启用同步时间  ================================
## 6.1 启用|停用自动同步时间
	timedatectl set-ntp yes|no
### 上面的命令其实是启用、停用时间服务器,若安装了chrony服务,则等同于对该服务启停,若只安装了ntp,则是对ntp服务启停。
### 对chrony服务启停: systemctl start|stop chronyd
### 对ntp服务启停: systemctl start|stop ntpd

# 7.查看硬件时间
	hwclock
	
# 8.系统时间与网络时间同步
	ntpdate cn.pool.ntp.org
自动同步时间:服务ntp、chrony,命令ntpdate

ntp

# 0.安装
	yum install -y ntp
# 1.配置ntp同步阿里云时间服务器
	vim /etc/ntp.conf
	server ntp1.aliyun.com
    server ntp2.aliyun.com
    server ntp3.aliyun.com
    #server 0.centos.pool.ntp.org iburst
# 2.启动ntp服务
	systemctl start ntpd

chrony

# 0.安装
	yum install -y chrony
# 1.配置
	vim /etc/chrony.conf
	server ntp1.alyun.com
    server ntp2.alyun.com
    server ntp3.alyun.com
    #server 0.centos.pool.ntp.org iburst
# 2.启动
	systemctl start chronyd

配置计划任务,使用ntpdate同步时间

# 启动并开机启动计划任务cron
	systemctl start crond
	systemctl enable crond

# 配置计划任务,每5分钟同步一次
	crontab -e
	*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com
服务管理

文本来自:https://blog.csdn.net/echizao1839/article/details/86622535

linux服务管理分为 servicesystemctl

1.service命令

service命令其实是去/etc/init.d目录下,去执行相关程序

# service命令启动redis脚本
service redis start
# 直接启动redis脚本
/etc/init.d/redis start
# 开机自启动
update-rc.d redis defaults

其中脚本需要我们自己编写(后面说)

2.systemctl命令

systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。
systemd对应的进程管理命令是systemctl

1)systemctl命令兼容了service
即systemctl也会去/etc/init.d目录下,查看,执行相关程序

Linux Systemctl是一个系统管理守护进程、工具和库的集合,用于取代System V、service和chkconfig命令,初始进程主要负责控制systemd系统和服务管理器。通过Systemctl –help可以看到该命令主要分为:查询或发送控制命令给systemd服务,管理单元服务的命令,服务文件的相关命令,任务、环境、快照相关命令,systemd服务的配置重载,系统开机关机相关的命令。 
 
# 1. 列出所有可用单元 
systemctl list-unit-files
# 2. 列出所有运行中单元 
systemctl list-units
# 3. 列出所有失败单元 
systemctl –failed
# 4. 检查某个单元(如 crond.service)是否启用 
systemctl is-enabledcrond.service 
# 5. 列出所有服务 
systemctl list-unit-files –type=service
# 6. Linux中如何启动、重启、停止、重载服务以及检查服务(如 httpd.service)状态 
systemctl start|restart|stop|reload|status httpd.service 

注意:当我们使用systemctl的start,restart,stop和reload命令时,终端不会输出任何内容,只有status命令可以打印输出。
 
# 7. 如何激活服务并在开机时启用或禁用服务(即系统启动时自动启动mysql.service服务) 
systemctl is-active|enable|disable mysql.service
# 8. 如何屏蔽(让它不能启动)或显示服务(如ntpdate.service) 
systemctl mask ntpdate.service
## ln -s /dev/null /etc/systemd/system/ntpdate.service
## systemctl unmask ntpdate.service
## rm /etc/systemd/system/ntpdate.service
 
# 9. 使用systemctl命令杀死服务 
systemctl kill crond 
# 10. 列出所有系统挂载点 
systemctl list-unit-files –type=mount
# 11. 挂载、卸载、重新挂载、重载系统挂载点并检查系统中挂载点状态 
systemctl start tmp.mount
systemctl stop tmp.mount
systemctl restart tmp.mount
systemctl reload tmp.mount
systemctl status tmp.mount
 
# 12. 在启动时激活、启用或禁用挂载点(系统启动时自动挂载) 
systemctl is-active tmp.mount
systemctl enable tmp.mount
systemctl disable tmp.mount
 
# 13. 在Linux中屏蔽(让它不能启用)或可见挂载点 
systemctl mask tmp.mount
ln -s ‘/dev/null”/etc/systemd/system/tmp.mount’
systemctl unmask tmp.mount
rm ‘/etc/systemd/system/tmp.mount’
 
# 14. 列出所有可用系统套接口 
systemctl list-unit-files –type=socket
# 15. 检查某个服务的所有配置细节 
systemctl show mysql 
# 16. 获取某个服务(httpd)的依赖性列表 
systemctl list-dependencies httpd.service
# 17. 启动救援模式 
systemctl rescue
# 18. 进入紧急模式 
systemctl emergency
# 19. 列出当前使用的运行等级 
systemctl get-default
# 20. 启动运行等级5,即图形模式 
systemctl isolate runlevel5.target
## 或
systemctl isolate graphical.target
# 21. 启动运行等级3,即多用户模式(命令行) 
systemctl isolate runlevel3.target
## 或
systemctl isolate multiuser.target
# 22. 设置多用户模式或图形模式为默认运行等级 
systemctl set-default runlevel3.target
systemctl set-default runlevel5.target
# 23. 重启、停止、挂起、休眠系统或使系统进入混合睡眠 
systemctl reboot
systemctl halt
systemctl suspend
systemctl hibernate
systemctl hybrid-sleep

# 对于不知运行等级为何物的人,说明如下。
 
Runlevel 0 : 关闭系统
 
Runlevel 1 : 救援,维护模式
 
Runlevel 3 : 多用户,无图形系统
 
Runlevel 4 : 多用户,无图形系统
 
Runlevel 5 : 多用户,图形化系统
 
Runlevel 6 : 关闭并重启机器

2)systemctl命令管理systemd的资源Unit
systemd的Unit放在目录/usr/lib/systemd/system(Centos)或/etc/systemd/system(Ubuntu)
img

主要有四种类型文件.mount,.service,.target,.wants

.mount文件
img

.mount文件定义了一个挂载点,[Mount]节点里配置了What,Where,Type三个数据项
等同于以下命令:

mount -t hugetlbfs /dev/hugepages hugetlbfs

.service文件
img

.service文件定义了一个服务,分为[Unit],[Service],[Install]三个小节

[Unit]
Description:描述,
After:在network.target,auditd.service启动后才启动
ConditionPathExists: 执行条件

[Service]
EnvironmentFile:变量所在文件
ExecStart: 执行启动脚本
Restart: fail时重启

[Install]
Alias:服务别名
WangtedBy: 多用户模式下需要的

.target文件
img

.target定义了一些基础的组件,供.service文件调用

.wants文件
img

.wants文件定义了要执行的文件集合,每次执行,.wants文件夹里面的文件都会执行

基本命令
cd abc -> 进入子目录
cd / -> 进入根目录
ll -> 显示当前路径文件(详细)
ls -> 同上(简略)
cp -> 拷贝
mkdir -> 创建目录
rm -> 删除文件或文件夹
mv -> 移动文件或改名
clear -> 清屏
pwd -> 显示当前路径
more -> 显示文本文档
uname -a -> 查看当前核心版本号
vim -> 文本编辑器
fdisk -> 硬盘分区
mkfs -> 格式化
chmod -> 改变文件权限
free -> 查看剩余内存
grep -> 按条件高亮显示文本
man -> 显示命令的help文档
df -h -> 查看磁盘剩余空间
du -sh dir -> 查看文件夹名"dir"占用的空间
find . -name "filename.txt" -> 搜索当前目录下filename.txt文件,包括各级子目录


tail -n 20 filename (显示filename最后20行)
chmod -R 777 dir (将dir整体变为777)
rm -rf dir (整体删除dir)
cp -r -a ./* /dir (将当前路径下所有文件包括子目录全部拷贝到dir)
tar -xvzf filename (解压缩gz文件)
gzip -d filename (解压缩gz文件) 
unzip -x filename (解压缩zip文件) [压缩当前目录下全部内容:zip -r filename.zip ./*] 
rpm -ivh (安装一个包)
rpm -Uvh (升级一个包)
rpm -e (卸载一个包)
注意:
慎用yum update

1、yum -y update 升级所有包,改变软件设置和系抄统设置,系统版本内核都升级。

2、yum -y upgrade升级所有包,不改袭变软件设置和系统设置,系统版本升级,内核不改变。

根目录结构说明
- bin 普通用户使用的命令
- sbin 管理员使用的命令
- dev 设备文件
- proc  虚拟文件系统,反映内核进程信息实时状态
- usr 系统文件,类似C:Windows
  [注]: RHEL7 /bin /sbin /lib /lib64 都在此目录
- boot 启动文件
- etc 配置文件
- lib 库文件
- lib64 库文件
- tmp 临时文件
- var 变化文件

注:设备挂载目录
- media 移动设备挂载点
- mnt 手工挂载点
- misc  automount进程挂载
- net  automount进程挂载
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值