文章目录

    • 一、更改yum源
    • 二、常用工具安装
    • 三、关闭Selinux
    • 四、关闭防火墙---清空iptables
      • 【iptables防火墙脚本】
    • 五、设置中文字符
    • 六、系统的时间校准
      • 【操作系统时间定时更新脚本】
    • 七、ssh服务优化
    • 八、调整swap交换分区
    • 九、yum源基础软件的使用
      • 【本地仓库创建yum源】
    • 十、优化ulimit
    • 十一、显示优化
    • 十二、精简开机自启动服务
    • 十三、锁定关键文件系统(文件加锁与去锁)
  • 【系统优化脚本】

一、更改yum源

# 更改base源为阿里云的源
[root@hzl ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo# 更改添加epel源
[root@hzl ~]# yum install -y epel-release

二、常用工具安装

[root@hzl ~]# yum install -y  \tree telnet lrzsz wget ntpdate vim  nc namp dos2unix  tcpdump  expect sshpass elinks unzip \lsof net-tools iproute  bridge-utils \bind-utils nscd \gcc gcc-c++ make cmake libaio zlib-devel pcre-devel  \psmisclsof sysstat yum-utils #注:
lrzsz       #是上传下载的软件
sysstat     #是用来检测系统性能及效率的工具
net-tools   #没有ifconfig命令时候需要安装工具

三、关闭Selinux

[root@hzl ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
[root@hzl ~]# setenforce 0
[root@hzl ~]# getenforce 0
Permissive

四、关闭防火墙—清空iptables

1)#关闭防火墙
[root@hzl ~]#systemctl stop firewalld.service          # 临时关闭irewalld防火墙
[root@hzl ~]#systemctl disable firewalld.service       # 加入不让其开机自启动
[root@hzl ~]#systemctl mask firewalld.service          # 配置不让其启动和设置开机自启动2) #清空iptables
# iptables –F                #清理防火墙规则
# iptables –L                #查看防火墙规则
#/etc/init.d/iptables save   #保存防火墙配置信息[root@hzl hzl]#  iptables -F
[root@hzl hzl]#  iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination3)iptables防火墙配置
1》#安装iptables防火墙
[root@hzl ~]#yum install iptables-services
.......
...
#更改iptables配置文件后执行
[root@hzl ~]# service iptables save2》#编辑iptables防火墙配置
[root@hzl ~]# vi /etc/sysconfig/iptables      #编辑防火墙配置文件
一个完整的配置文件:(在你运行完save中间插入下面的规则)
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
:wq! #保存退出3》#启动
[root@hzl ~]#systemctl start iptables.service  #开启
[root@hzl ~]#systemctl enable iptables.service #设置防火墙开机启动

【iptables防火墙脚本】

先必须安装iptables
【iptables详解】

[root@hzl ~]# cat iptables.sh
#!/bin/bashIPT=`which iptables`
$IPT -F
$IPT -X
$IPT -P INPUT DROP
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -N syn-flood##本地回环 内网允许任何
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -m state --state NEW -s 10.0.0.0/8 -j ACCEPT# ssh 端口开放 任何IP
$IPT -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT# 根据需求填写相应的端口
$IPT -A INPUT -p tcp -m multiport --dports 80,8087,89 -j ACCEPT# zabbix监控地址
$IPT -A INPUT -p tcp -s zabbix.ip -m state --state NEW -m tcp --dport 10050 -j ACCEPT# ICMP 规则控制
$IPT -A INPUT -p icmp -m limit --limit 100/sec --limit-burst 100 -j ACCEPT
$IPT -A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT# DOS防护
$IPT -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j syn-flood
$IPT -A INPUT -j REJECT --reject-with icmp-host-prohibited
$IPT -A syn-flood -p tcp -m limit --limit 3/sec --limit-burst 6 -j RETURN
$IPT -A syn-flood -j REJECT --reject-with icmp-port-unreachable

五、设置中文字符

[root@hzl ~]# echo "LANG=\"zh_CN.UTF-8\"" >/etc/locale.conf

六、系统的时间校准

## 创建/etc/sysconfig/clock文件
[root@hzl ~]# cat >>/etc/sysconfig/clock <<EOF
ZONE="Asia/Shanghai"
UTC=false
ARC=false
EOF# 强制让其与/etc/localtime文件进行软链接
[root@hzl ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai    /etc/localtime# 同步阿里云时间
[root@hzl ~]#ntpdate ntp1.aliyun.com# 设置硬件时间和系统时间一致并校准
[root@hzl ~]# /sbin/hwclock --systohc
[root@hzl ~]# hwclock --show
1>#输出当前时间
date +"%Y-%m-%d %H:%M:%S"       # 2018-06-08 14:05:08输出指定时间#参数:
-d<字符串>:     #显示字符串所指的日期与时间,字符串前后必须加上双引号;
date -d "1 day ago" +"%Y-%m-%d"   2018-06-07    #ago是昨天
date -d "1 day" +"%Y-%m-%d"       2018-06-09    #不加参数是明天#实列:
[root@hzl ~]# date -d "1 day ago" +"%Y-%m-%d"    #表示昨天
2021-07-30
[root@hzl ~]# date -d "1 day" +"%Y-%m-%d"        #表示明天
2021-08-012>使用数字表示前后多少天的加减
date +%Y%m%d #显示前天年月日
date -d "+1 day" +%F   #显示前一天的日期  ( %F与%Y-%m-%d相同)
date -d "-1 day" +%F   #显示后一天的日期
date -d "-1 month" +F  #显示上一月的日期
date -d "+1 month" +F  #显示下一月的日期
date -d "-1 year" +F   #显示前一年的日期
date -d "+1 year" +F   #显示下一年的日期3>#设置时间
-s<字符串>:根据字符串来设置日期与时间,字符串前后必须加上双引号;
date -s 01:01:01              #设置具体时间,不会对日期做更改
date -s "01:01:01 2012-05-23" #这样可以设置全部时间
date -s "01:01:01 20120523"   #这样可以设置全部时间
date -s "2012-05-23 01:01:01" #这样可以设置全部时间
date -s "20120523 01:01:01"   #这样可以设置全部时间

【操作系统时间定时更新脚本】

[root@hzl ~]# cat /root/update_os_time.sh#!/bin/bash# Define variables
RETVAL=0
Ntp_server=(
ntp.aliyun.com
ntp1.aliyun.com
ntp2.aliyun.com
ntp3.aliyun.com
ntp4.aliyun.com
ntp5.aliyun.com
ntp6.aliyun.com
ntp7.aliyun.com
)# Determine the user to execute
echo "执行的用户"
if [ $UID -ne $RETVAL ];thenecho "Must be root to run scripts"exit 1
fi# Load locall functions library
echo "函数调用"
[ -f /etc/init.d/functions ] && source /etc/init.d/functions# Install ntpdate command
echo "安装ntpdate"
yum install ntpdate -y >/dev/null 2>&1# for loop update os time
echo "更新操作系统时间"
for((i=0;i<${#Ntp_server[*]};i++))
do/usr/sbin/ntpdate ${Ntp_server[i]} >/dev/null 2>&1 &RETVAL=$?if [ $RETVAL -eq 0 ];thenaction "Update os time" /bin/truebreakelseaction "Update os time" /bin/falsecontinuefi
doneecho "校对完毕"# Scripts return values
exit $RTVAL
#加入定时任务
[root@hzl ~]# crontab -l
# Crond update os time. USER:hzl  TIME:2021-02-02
*/05 * * * * /bin/sh /root/update_os_time.sh >/dev/null 2>&1   #每隔5分钟更新一次系统时间

七、ssh服务优化

# 更改firewalld防火墙的ssh服务的端口为921
[root@hzl ~]# sed -i 's#22#921#g' /usr/lib/firewalld/services/ssh.xml# ssh服务的优化如下
[root@hzl ~]# cat >>/etc/ssh/sshd_config<<EOF
Port 921
PermitRootLogin no
PermitEmptyPasswords no
UseDNS no                      #关闭DNS PTR反向查询
GSSAPIAuthentication no        #关闭GSSAPI身份验证
EOF# 重启sshd服务
[root@hzl ~]# systemctl restart sshd.service

八、调整swap交换分区

# Centos swap文件说明
[root@hzl ~]# cat /proc/sys/vm/swappiness
30   #不同的操作系统这个值是不一样的哈,oracle linux是60,我这里是CentOS linux;
#30的意思是:当服务器的物理内存被用到100%-30%=70%时,就让其使用swap交换页面(分区)了
#如果设置为0,则表示不使用swap交换页面(分区)# swap优化使用
[root@hzl ~]# chattr -i /etc/sysctl.conf
[root@hzl ~]# echo "vm.swappiness=10" >>/etc/sysctl.conf
[root@hzl ~]# chattr +i /etc/sysctl.conf
[root@hzl ~]# sysctl -p# 当物理内存使用到90%时,才使用swap交换分区
# 当服务器的物理内存用到80%的时候就要进行报警了

九、yum源基础软件的使用

检查命令(如:检查ifconfig属于哪个安装包)

[root@hzl opt]# yum provides ifconfig
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* epel: mirrors.bfsu.edu.cn* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
docker-ce-stable/7/x86_64/filelists_db                                                                                                                                  |  26 kB  00:00:00
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
源    :@base
匹配来源:
文件名    :/usr/sbin/ifconfig#安装yum-config-manager工具
[root@hzl ~]# yum -y install yum-utils#显示仓库信息
[root@hzl ~]# yum-config-manager

【本地仓库创建yum源】

1)#安装yum-config-manager工具
[root@hzl /]# yum -y install yum-utils2)#建立本地仓库
[root@hzl /]# mkdir hzl
[root@hzl /]# cd /hzl/3)#创建本地仓库
[root@hzl hzl]# yum-config-manager --add-repo="file:///hzl"
已加载插件:fastestmirror
adding repo from: file:///hzl[hzl]
name=added from: file:///hzl
baseurl=file:///hzl
enabled=1[root@hzl hzl]# 												

@Linux Centos系统优化与内核参数优化详解相关推荐

  1. Linux(centos)系统各个目录的作用详解

    转自:Linux(centos)系统各个目录的作用详解 现在公司的服务器使用CentOS系统,在网上找到了这篇介绍linux各个目录的文章,觉得十分不错,所以拿来存个档. 整理之后如下: 文件系统的类 ...

  2. 阿里云linux centos 一键部署web环境--图文详解

    阿里云linux centos 一键部署web环境--图文详解 标签: linux阿里云一键部署 2017-04-15 12:28 386人阅读 评论(0) 收藏 举报  分类: linux(11)  ...

  3. Linux(debian)的网络内核参数优化来提高服务器并发处理能力

    提高服务器性能有很多方法,比如划分图片服务器,主从数据库服务器,和网站服务器在服务器.但是硬件资源额定有限的情况下,最大的压榨服务器的性能,提高服务器的并发处理能力,是很多运维技术人员思考的问题. 要 ...

  4. Linux mem 2.2 内核地址空间布局详解

    文章目录 1. 简介 2. 内核页表初始化 2.0 decompress阶段 2.1 `head_64.S`和`head64.c` 2.2 start_kernel() 2.2.1 物理内存(e820 ...

  5. MySQL-配置文件my.cnf参数优化详解

    [client] ######################################################################### #                 ...

  6. linux Centos 7 安装hadoop3.1.3 详解

    一.准备工作 Linux环境:Centos 7 远程登陆:xShell 6 安装jdk并配置好环境变量 下载 hadoop-3.1.3.tar.gz 二.安装hadoop 1. 把下载好的hadoop ...

  7. MySQL 5.6参数优化详解

    序号 参数 默认值 物理内存 说明 16G 32G 64G 128G 256G [mysqld] 1 thread_concurrency 8 16         #推荐设置为服务器 CPU核数的2 ...

  8. iostat linux,centos安装iostat命令的方法详解

    在centos系统中,可以使用yum命令安装iostat. 开始,想当然地运行命令: 复制代码 代码示例: #yum install iostat 出现如下图所示的提示: 经搜索后,知道使用yum安装 ...

  9. linux getenv函数 get,linux之getenv putenv setenv和unsetenv详解

    1.getenv函数 头文件:#include 函数原型: char * getenv(const char* name); 函数说明:getenv()用来取得参数name环境变量的内容. 函数参数: ...

最新文章

  1. Mp4v2封装H264+AAC为MP4
  2. codeforces 337D Book of Evil(dp)
  3. SQL Server查询中特殊字符的处理方法
  4. 虚拟化部署的四大安全问题
  5. java 异步 阻塞io_非阻塞IO与异步IO以及Java实现
  6. UnityShader - 模拟动态光照特效
  7. 机器学习:更多的数据总是优于更好的算法吗?
  8. 贫穷是我们变得牛逼的动力
  9. HBase集成(准备篇)
  10. MySQL学习笔记2:数据库的基本操作
  11. 10款滑动门代码_jquery 滑动门_js滑动门_tab滑动门_jquery 选项卡_js选项卡_tab选项卡效果(一)
  12. 微信用户扫码登录和登录退出的业务逻辑实现(java版)
  13. Android进阶之路(快速进阶第二天)RxAndroid使用
  14. 河南科技大学Oracle作业,机械制图作业集第四章答案河南科技大学.ppt
  15. memcached介绍与作用和它的工作原理
  16. js获取本月第一天和当前时间
  17. VSCode这13款插件也太好用了
  18. python羊车门问题的正确解答_羊车门问题python模拟
  19. 你是外包,麻烦不要随便偷吃公司的零食
  20. 学会这些句子,你还愁英语单词吗

热门文章

  1. 共识算法论文——Paxos Made Simple
  2. HarmonyOS智能座舱体验是怎样炼成的?立即查看
  3. 广告推荐CTR点击率预测实践项目!
  4. iframe嵌套网页去掉嵌套网页的滚动条
  5. JAVA16进制转byte
  6. php对一个变量向上取整,PHP向上取整函数 ceil
  7. 人脑与计算机类比文献,公务员考试行测:言语理解与表达习题集(二)(2)
  8. 中国智能机市场增速放缓 苹果三星小米均受影响
  9. 十大公认音质好的骨传导耳机,分享几款音质表现好的骨传导耳机
  10. 基于oracle的优化 pdf,基于成本的oracle优化法则