跳到主要内容

12 篇博文 含有标签「Linux」

查看所有标签

Linux优化体系

· 阅读需 18 分钟

1. Linux系统优化

1.1 基础必备优化

  • 关闭SElinux

  • Firewalld (CentOS7)

  • Iptables (CentOS6)

  • 安全组 (阿里云)

  • 添加普通用户,配置sudo,预防root密码忘记

    tuboshu ALL=(ALL)  NOPASSWD:ALL 或 tuboshu ALL=(ALL) NOPASSWD:/bin/su
  • hosts文件解析当前的主机名

  • 锁定关键文件 chattr lsattr

    • 基于文件系统的权限(系统隐藏权限)
    • 给配置文件 +a 只能追加
    • 给命令 +i 不能修改
  • 系统字符集:

    • 默认都是UTF-8
    • 语言 en_US(推荐)
    • 中文环境 zh_CN.UTF-8
  • 调整用户登录提示信息 /etc/motd

  • 清空 /etc/issue /etc/issue.net

1.2 基础服务优化

  • ssh 优化

    cat /etc/ssh/sshd_config
    UseDNS no # 禁止IP解析为对应的域名
    GSSAPIAuthentication no
    Port 52113 # 自定义端口
    PermitRootLogin no #是否准许root远程登录
    PasswordAuthentication yes #是否开启密码登录
    ListenAddress 10.0.0.7:52113 #ListenAddress 准许用户从哪个网卡连接 还可以同时指定端口
    ListenAddress 172.16.1.7:22
  • yum源:修改系统默认的yum源,增加epel源

  • 时间同步:定时任务+ntpdate/chrony

  • 调整文件描述符

    • 每个进程可以打开的最大文件数量

      # 1. 临时 
      ulimit -n65535

      # 2. 永久 /etc/security/limits.conf #重启生效
      echo '* - nofile 65535 ' >>/etc/security/limits.conf

      # 3. 或者写为两行:
      soft nofile 65535
      hard nofile 65535
    • 故障案例: 如果 ulimit 文件描述符设置过小 系统提示

      too many open files
      -bash: start_pipeline: pgrp pipe: Too many open files
      vim: error while loading shared libraries: libm.so.6: cannot open shared object file: Error 24
  • 修改历史命令环境变量

    命令描述
    TMOUT超时时间
    HISTSIZE控制history记录条数
    HISTFILESIZE文件记录条数
    HISTCONTROL控制history是否记录用过的命令
    PROMPT_COMMAND下1个命令之前会运行环境变量里面的命令,常用语用户审计
    • time out 不进行任何操作 300秒自动退出用户

      export TMOUT=300 
    • HIST history

      export HISTFILE=1000  # history命令最多记录条数
      export HISTFILESIZE=1000 # history 历史记录的文件里面最多记录条数
    • 清空命令历史记录

      history -c
    • 把当前的shell历史命令内存缓冲区的内容写入命令历史文件

      history -w
    • 控制history命令如何记录历史命令

      exprot HISTCONTROL=ignorespace # 只要以空格开头的命令 history不记录

1.3 内核优化

  • 优化文件 /etc/sysctl.conf

  • 参数生效命令

    sysctl -p
  • 内核参数存放文件 /proc/sys

内核参数及含义含义默认
net.ipv4.ip_forward=1是否开启内核转发0
net.ipv4.icmp_echo_ignore_all=1是否准许被ping0
net.ipv4.tcp_tw_recycle=1开启tcp回收功能0
net.ipv4.tcp_tw_reuse=1开启tcp复用(重复利用)0
vm.swapiness=0设置系统是否优先使用物理内存,数值越小越优先使用物理内存30(C7)

2. 服务优化之nginx

2.1 编译安装nginx

  • 正式安装前的准备
# 卸载之前yum安装的nginx

分享Linux系统性能优化的实用技巧和最佳实践,提升服务器运行效率。

Ubuntu 安装常用网络工具

· 阅读需 1 分钟

Centos 安装 bind-utils 可获得 dig

yum install bind-utils -y 

安装 dnsutils 可获得 dig。


sudo apt install dnsutils

安装 netcat 可获得 nc。


sudo apt install netcat

安装 traceroute (由Dmitry Butskoy开发) 或 inetutils-traceroute (由自由软件基金会开发) 可获得 traceroute。


sudo apt install traceroute

# sudo apt install inetutils-traceroute

安装 net-tools 可获得 ifconfig。


sudo apt install net-tools

安装 iputils-ping 可获得 ping。


sudo apt install iputils-ping

安装procps可获得 ps。


sudo apt install procps