一、常用操作
1,查看系统版本号
- [root@localhost~]#cat/etc/redhat-release
- CentOSLinuxrelease7.4.1708(Core)
2.查看主机名
- [root@localhost~]#hostname
- localhost.localdomain
3.显示系统名、节点名称、操作系统的发行版号、操作系统版本、运行系统的机器 ID 号
- [root@localhost~]#uname-a
- Linuxlocalhost.localdomain3.10.0-693.el7.x86_64#1SMPTueAug2221:09:27UTC2017x86_64x86_64x86_64GNU/Linux
4.查看系统位数
- [root@localhost~]#getconfLONG_BIT
- 64
5.查看系统版本
- [root@localhost~]#cat/proc/version
- Linuxversion3.10.0-693.el7.x86_64(builder@kbuilder.dev.centos.org)(gccversion4.8.520150623(RedHat4.8.5-16)(GCC))#1SMPTueAug2221:09:27UTC2017
- [root@localhost~]#
6.查看系统内存使用情况
- [root@localhost~]#free-m
- totalusedfreesharedbuff/cacheavailable
- Mem:9761195646291676
- Swap:204702047
7.查看cpu信息
8.查看内存信息
- [root@localhost~]#cat/proc/meminfo
9.查看Linux系统负载信息
- [root@LinServ-1~]#uptime-V#显示uptime命令版本信息
- procpsversion3.2.7
- [root@LinServ-1~]#uptime
- 15:31:30up127days,3:00,1user,loadaverage:0.00,0.00,0.00
如果每个cpu内核的当前活动进程数不大于3的话,那么系统的性能是良好的。如果每个cpu内核的任务数大于5,那么这台机器的性能有严重问题。
双cpu服务器一般标准以5-10 低于5系统不繁忙,5-10相对繁忙
二、修改IP地址、网关、主机名、DNS等
以root权限登陆centos7并编辑vi /etc/sysconfig/network-scripts/ifcfg-ens33这个文件,如下:
- TYPE=Ethernet
- BOOTPROTO=static#设置静态Ip
- DEFROUTE=yes
- IPV4_FAILURE_FATAL=no
- IPV6INIT=yes
- IPV6_AUTOCONF=yes
- IPV6_DEFROUTE=yes
- IPV6_FAILURE_FATAL=no
- NAME=eno16777736
- UUID=4f40dedc-031b-4b72-ad4d-ef4721947439
- DEVICE=eno16777736
- ONBOOT=yes#这里如果为no的话就改为yes,表示网卡设备自动启动
- PEERDNS=yes
- PEERROUTES=yes
- IPV6_PEERDNS=yes
- IPV6_PEERROUTES=yes
- IPV6_PRIVACY=no
- GATEWAY=192.168.10.2#这里的网关地址就是第二步获取到的那个网关地址
- IPADDR=192.168.10.150#配置ip,在第二步已经设置ip处于192.168.10.xxx这个范围,我就随便设为150了,只要不和网关相同均可
- NETMASK=255.255.255.0#子网掩码
- DNS1=202.96.128.86#dns服务器1,填写你所在的网络可用的dns服务器地址即可
- DNS2=223.5.5.5#dns服器2
:wq 保存并退出
重启网卡服务,执行 /etc/init.d/network restart
2.修改主机名
- [root@localhost~]#vi/etc/hostname
- mrxiong.test.com
- ~
- ~
- ~
- ~
- :wq
- [root@localhost~]#reboot
3.修改全局DNS
- [root@localhost~]#vi/etc/resolv.conf
- #GeneratedbyNetworkManager
- searchtest.com
- nameserver8.8.8.8
- ~
- ~
- ~
- :wq
- [root@localhost~]#reboot
三、关闭Selinux,清空iptables
1.关闭selinux
或者:
#查看更改后的结果
- grepSELINUX=disabled/etc/selinux/config
★临时关闭(不用重启机器)
setenforce 0 #设置SELinux 成为permissive模式
#setenforce 1 设置SELinux 成为enforcing模式
★ getenforce #查看selinux当前状态
2.清空iptables和禁止firewalld运行
iptables –F #清理防火墙规则
iptables –L #查看防火墙规则
禁用/停止自带的firewalld服务
#停止firewalld服务
- systemctlstopfirewalld.service
#禁用firewalld服务
- systemctldisablefirewalld.service
四、配置yum更新
centos7更新163源方法:
访问地址为:http://mirrors.163.com/.help/centos.html
操作如下:
- #安装wget工具
- [root@localhost~]#yuminstallwget-y
- #备份现有的源
- [root@localhost~]#cp/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup
- #下载163源
- [root@localhost~]#cd/etc/yum.repos.d/
- [root@localhost~]#wget
- [root@localhost~]#mv-fCentOS7-Base-163.repoCentOS-Base.repo
- #清空及刷新YUM的缓存状态:
- [root@localhost~]#yumcleanall
- [root@localhost~]#yummakecache
更新CentOS7和安装几个必要的软件
- [root@localhost~]#rpm--import/etc/pki/rpm-gpg/RPM-GPG-KEY*#导入签名KEY到RPM
- [root@localhost~]#yumupgrade-y#更新系统内核到最新
- [root@localhost~]#yum--exclude=kernel*update#更新系统软件而不更新内核
- [root@localhost~]#yuminstalllrzszntpdatesysstat-y#安装几个必要的软件了
五、定时自动更新服务器时间
首先我们立即手动更新所有预先安装的软件
- yum-yupdate
- yum-yinstallcronieyum-cron
设置crond.service服务自启动
- systemctlenablecrond.service
★ 使用ntpdate命令进行更新:
首先使用ntpdate测试时间服务器可否使用
- ntpdatetime.windows.com
★设置linux自动每5分钟同步一次时间服务器进行时间同步
- [root@localhost~]#echo'###timesyncbymrxiongat2018-03-09###'>>/var/spool/cron/root
- [root@localhost~]#echo'*/5****/usr/sbin/ntpdatetime.windows.com>/dev/null2>&1'>>/var/spool/cron/root
扩展:在机器数量少时,以上定时任务同步时间就可以了。如果机器数量大时,可以在网内另外部署一台时间同步服务器NTP Server
查看定时任务,查看是否己设置成功
- [root@localhost~]#crontab-l
六、定时自动清理/var/spool/clientmquene/目录垃圾文件,防止inodes节点被占满
★ 手动清理方法:
- find/var/spool/clientmqueue/-typef|xargsrm-f
- [root@localhost~]#mkdir/server/scripts-p
- [root@localhost~]#vi/server/scripts/spool_clean.sh
- #!/bin/sh
- find/var/spool/clientmqueue/-typef|xargsrm-f
然后将其加入到crontab定时任务中
- echo'*/30****/bin/sh/server/scripts/spool_clean.sh>/dev/null2>&1'>>/var/spool/cron/root
#检查一下定时任务
- crontab-l
注意:
centos5.8,默认没有clientmqueue
centos6.4和centos7的要先安装sendmail才能有/var/spool/clientmqueue/ 这个目录
[root@localhost ~]# yum install sendmail -y
七、更改默认的SSH服务端口及禁止root用户远程连接
- [root@localhost~]#cp/etc/ssh/sshd_config/etc/ssh/sshd_config.bak
- [root@localhost~]#vim/etc/ssh/sshd_config
- Port2000#ssh连接默认的端口是22,改为2000
- PermitRootLoginno#root用户***都知道,禁止它远程登录
- PermitEmptyPasswordsno#禁止空密码登录
- UseDNSno#不使用DNS
- [root@localhost~]#systemctlrestartsshd.service#重启sshd服务
- [root@localhost~]#netstat-lnt#查看一下端口
- [root@localhost~]#yuminstalllsof-y
- [root@localhost~]#lsof-i:2000#己知端口查服务
- [root@localhost~]#netstat-an|grep-iest#查看连接状态
八、锁定关键系统文件chattr +i /etc/passwd
chattr +i /etc/inittab
chattr +i /etc/group
chattr +i /etc/shadow
chattr -i /etc/passwd 对/etc/passwd解锁
可以防止***对系统的修改和***
九、调整文件描述符大小
★ #查看文件描述符大小
- [root@localhost~]#ulimit-n
- 1024
配置文件描述符为65535
- [root@localhost~]#echo'*-nofile65535'>>/etc/security/limits.conf
配置完成后,重新登录即可查看
★ 也可以把ulimit -SHn 65535命令加入到/etc/rc.local,然后每次重启生效
- [root@dingjian~]cat>>/etc/rc.local<<EOF
- #openfiles
- ulimit-HSn65535
- #stacksize
- ulimit-s65535
- EOF
十、更改字符集、支持中文
centos7的与centos6有少许不同:
1.安装中文包:
- [root@localhost~]#yumgroupinstall"fonts"
查看系统是否有安装中文语言包(列出所有可用的公共语言环境的名称,包含有zh_CN)
- [root@localhost~]#locale-a|grep"zh_CN"
- zh_CN
- zh_CN.gb1803
- 0zh_CN.gb2312
- zh_CN.gbk
- zh_CN.utf8
若发现以上几项,说明系统已安装中文语言包,无需再安装,
- [root@localhost~]#cat/etc/locale.conf
- LANG="en_US.UTF-8"
- [root@localhost~]#echo$LANG
- en_US.UTF-8
十一、清空/etc/issue.去除系统及内核版本登录前的屏幕显示
>/etc/issue #清空登陆显示的信息
echo "welcome!">/etc/issue 或 vi /etc/issue #修改系统登陆时显示的信息
十二、内核优化
本优化适合apache,Nginx,squid多种等web应用,特殊的业务也可能需要略作调整。
★centos7内核优化:
- [root@localhost~]#vi/etc/sysctl.conf#把以下的参数加到最后面
- #CTCDN系统优化参数
- #关闭ipv6
- net.ipv6.conf.all.disable_ipv6=1
- net.ipv6.conf.default.disable_ipv6=1
- #避免放大***
- net.ipv4.icmp_echo_ignore_broadcasts=1
- #开启恶意icmp错误消息保护
- net.ipv4.icmp_ignore_bogus_error_responses=1
- #关闭路由转发
- net.ipv4.ip_forward=0
- net.ipv4.conf.all.send_redirects=0
- net.ipv4.conf.default.send_redirects=0
- #开启反向路径过滤
- net.ipv4.conf.all.rp_filter=1
- net.ipv4.conf.default.rp_filter=1
- #处理无源路由的包
- net.ipv4.conf.all.accept_source_route=0
- net.ipv4.conf.default.accept_source_route=0
- #关闭sysrq功能
- kernel.sysrq=0
- #core文件名中添加pid作为扩展名
- kernel.core_uses_pid=1
- #开启SYN洪水***保护
- net.ipv4.tcp_syncookies=1
- #修改消息队列长度
- kernel.msgmnb=65536
- kernel.msgmax=65536
- #设置最大内存共享段大小bytes
- kernel.shmmax=68719476736
- kernel.shmall=4294967296
- #timewait的数量,默认180000
- net.ipv4.tcp_max_tw_buckets=6000
- net.ipv4.tcp_sack=1
- net.ipv4.tcp_window_scaling=1
- net.ipv4.tcp_rmem=4096873804194304
- net.ipv4.tcp_wmem=4096163844194304
- net.core.wmem_default=8388608
- net.core.rmem_default=8388608
- net.core.rmem_max=16777216
- net.core.wmem_max=16777216
- #每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
- net.core.netdev_max_backlog=262144
- #限制仅仅是为了防止简单的DoS***
- net.ipv4.tcp_max_orphans=3276800
- #未收到客户端确认信息的连接请求的最大值
- net.ipv4.tcp_max_syn_backlog=262144
- net.ipv4.tcp_timestamps=0
- #内核放弃建立连接之前发送SYNACK包的数量
- net.ipv4.tcp_synack_retries=1
- #内核放弃建立连接之前发送SYN包的数量
- net.ipv4.tcp_syn_retries=1
- #启用timewait快速回收
- net.ipv4.tcp_tw_recycle=1
- #开启重用。允许将TIME-WAITsockets重新用于新的TCP连接
- net.ipv4.tcp_tw_reuse=1
- net.ipv4.tcp_mem=94500000915000000927000000
- net.ipv4.tcp_fin_timeout=1
- #当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时
- net.ipv4.tcp_keepalive_time=30
- #允许系统打开的端口范围
- net.ipv4.ip_local_port_range=102465000
- #修改防火墙表大小,默认65536
- #net.netfilter.nf_conntrack_max=655350
- #net.netfilter.nf_conntrack_tcp_timeout_established=1200
- #确保无人能修改路由表
- net.ipv4.conf.all.accept_redirects=0
- net.ipv4.conf.default.accept_redirects=0
- net.ipv4.conf.all.secure_redirects=0
- net.ipv4.conf.d
重新加载内核参数
- [root@localhost~]#sysctl-p