博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
浅谈linux优化
阅读量:5780 次
发布时间:2019-06-18

本文共 2787 字,大约阅读时间需要 9 分钟。

根据前人的一些经验,汇总下linux的一些基础优化。

先说说安装linux系统时,采用最小化原则,即安装最小化,选择安装包时最小化,不用的不选择,后续有需要时再安装。
系统安装完后的一些优化点。
1.不用root管理,以普通用户的名义通过sudo授权管理
平时在管理系统时使用普通用户,即权限最小化,通过sudo对普通用户授权来管理系统
2.更改默认的远程连接sshd服务端口,禁止root登陆,甚至要修改只监听内网地址
我们知道sshd服务默认端口为22,在实际工作中可以修改默认端口号
[root@lnmp01 tmp]# ll /etc/ssh/sshd_config -------》配置文件
-rw-------. 1 root root 3879 Sep 1 01:40 /etc/ssh/sshd_config
1.更改默认端口22为隐蔽端口
2.取消use dns 我们都是通过IP连接的,无需进行域名解析
#UseDNS yes
3.禁止root远程登陆
#PermitRootLogin yes PermitRootLogin no
4.监听地址改为内网IP地址
#ListenAddress 0.0.0.0
也可以通过防火墙设置内网可以连接
例如 iptables -I INPUT -p tcp --dport 端口号 -s 192.168.0.0/24 -j ACCEPT
3.定时自动更新服务器时间,使其和互联网时间同步
4.配置yum更新源,从国内更新源下载安装软件包
yum源默认是从国外网站下载,采用国内yum源,在安装更新时速度更快。
如国内的阿里云就不错。
cd /etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo
5.关闭selinux及iptables(在工作场景中,如果有外部IP,一般要打开)
6.调整文件描述符,进程及文件的打开都会消耗文件描述符
文件描述符
1.表示形式为整数数字,一般使用0-65535范围
2.进程在使用时会占用文件描述符
3.对于内核而言,所有打开的文件都是通过文件描述符标识的
查看默认文件描述符
ulimit -n
1024

实际工作中需要调整。

ulimit -SHn 65535 临时生效,可以放在开机自启动中

也可以修改配置文件

echo '* - nofile 65535' >>/etc/security/limits.conf
7.定时清理邮件目录垃圾文件,防止inodes节点被占满
8.精简开机自启动服务(只保留crond、sshd、network、rsyslog、sysstat),后续需要自启的再进行设置
9.linux内核参数优化
这儿所列参数是老男孩老师生产中常用的参数:
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_orphans = 16484
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.route.gc_timeout = 100
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
##############iptables#######
net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
10.更改字符集,使其支持中文,但建议还是用英文
[root@lnmp01 ~]# cat /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
改为中文则是 LANG=“zh_CN.UTF-8”
sed -i 's#LANG="en_US.UTF-8"#LANG="zh_CN.UTF-8"#g' /etc/sysconfig/i18n
source /etc/sysconfig/i18n ---------使更改生效
11.锁定系统关键文件,如密码文件
chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
将chattr重命名然后转移到其他地方
12.清空/etc/issue、/etc/issue.net去除登陆前系统版本内核提示信息
去掉终端登陆前显示操作系统信息(影藏版本信息)
即清空/etc/issue及/etc/issue.net文件内容

/etc/issue

/etc/issue.net
可以在/etc/motd中设置一些系统信息,如
RHEL 5.8 (Final)
Kernel \r on an \m
13.清空多余的系统账号
14.为grub菜单加密码-----在安装系统时可以加上
15.优化终端超时以及历史记录变量
历史记录默认1000个,可以调整为较小的值
export TMOUT=300 --连接的超时时间
export HISTSIZE=10
export HISTFILESIZE=5 历史记录文件的命令数量
将这些环境变量加到/etc/profile中
source /etc/profile
16.升级漏洞软件
如yum install openssl openssh bash -y

转载于:https://blog.51cto.com/tuwei/2067922

你可能感兴趣的文章
在代码里面滚动当前屏幕(原创)
查看>>
使用Smarty的相关注意事项及访问变量的几种方式
查看>>
C#遍历进程获取主窗口句柄
查看>>
SQL Server 日期格式转换示例大全
查看>>
二十二、oracle pl/sql分类二 函数
查看>>
SSH SecureCRT介绍以及相关使用配置
查看>>
shell 下执行mysql 命令
查看>>
ubuntu gedit乱码问题
查看>>
HBITMAP to IplImage(转)
查看>>
Description of syntax for IF, CASE, WITH and WHEN
查看>>
array_append_distinct, array_erase函数
查看>>
演示输出 ASCII 表
查看>>
uml定义的使用的关系
查看>>
SNMP协议具体解释
查看>>
PHP常用正则表达式汇总
查看>>
django1.8forms读书笔记
查看>>
linux系统日常管理
查看>>
存储过程系列之存储过程sql查询存储过程的使用
查看>>
实例讲解-类设计分析(学生类)
查看>>
默认情况下,不使用of子句表示在select所有的数据表中加锁(转)
查看>>