CentOS7.4.1708查看系統相關信息及系統的初步優化
一、常用操作
1,查看系統版本號
[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)
2.查看主機名
[root@localhost ~]# hostname localhost.localdomain
3.顯示系統名、節點名稱、操作系統的發行版號、操作系統版本、運行系統的機器 ID 號
[root@localhost ~]# uname -a Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
4.查看系統位數
[root@localhost ~]# getconf LONG_BIT 64
5.查看系統版本
[root@localhost ~]# cat /proc/version Linux version 3.10.0-693.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Aug 22 21:09:27 UTC 2017 [root@localhost ~]#
6.查看系統內存使用情況
[root@localhost ~]# free -m total used free shared buff/cache available Mem: 976 119 564 6 291 676 Swap: 2047 0 2047
7.查看CPU信息
[root@localhost ~]# cat /proc/cpuinfo [root@localhost ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 1 Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
8.查看內存信息
[root@localhost ~]# cat /proc/meminfo
二、修改IP地址、網關、主機名、DNS等
1.修改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 #Generated by NetworkManager search test.com nameserver 8.8.8.8 ~ ~ ~ :wq [root@localhost ~]# reboot
三、關閉Selinux,清空iptables
1.關閉selinux
★修改配置文件需要重啟機器:
修改/etc/selinux/config 文件
[root@localhost~]#cp /etc/selinux/config /etc/selinux/config.bak #備份需要修改的文件 [root@localhost~]#vim /etc/selinux/config 將SELINUX=enforcing改為SELINUX=disabled :wq #保存並退出 [root@localhost~]#reboot
或者:
[root@localhost~]#cp /etc/selinux/config /etc/selinux/config.bak #備份需要修改的文件 [root@localhost~]#sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config [root@localhost~]#reboot
#查看更改後的結果
grep SELINUX=disabled /etc/selinux/config
★臨時關閉(不用重啟機器)
setenforce 0 #設置SELinux 成為permissive模式
#setenforce 1 設置SELinux 成為enforcing模式
★ getenforce #查看selinux當前狀態
2.清空iptables和禁止firewalld運行
iptables –F #清理防火墻規則
iptables –L #查看防火墻規則
禁用/停止自帶的firewalld服務
#停止firewalld服務
systemctl stop firewalld.service
#禁用firewalld服務
systemctl disable firewalld.service
四、配置yum更新
centos7更新163源方法:
訪問地址為:http://mirrors.163.com/.help/centos.html
操作如下:
#安裝wget工具 [root@localhost ~]# yum install wget -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 -f CentOS7-Base-163.repo CentOS-Base.repo #清空及刷新YUM的緩存狀態: [root@localhost~]#yum clean all [root@localhost~]#yum makecache
更新CentOS7和安裝幾個必要的軟件
[root@localhost~]#rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY* #導入簽名KEY到RPM [root@localhost~]#yum upgrade -y #更新系統內核到最新 [root@localhost~]#yum --exclude=kernel* update #更新系統軟件而不更新內核 [root@localhost~]#yum install lrzsz ntpdate sysstat -y #安裝幾個必要的軟件了
五、定時自動更新服務器時間
首先我們立即手動更新所有預先安裝的軟件
yum -y update yum -y install cronie yum-cron
設置crond.service服務自啟動
systemctl enable crond.service
★ 使用ntpdate命令進行更新:
首先使用ntpdate測試時間服務器可否使用
ntpdate time.windows.com
★設置linux自動每5分鐘同步一次時間服務器進行時間同步
[root@localhost~]#echo '###time sync by mrxiong at 2018-03-09###' >>/var/spool/cron/root [root@localhost~]#echo '*/5****/usr/sbin/ntpdate time.windows.com>/dev/null 2>&1'>>/var/spool/cron/root
擴展:在機器數量少時,以上定時任務同步時間就可以了。如果機器數量大時,可以在網內另外部署一臺時間同步服務器NTP Server
查看定時任務,查看是否己設置成功
[root@localhost~]#crontab -l
六、定時自動清理/var/spool/clientmquene/目錄垃圾文件,防止inodes節點被占滿
★ 手動清理方法:
find /var/spool/clientmqueue/ -type f |xargs rm -f
★ 使用shell腳本+定時任務自動清理方法:
[root@localhost ~]# mkdir /server/scripts -p [root@localhost ~]# vi /server/scripts/spool_clean.sh #!/bin/sh find /var/spool/clientmqueue/ -type f |xargs rm -f
然後將其加入到crontab定時任務中
echo '*/30 * * * * /bin/sh /server/scripts/spool_clean.sh >/dev/null 2>&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 Port 2000 #ssh連接默認的端口是22,改為2000 PermitRootLogin no #root用戶黑客都知道,禁止它遠程登錄 PermitEmptyPasswords no #禁止空密碼登錄 UseDNS no #不使用DNS [root@localhost ~]#systemctl restart sshd.service #重啟sshd服務 [root@localhost ~]# netstat -lnt #查看一下端口 [root@localhost ~]# yum install lsof -y [root@localhost ~]# lsof -i:2000 #己知端口查服務 [root@localhost ~]# netstat -an|grep -i est #查看連接狀態
八、鎖定關鍵系統文件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 '* - nofile 65535'>>/etc/security/limits.conf
配置完成後,重新登錄即可查看
★ 也可以把ulimit -SHn 65535命令加入到/etc/rc.local,然後每次重啟生效
[root@dingjian ~]cat >>/etc/rc.local<<EOF #open files ulimit -HSn 65535 #stack size ulimit -s 65535 EOF
十、更改字符集、支持中文
centos7的與centos6有少許不同:
1.安裝中文包:
[root@localhost ~]#yum groupinstall "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 = 4096 87380 4194304 net.ipv4.tcp_wmem = 4096 16384 4194304 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-WAIT sockets 重新用於新的TCP 連接 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_fin_timeout = 1 #當keepalive 起用的時候,TCP 發送keepalive 消息的頻度。缺省是2 小時 net.ipv4.tcp_keepalive_time = 30 #允許系統打開的端口範圍 net.ipv4.ip_local_port_range = 1024 65000 #修改防火墻表大小,默認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
CentOS7.4.1708查看系統相關信息及系統的初步優化