• Linux:系统的基本优化


    前言,在拥有一台服务器的时候,首先第一件事就要根据自己的需求进行初期的优化(装好系统了),以下是关于linux系统的基本优化,内容来源与网络,自己整理了以下,忘记来自哪个网址了,

    centos 系统优化
    1、内核参数优化

    [root@wulaoer ~]# cat /etc/sysctl.conf #末尾添加如下参数 
    net.ipv4.tcp_syncookies = 1 #1是开启SYN Cookies,当出现SYN等待队列溢出时,启用Cookies来处,理,可防范少量SYN攻击,默认是0关闭 
    net.ipv4.tcp_tw_reuse = 1 #1是开启重用,允许讲TIME_AIT sockets重新用于新的TCP连接,默认是0关闭 
    net.ipv4.tcp_tw_recycle = 1 #TCP失败重传次数,默认是15,减少次数可释放内核资源 
    net.ipv4.ip_local_port_range = 4096 65000 #应用程序可使用的端口范围 
    net.ipv4.tcp_max_tw_buckets = 5000 #系统同时保持TIME_WAIT套接字的最大数量,如果超出这个数字,TIME_WATI套接字将立刻被清除并打印警告信息,默认180000 
    net.ipv4.tcp_max_syn_backlog = 4096 #进入SYN宝的最大请求队列,默认是1024 
    net.core.netdev_max_backlog = 10240 #允许送到队列的数据包最大设备队列,默认300 
    net.core.somaxconn = 2048 #listen挂起请求的最大数量,默认128 
    net.core.wmem_default = 8388608 #发送缓存区大小的缺省值 
    net.core.rmem_default = 8388608 #接受套接字缓冲区大小的缺省值(以字节为单位) 
    net.core.rmem_max = 16777216 #最大接收缓冲区大小的最大值 
    net.core.wmem_max = 16777216 #发送缓冲区大小的最大值 
    net.ipv4.tcp_synack_retries = 2 #SYN-ACK握手状态重试次数,默认5 
    net.ipv4.tcp_syn_retries = 2 #向外SYN握手重试次数,默认4 
    net.ipv4.tcp_tw_recycle = 1 #开启TCP连接中TIME_WAIT sockets的快速回收,默认是0关闭 
    net.ipv4.tcp_max_orphans = 3276800 #系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上,如果超出这个数字,孤儿连接将立即复位并打印警告信息 
    net.ipv4.tcp_mem = 94500000 915000000 927000000 
    net.ipv4.tcp_mem[0]:低于此值,TCP没有内存压力; 
    net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段; 
    net.ipv4.tcp_mem[2]:高于此值,TCP拒绝分配socket。内存单位是页,可根据物理内存大小进行调整,如果内存足够大的话,可适当往上调。上述内存单位是页,而不是字节。

    2、同步系统时间

    [root@wulaoer ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  #设置Shanghai时区,这两个文件是同一个文件。
    [root@wulaoer ~]# ntpdate cn.pool.ntp.org && hwclock -w  #同步时间并写入blos硬件时间 
    [root@wulaoer ~]# crontab -e #设置任务计划每天零点同步一次 
    0 * * * * /usr/sbin/ntpdate cn.pool.ntp.org ; hwclock -w 

    更多crontab的使用方法参考,猛点这里  

    3、修改history记录

    [root@wulaoer ~]# vi /etc/profile #修改记录100个 
    HISTSIZE=100 
    

    4、去除系统相关信息

    [root@wulaoer ~]# echo "Welecome to Server" > /etc/issue
    [root@wulaoer ~]# echo "Welecome to Server" > /etc/redhat-release
    

    5、调整文件描述符大小

    [root@wulaoer ~]# ulimit -n   #默认是65535 -u最大进程
    65535
    [root@wulaoer ~]# echo "ulimit -SHn 102400" >> /etc/rc.local #设置开机自动生效 
    

    表 1. ulimit 参数说明

    选项 [options] 含义 例子

    -H    设置硬资源限制,一旦设置不能增加。    ulimit – Hs 64;限制硬资源,线程栈大小为 64K。
    -S    设置软资源限制,设置后可以增加,但是不能超过硬资源设置。    ulimit – Sn 32;限制软资源,32 个文件描述符。
    -a    显示当前所有的 limit 信息。    ulimit – a;显示当前所有的 limit 信息。
    -c    最大的 core 文件的大小, 以 blocks 为单位。    ulimit – c unlimited; 对生成的 core 文件的大小不进行限制。
    -d    进程最大的数据段的大小,以 Kbytes 为单位。    ulimit -d unlimited;对进程的数据段大小不进行限制。
    -f    进程可以创建文件的最大值,以 blocks 为单位。    ulimit – f 2048;限制进程可以创建的最大文件大小为 2048 blocks。
    -l    最大可加锁内存大小,以 Kbytes 为单位。    ulimit – l 32;限制最大可加锁内存大小为 32 Kbytes。
    -m    最大内存大小,以 Kbytes 为单位。    ulimit – m unlimited;对最大内存不进行限制。
    -n    可以打开最大文件描述符的数量。    ulimit – n 128;限制最大可以使用 128 个文件描述符。
    -p    管道缓冲区的大小,以 Kbytes 为单位。    ulimit – p 512;限制管道缓冲区的大小为 512 Kbytes。
    -s    线程栈大小,以 Kbytes 为单位。    ulimit – s 512;限制线程栈的大小为 512 Kbytes。
    -t    最大的 CPU 占用时间,以秒为单位。    ulimit – t unlimited;对最大的 CPU 占用时间不进行限制。
    -u    用户最大可用的进程数。    ulimit – u 64;限制用户最多可以使用 64 个进程。
    -v    进程最大可用的虚拟内存,以 Kbytes 为单位。    ulimit – v 200000;限制最大可用的虚拟内存为 200000 Kbytes。

    6、关闭重启ctl-alt-delete组合键

    [root@wulaoer ~]# vi /etc/init/control-alt-delete.conf
    #exec /sbin/shutdown -r now "Control-Alt-Deletepressed" #注释掉 

    7、删除不必要的系统用户

    [root@wulaoer ~]# userdel 用户名
    [root@wulaoer ~]# groupdel 组名
    [root@wulaoer ~]# usermod -G 
    [root@wulaoer ~]# vi /etc/group #找到GROUP1那一行,删除 A 或者用命令 gpasswd -d A GROUP
    [root@wulaoer ~]# vi /etc/shadow
    [root@wulaoer ~]# vi /etc/passwd

    8、关闭不必要开机自启动服务

    chkconfig --list | grep 3:on#查看开机自启动服务
    chkconfig 服务名称 off #关闭自动的服务

    9、禁用root远程登录

    [root@wulaoer ~]# vi /etc/ssh/sshd_config 
    PermitRootLoginno 
    PermitEmptyPasswords no #禁止空密码登录 
    UseDNSno #关闭DNS查询 

    10、添加普通用户并进行sudo授权管理

    [root@wulaoer ~]# useradd user 
    [root@wulaoer ~]# echo "123456" | passwd --stdin user #设置密码 
    [root@wulaoer ~]# vi /etc/sudoers #或visudo打开,添加user用户所有权限 
    root ALL=(ALL) ALL 
    user ALL=(ALL) ALL 
    

    11、清空防火墙并设置规则

    [root@wulaoer ~]# iptables -F #清楚防火墙规则 
    [root@wulaoer ~]# iptables -L #查看防火墙规则 
    [root@wulaoer ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT #允许通过的端口
    [root@wulaoer ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT 
    [root@wulaoer ~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT 
    [root@wulaoer ~]# iptables -A INPUT -p udp --dport 53 -j ACCEPT 
    [root@wulaoer ~]# iptables -A INPUT -p udp --dport 123 -j ACCEPT 
    [root@wulaoer ~]# iptables -A INPUT -p icmp -j ACCEPT 
    [root@wulaoer ~]# iptables -P INPUT DROP 
    [root@wulaoer ~]# /etc/init.d/iptables save #保存设置
    

    12、关闭SELinux

    [root@wulaoer ~]# vi /etc/selinux/config 
    SELINUX=disabled 
    [root@wulaoer ~]# setenforce #临时生效 
    [root@wulaoer ~]# getenforce #查看selinux状态 
    

    13、主机名设置

    [root@wulaoer ~]# vi /etc/sysconfig/network 
    HOSTNAME=wulaoer 
    [root@wulaoer ~]# hostname wulaoer  #临时生效 
    

    14、禁止无用服务

    #! /bin/bash
    service acpid off
    service atd stop
    service auditd stop
    service avahi-daemon stop
    service avahi-dnsconfd stop
    service bluetooth stop
    service conman stop
    service cpuspeed stop
    service cups stop
    service dnsmasq stop
    service dund stop
    service firstboot stop
    service hidd stop
    service httpd stop
    service ibmasm stop
    service ip6tables stop
    service irda stop
    service kdump stop
    service lm_sensors stop
    service mcstrans stop
    service messagebus stop
    service microcode_ctl stop
    service netconsole stop
    service netfs stop
    service netplugd stop
    service nfs stop
    service nfslock stop
    service nscd stop
    service ntpd stop
    service oddjobd stop
    service pand stop
    service pcscd stop
    service portmap stop
    service psacct stop
    service rdisc stop
    service restorecond stop
    service rpcgssd stop
    service rpcidmapd stop
    service rpcsvcgssd stop
    service saslauthd stop
    service sendmail stop
    service setroubleshoot stop
    service smb stop
    service vncserver stop
    service winbind stop
    service wpa_supplicant stop
    service xfs stop
    service ypbind stop
    service yum-updatesd stop
    chkconfig acpid off
    chkconfig atd off
    chkconfig auditd off
    chkconfig avahi-daemon off
    chkconfig avahi-dnsconfd off
    chkconfig bluetooth off
    chkconfig conman off
    chkconfig cpuspeed off
    chkconfig cups off
    chkconfig dnsmasq off
    chkconfig dund off
    chkconfig firstboot off
    chkconfig hidd off
    chkconfig httpd off
    chkconfig ibmasm off
    chkconfig ip6tables off
    chkconfig irda off
    chkconfig kdump off
    chkconfig lm_sensors off
    chkconfig mcstrans off
    chkconfig messagebus off
    chkconfig microcode_ctl off
    chkconfig netconsole off
    chkconfig netfs off
    chkconfig netplugd off
    chkconfig nfs off
    chkconfig nfslock off
    chkconfig nscd off
    chkconfig ntpd off
    chkconfig oddjobd off
    chkconfig pand off
    chkconfig pcscd off
    chkconfig portmap off
    chkconfig psacct off
    chkconfig rdisc off
    chkconfig restorecond off
    chkconfig rpcgssd off
    chkconfig rpcidmapd off
    chkconfig rpcsvcgssd off
    chkconfig saslauthd off
    chkconfig sendmail off
    chkconfig setroubleshoot off
    chkconfig smb off
    chkconfig vncserver off
    chkconfig winbind off
    chkconfig wpa_supplicant off
    chkconfig xfs off
    chkconfig ypbind off
    chkconfig yum-updatesd off



  • 相关阅读:
    java Object 类 与 Wrapper包装类
    java == 和equals()
    CPPU OJ | 开发日志
    第十八次CSP认证游记 | 2019.12.15
    CTF入门 |“男神”背后的隐写术
    Luogu2422 | 良好的感觉 (单调栈)
    Luogu4316 | 绿豆蛙的归宿 (期望DP)
    简单电路中的逻辑学(一)
    UVA12124 | Assemble (二分)
    这里是一些常用的工具网站
  • 原文地址:https://www.cnblogs.com/wulaoer/p/5146118.html
Copyright © 2020-2023  润新知