CentOS7.4.1708查看系统相关信息及系统的初步优化

一、常用操作

1,查看系统版本号

[[email protected] ~]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core)

2.查看主机名

[[email protected] ~]# hostname
localhost.localdomain

3.显示系统名、节点名称、操作系统的发行版号、操作系统版本、运行系统的机器 ID 号

[[email protected] ~]# 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.查看系统位数

[[email protected] ~]# getconf LONG_BIT
64

5.查看系统版本

[[email protected] ~]# 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
[[email protected] ~]#

6.查看系统内存使用情况

[[email protected] ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            976         119         564           6         291         676
Swap:          2047           0        2047

7.查看CPU信息

[[email protected] ~]# cat /proc/cpuinfo
[[email protected] ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c      1  Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz

8.查看内存信息

[[email protected] ~]#  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.修改主机名

[[email protected]~]# vi /etc/hostname 
mrxiong.test.com
~                                                                                                                                                            
~                                                                                                                                                            
~                                                                                                                                                            
~                                                                                                                                                            
                                                                                                                                                          
:wq
[[email protected] ~]# reboot

3.修改全局DNS

[[email protected]~]# vi /etc/resolv.conf 
#Generated by NetworkManager
search test.com
nameserver 8.8.8.8                                                                                                                                                           
~                                                                                                                                                            
~                                                                                                                                                            
~                                                                                                                                                            
                                                                                                                                                          
:wq
[[email protected] ~]# reboot

三、关闭Selinux,清空iptables

1.关闭selinux

★修改配置文件需要重启机器:

修改/etc/selinux/config 文件

[[email protected]~]#cp /etc/selinux/config /etc/selinux/config.bak  #备份需要修改的文件
[[email protected]~]#vim /etc/selinux/config
   将SELINUX=enforcing改为SELINUX=disabled
  :wq  #保存并退出
[[email protected]~]#reboot

或者:

[[email protected]~]#cp /etc/selinux/config /etc/selinux/config.bak  #备份需要修改的文件
[[email protected]~]#sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config 
[[email protected]~]#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工具
[[email protected] ~]# yum install wget -y   
#备份现有的源
[[email protected]~]#cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup   
#下载163源
[[email protected]~]#cd /etc/yum.repos.d/
[[email protected]~]#wget   
[[email protected]~]#mv -f CentOS7-Base-163.repo CentOS-Base.repo
#清空及刷新YUM的缓存状态:
[[email protected]~]#yum clean all   
[[email protected]~]#yum makecache

更新CentOS7和安装几个必要的软件

[[email protected]~]#rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*       #导入签名KEY到RPM
[[email protected]lhost~]#yum  upgrade -y                                 #更新系统内核到最新
[[email protected]~]#yum --exclude=kernel* update               #更新系统软件而不更新内核
[[email protected]~]#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分钟同步一次时间服务器进行时间同步

[[email protected]~]#echo '###time sync by mrxiong at 2018-03-09###' >>/var/spool/cron/root
[[email protected]~]#echo '*/5****/usr/sbin/ntpdate time.windows.com>/dev/null 2>&1'>>/var/spool/cron/root

扩展:在机器数量少时,以上定时任务同步时间就可以了。如果机器数量大时,可以在网内另外部署一台时间同步服务器NTP Server

查看定时任务,查看是否己设置成功

 [[email protected]~]#crontab -l

六、定时自动清理/var/spool/clientmquene/目录垃圾文件,防止inodes节点被占满

★ 手动清理方法:

find /var/spool/clientmqueue/ -type f |xargs rm -f

★ 使用shell脚本+定时任务自动清理方法:

[[email protected] ~]# mkdir /server/scripts -p
[[email protected] ~]# 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/ 这个目录

[[email protected] ~]# yum install sendmail -y

七、更改默认的SSH服务端口及禁止root用户远程连接

[[email protected] ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
[[email protected] ~]# vim /etc/ssh/sshd_config
Port 2000          #ssh连接默认的端口是22,改为2000
PermitRootLogin no    #root用户黑客都知道,禁止它远程登录
PermitEmptyPasswords no        #禁止空密码登录
UseDNS no              #不使用DNS
[[email protected] ~]#systemctl restart sshd.service    #重启sshd服务
[[email protected] ~]# netstat -lnt            #查看一下端口
[[email protected] ~]# yum install lsof -y
[[email protected] ~]# lsof -i:2000           #己知端口查服务
[[email protected] ~]# 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解锁

可以防止黑客对系统的修改和攻击

九、调整文件描述符大小

★   #查看文件描述符大小

[[email protected] ~]# ulimit -n     
1024

配置文件描述符为65535

[[email protected] ~]# echo '* - nofile 65535'>>/etc/security/limits.conf

配置完成后,重新登录即可查看

★ 也可以把ulimit -SHn 65535命令加入到/etc/rc.local,然后每次重启生效

[[email protected] ~]cat >>/etc/rc.local<<EOF
#open files
ulimit -HSn 65535
#stack size
ulimit -s 65535
EOF

十、更改字符集、支持中文

centos7的与centos6有少许不同:

1.安装中文包:

[[email protected] ~]#yum groupinstall "fonts"

查看系统是否有安装中文语言包 (列出所有可用的公共语言环境的名称,包含有zh_CN)

[[email protected] ~]#locale -a |grep "zh_CN"
zh_CN
zh_CN.gb1803
0zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8

若发现以上几项,说明系统已安装中文语言包,无需再安装,

[[email protected] ~]# cat /etc/locale.conf 
LANG="en_US.UTF-8"
[[email protected] ~]# echo $LANG
en_US.UTF-8

十一、清空/etc/issue.去除系统及内核版本登录前的屏幕显示

>/etc/issue           #清空登陆显示的信息

echo "welcome!">/etc/issue    或    vi /etc/issue          #修改系统登陆时显示的信息

十二、内核优化

本优化适合apache,nginx,squid多种等web应用,特殊的业务也可能需要略作调整。

★centos7内核优化:

[[email protected] ~]# 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

重新加载内核参数

[[email protected] ~]#sysctl -p

原文地址:http://blog.51cto.com/mrxiong2017/2084661

时间: 2024-08-24 14:13:45

CentOS7.4.1708查看系统相关信息及系统的初步优化的相关文章

Linux系统查看服务器相关信息

查看系统内核 查看磁盘信息 查看CPU的信息 查看内存相关信息

MySQL查看数据库相关信息

使用MySQL时,需要了解当前数据库的情况,例如当前的数据库大小.字符集.用户等等.下面总结了一些查看数据库相关信息的命令 1:查看显示所有数据库 mysql> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | INVOICE            | | mysql              | | performance_s

Mysql查看连接数相关信息

MySQL查看连接数相关信息在 数据库:INFORMATION_SCHEMA 表:PROCESSLIST 表结构如下: mysql> desc PROCESSLIST; +---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | I

Linux下使用fstatfs/statfs查询系统相关信息

Linux下使用fstatfs/statfs查询系统相关信息 1.   功能 #include < sys/statfs.h > int statfs(const char *path, struct statfs *buf); int fstatfs(int fd, struct statfs *buf); 查询文件系统相关的信息. 2.   參数 path: 须要查询信息的文件系统的文件路径名. fd: 须要查询信息的文件系统的文件描写叙述符. buf:下面结构体的指针变量,用于储存文件系

获取Java系统相关信息

1 package com.test; 2 3 import java.util.Properties; 4 import java.util.Map.Entry; 5 6 import org.junit.Test; 7 8 public class SystemTest { 9 10 /** 11 * 获取Java系统相关信息 12 * @throws Exception 13 */ 14 @Test 15 public void testSys() throws Exception { 1

Linux sysinfo获取系统相关信息

Linux中,可以用sysinfo来获取系统相关信息. #include <stdio.h> #include <stdlib.h> #include <errno.h> #include <linux/unistd.h> /* for _syscallX macros/related stuff */ #include <linux/kernel.h> /* for struct sysinfo */ //_syscall1(int, sysi

使用C语言获取linux系统相关信息

最近在写shell的时候,涉及到了获取环境变量参数和本地计算机相关信息,包括计算机设备名,用户名的信息,在这里简单总结一下.获取环境变量各项参数,可以直接使用getenv函数.man中关于getenv函数的声明如下: #include <stdlib.h> char *getenv(const char *name); 函数中,参数name 为环境变量的名称, 如果该变量存在则会返回指向该内容的指针. 环境变量的格式为name=value.执行成功则返回指向该内容的指针, 找不到符合的环境变量

FreeBSD查看系统相关信息

1.查看CPU型号: sysctl -a |grep hw.model 2.查看CPU核心数 sysctl -a | grep kern.smp.cpus 3.查看内存大小 sysctal -a |grep hw.physmem 4.查看虚拟内存大小 sysctl -a |grep vm.swap_total  或 swapinfo 5.查看当前系统内的磁盘数量 sysctl -a |grep disks 6.查看详细的硬件信息 pciconf -lv 注:当然/var/run/dmesg.bo

Java中获取系统相关信息——sigar

一.sigar简介 sigar中文名是系统信息收集和报表工具,是一个开源的工具,提供了跨平台的系统信息收集的API,可以和绝大多数操作系统和大多数版本打交道,可以收集的信息包括: 1.操作系统的信息,包括:dataModel.cpuEndian.name.version.arch.machine.description.patchLevel.vendor.vendorVersion.vendorName.vendorCodeName 2.CPU信息,包括:基本信息(vendor.model.mh