日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

CentOS(5.8/6.4)linux生产环境若干优化实战------就爱运维

發(fā)布時間:2025/3/20 linux 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CentOS(5.8/6.4)linux生产环境若干优化实战------就爱运维 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

特別說明:本文來自就愛運維。特和所有博友分享。更多優(yōu)化,請關注www.92yunwei.com后續(xù)內(nèi)容以及分享。

CentOS系統(tǒng)安裝之后并不能立即投入生產(chǎn)環(huán)境使用,往往需要先經(jīng)過我們運維人員的優(yōu)化才行。在此講解幾點關于Linux系統(tǒng)安裝后的基礎優(yōu)化操作。注意:本次優(yōu)化都是基于CentOS(5.8/6.4)。

下面我就為大家簡單講解幾點關于Linux系統(tǒng)安裝后的基礎優(yōu)化操作。

注意:本次優(yōu)化都是基于CentOS(5.8/6.4)。關于5.8和6.4兩者優(yōu)化時的小區(qū)別,我會在文中提及的。

優(yōu)化條目:


  • 修改ip地址、網(wǎng)關、主機名、DNS等

  • 關閉selinux,清空iptables

  • 添加普通用戶并進行sudo授權管理

  • 更新yum源及必要軟件安裝

  • 定時自動更新服務器時間

  • 精簡開機自啟動服務

  • 定時自動清理/var/spool/clientmqueue/目錄垃圾文件,放置inode節(jié)點被占滿

  • 變更默認的ssh服務端口,禁止root用戶遠程連接

  • 鎖定關鍵文件系統(tǒng)

  • 調(diào)整文件描述符大小

  • 調(diào)整字符集,使其支持中文

  • 去除系統(tǒng)及內(nèi)核版本登錄前的屏幕顯示

  • 內(nèi)核參數(shù)優(yōu)化

  • 1、修改ip地址、網(wǎng)關、主機名、DNS等

  • [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

  • DEVICE=eth0???????? #網(wǎng)卡名字

  • BOOTPROTO=static????#靜態(tài)IP地址獲取狀態(tài) 如:DHCP表示自動獲取IP地址

  • IPADDR=192.168.1.113????????????#IP地址

  • NETMASK=255.255.255.0???????????#子網(wǎng)掩碼

  • ONBOOT=yes#引導時是否激活

  • GATEWAY=192.168.1.1

  • [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

  • DEVICE=eth0

  • BOOTPROTO=static

  • IPADDR=192.168.1.113

  • NETMASK=255.255.255.0

  • ONBOOT=yes

  • GATEWAY=192.168.1.1

  • [root@localhost ~]# vi /etc/sysconfig/network

  • HOSTNAME=c64???? #修改主機名,重啟生效

  • GATEWAY=192.168.1.1????#修改默認網(wǎng)關,如果上面eth0里面不配置網(wǎng)關的話,默認就使用這里的網(wǎng)關了。

  • [root@localhost ~]# cat /etc/sysconfig/network

  • HOSTNAME=c64

  • GATEWAY=192.168.1.1

  • 我們也可以用? hostnamec64? 來臨時修改主機名,重新登錄生效

  • 修改DNS

  • [root@localhost ~]# vi /etc/resolv.conf?? #修改DNS信息

  • nameserver?114.114.114.114

  • nameserver?8.8.8.8

  • [root@localhost ~]# cat /etc/resolv.conf? #查看修改后的DNS信息

  • nameserver?114.114.114.114

  • nameserver?8.8.8.8

  • [root@localhost ~]# service network restart?? #重啟網(wǎng)卡,生效

  • 重啟網(wǎng)卡,也可以用下面的命令

  • [root@localhost ~]# /etc/init.d/network restart

  • 2、關閉selinux,清空iptables

    關閉selinux

  • [root@c64 ~]# sed –i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config?? #修改配置文件則永久生效,但是必須要重啟系統(tǒng)。

  • [root@c64 ~]# grep SELINUX=disabled /etc/selinux/config

  • SELINUX=disabled???? #查看更改后的結果

  • [root@c64 ~]# setenforce?0#臨時生效命令

  • [root@c64 ~]# getenforce????? #查看selinux當前狀態(tài)

  • Permissive

  • 清空iptables

  • [root@c64 ~]# iptables –F???? #清理防火墻規(guī)則

  • [root@c64 ~]# iptables –L???? #查看防火墻規(guī)則

  • 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?????????????? destination

  • [root@c64 ~]#/etc/init.d/iptables save?? #保存防火墻配置信息

  • 3、添加普通用戶并進行sudo授權管理

  • [root@c64 ~]# useradd sunsky

  • [root@c64 ~]# echo?"123456"|passwd --stdin sunsky&&history –c

  • [root@c64 ~]# visudo

  • 在root??? ALL=(ALL)??? ALL此行下,添加如下內(nèi)容

  • sunsky??? ALL=(ALL)??? ALL

  • 4、更新yum源及必要軟件安裝

    yum安裝軟件,默認獲取rpm包的途徑從國外官方源,改成國內(nèi)的源。

    國內(nèi)較快的兩個站點:搜狐鏡像站點、網(wǎng)易鏡像站點

    法1:自己配置好安裝源配置文件,然后上傳到linux。

    法2:使用鏡像站點配置好的yum安裝源配置文件

  • [root@c64 ~]# cd /etc/yum.repos.d/

  • [root@c64 yum.repos.d]# /bin/mv CentOS-Base.repo CentOS-Base.repo.bak

  • [root@c64 yum.repos.d]# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

  • 接下來執(zhí)行如下命令,檢測yum是否正常

  • [root@c64 yum.repos.d]# yum clean all? #清空yum緩存

  • [root@c64 yum.repos.d]# yum makecache? #建立yum緩存

  • 然后使用如下命令將系統(tǒng)更新到最新

  • [root@c64 yum.repos.d]# rpm --import?/etc/pki/rpm-gpg/RPM-GPG-KEY*?????? #導入簽名KEY到RPM

  • [root@c64 yum.repos.d]# yum? upgrade-y???? #更新系統(tǒng)內(nèi)核到最新

  • 接下來就要安裝幾個必要的軟件了

  • [root@c64 yum.repos.d]# yum install lrzsz ntpdate sysstat -y

  • lrzsz是一個上傳下載的軟件

    sysstat是用來檢測系統(tǒng)性能及效率的工具

    5、定時自動更新服務器時間

  • [root@c64 ~]# echo?'*/5 * * * * /usr/sbin/ntpdate time.windows.com >/dev/null 2 >&1'?>>/var/spool/cron/root

  • [root@c64 ~]# echo?'*/10 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1'?>>/var/spool/cron/root

  • 提示:CentOS?6.4的時間同步命令路徑不一樣

    6是/usr/sbin/ntpdate

    5是/sbin/ntpdate

    擴展:在機器數(shù)量少時,以上定時任務同步時間就可以了。如果機器數(shù)量大時,可以在網(wǎng)內(nèi)另外部署一臺時間同步服務器NTP?Server。此處僅提及,不做部署

    時間同步服務器架構圖:

    6、精簡開機自啟動服務

    剛裝完操作系統(tǒng)可以只保留crondnetworksyslogsshd這四個服務。(Centos6.4rsyslog

  • [root@c64 ~]#?for?sun?in?`chkconfig --list|grep?3:on|awk?'{print $1}'`;do?chkconfig --level?3?$sun off;done
  • [root@c64 ~]#?for?sun?in?crond rsyslog sshd network;do?chkconfig --level?3?$sun on;done
  • [root@c64 ~]# chkconfig --list|grep?3:on
  • crond???????????0:off???1:off???2:on????3:on????4:on????5:on????6:off
  • network?????????0:off???1:off???2:on????3:on????4:on????5:on????6:off
  • rsyslog?????????0:off???1:off???2:on????3:on????4:on????5:on????6:off
  • sshd????????????0:off???1:off???2:on????3:on????4:on????5:on????6:off
  • 7、定時自動清理/var/spool/clientmqueue/目錄垃圾文件,放置inode節(jié)點被占滿

    本優(yōu)化點,在6.4上可以忽略不需要操作即可!

  • [root@c64 ~]# mkdir /server/scripts -p
  • [root@c64 ~]# vi /server/scripts/spool_clean.sh
  • #!/bin/sh
  • find/var/spool/clientmqueue/-typef -mtime +30|xargsrm-f
  • 然后將其加入到crontab定時任務中

  • [root@c64 ~]# echo?'*/30 * * * * /bin/sh /server/scripts/spool_clean.sh >/dev/null 2>&1'>>/var/spool/cron/root

  • 8、變更默認的ssh服務端口,禁止root用戶遠程連接

  • [root@c64 ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
  • [root@c64 ~]# vim /etc/ssh/sshd_config
  • Port?52113#ssh連接默認的端口
  • PermitRootLogin no?? #root用戶***都知道,禁止它遠程登錄
  • PermitEmptyPasswords no #禁止空密碼登錄
  • UseDNS no??????????? #不使用DNS
  • [root@c64 ~]# /etc/init.d/sshd reload??? #從新加載配置
  • [root@c64 ~]# netstat -lnt???? #查看端口信息
  • [root@c64 ~]# lsof -i tcp:52113
  • 9、鎖定關鍵文件系統(tǒng)

  • [root@c64 ~]# chattr +i /etc/passwd
  • [root@c64 ~]# chattr +i /etc/inittab
  • [root@c64 ~]# chattr +i /etc/group
  • [root@c64 ~]# chattr +i /etc/shadow
  • [root@c64 ~]# chattr +i /etc/gshadow
  • 使用chattr命令后,為了安全我們需要將其改名

  • [root@c64 ~]# /bin/mv /usr/bin/chattr /usr/bin/任意名稱

  • 10、調(diào)整文件描述符大小

  • [root@localhost ~]# ulimit –n??????? #查看文件描述符大小
  • 1024
  • [root@localhost ~]# echo?'*? -? nofile? 65535'?>> /etc/security/limits.conf
  • 配置完成后,重新登錄即可查看。

    提示:也可以把ulimit?-SHn?65535命令加入到/etc/rc.local,然后每次重啟生效

  • [root@c64 ~]# cat >>/etc/rc.local<<EOF
  • #open files
  • ulimit -HSn?65535
  • #stack size
  • ulimit -s?65535
  • EOF
  • 擴展:文件描述符

    文件描述符在形式上是一個非負整數(shù)。實際上,它是一個索引值,指向內(nèi)核為每一個進程所維護的該進程打開文件的記錄表。當程序打開一個現(xiàn)有文件或者創(chuàng)建一個新文件時,內(nèi)核向進程返回一個文件描述符。在程序設計中,一些涉及底層的程序編寫往往會圍繞著文件描述符展開。但是文件描述符這一概念往往只適用于Unix、Linux這樣的操作系統(tǒng)

    習慣上,標準輸入(standard?input)的文件描述符是?0,標準輸出(standard?output)是?1,標準錯誤(standard?error)是?2。盡管這種習慣并非Unix內(nèi)核的特性,但是因為一些?shell?和很多應用程序都使用這種習慣,因此,如果內(nèi)核不遵循這種習慣的話,很多應用程序將不能使用。

    11、調(diào)整字符集,使其支持中文

  • sed-i?'s#LANG="en_US.UTF-8"#LANG="zh_CN.GB18030"#'/etc/sysconfig/i18n
  • source/etc/sysconfig/i18n
  • 擴展:什么是字符集?

    簡單的說就是一套文字符號及其編碼。常用的字符集有:

    GBK?定長雙字節(jié)不是國際標準,支持系統(tǒng)不少

    UTF-8?非定長?1-4字節(jié)廣泛支持,MYSQL也使用UTF-8

    12、去除系統(tǒng)及內(nèi)核版本登錄前的屏幕顯示

  • [root@c64 ~]# >/etc/redhat-release
  • [root@c64 ~]# >/etc/issue
  • 13、內(nèi)核參數(shù)優(yōu)化

    說明:本優(yōu)化適合apache,nginx,squid多種等web應用,特殊的業(yè)務也可能需要略作調(diào)整。

  • [root@c64 ~]# vi /etc/sysctl.conf
  • #by sun?in?20131001
  • net.ipv4.tcp_fin_timeout =?2
  • net.ipv4.tcp_tw_reuse =?1
  • net.ipv4.tcp_tw_recycle =?1
  • net.ipv4.tcp_syncookies =?1
  • net.ipv4.tcp_keepalive_time =600
  • net.ipv4.ip_local_port_range =?4000????65000
  • net.ipv4.tcp_max_syn_backlog =?16384
  • net.ipv4.tcp_max_tw_buckets =?36000
  • net.ipv4.route.gc_timeout =?100
  • net.ipv4.tcp_syn_retries =?1
  • net.ipv4.tcp_synack_retries =?1
  • net.core.somaxconn =?16384
  • net.core.netdev_max_backlog =?16384
  • net.ipv4.tcp_max_orphans =?16384
  • #一下參數(shù)是對iptables防火墻的優(yōu)化,防火墻不開會有提示,可以忽略不理。
  • net.ipv4.ip_conntrack_max =?25000000
  • net.ipv4.netfilter.ip_conntrack_max =?25000000
  • net.ipv4.netfilter.ip_conntrack_tcp_timeout_established =?180
  • net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait =?120
  • net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait =?60
  • net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait =?120
  • [root@localhost ~]# sysctl –p??? #使配置文件生效
  • 提示:由于CentOS6.X系統(tǒng)中的模塊名不是ip_conntrack,而是nf_conntrack,所以在/etc/sysctl.conf優(yōu)化時,需要把net.ipv4.netfilter.ip_conntrack_max?這種老的參數(shù),改成net.netfilter.nf_conntrack_max這樣才可以。

    即對防火墻的優(yōu)化,在5.8上是

  • net.ipv4.ip_conntrack_max =?25000000
  • net.ipv4.netfilter.ip_conntrack_max =?25000000
  • net.ipv4.netfilter.ip_conntrack_tcp_timeout_established =?180
  • net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait =?120
  • net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait =?60
  • net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait =?120
  • 在6.4上是

  • 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
  • 另外,在此優(yōu)化過程中可能會有報錯:

    1、5.8版本上

  • error:?"net.ipv4.ip_conntrack_max"is?an unknown key
  • error:?"net.ipv4.netfilter.ip_conntrack_max"is?an unknown key
  • error:?"net.ipv4.netfilter.ip_conntrack_tcp_timeout_established"is?an unknown key
  • error:?"net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait"is?an unknown key
  • error:?"net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait"is?an unknown key
  • error:?"net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait"is?an unknown key
  • 這個錯誤可能是你的防火墻沒有開啟或者自動處理可載入的模塊ip_conntrack沒有自動載入,解決辦法有二,一是開啟防火墻,二是自動處理開載入的模塊ip_conntrack

  • modprobe ip_conntrack
  • echo?"modprobe ip_conntrack">> /etc/rc.local
  • 2、6.4版本上

  • error:?"net.nf_conntrack_max"isan unknown key
  • error:?"net.netfilter.nf_conntrack_max"isan unknown key
  • error:?"net.netfilter.nf_conntrack_tcp_timeout_established"isan unknown key
  • error:?"net.netfilter.nf_conntrack_tcp_timeout_time_wait"isan unknown key
  • error:?"net.netfilter.nf_conntrack_tcp_timeout_close_wait"isan unknown key
  • error:?"net.netfilter.nf_conntrack_tcp_timeout_fin_wait"isan unknown key
  • 這個錯誤可能是你的防火墻沒有開啟或者自動處理可載入的模塊ip_conntrack沒有自動載入,解決辦法有二,一是開啟防火墻,二是自動處理開載入的模塊ip_conntrack

  • modprobe nf_conntrack
  • echo?"modprobe nf_conntrack">> /etc/rc.local
  • 3、6.4版本上

  • error:?"net.bridge.bridge-nf-call-ip6tables"isan unknown key
  • error:?"net.bridge.bridge-nf-call-iptables"isan unknown key
  • error:?"net.bridge.bridge-nf-call-arptables"isan unknown key
  • 這個錯誤是由于自動處理可載入的模塊bridge沒有自動載入,解決辦法是自動處理開載入的模塊ip_conntrack

  • modprobe bridge
  • echo?"modprobe bridge">> /etc/rc.local
  • 到此,我們Linux系統(tǒng)安裝后的基礎優(yōu)化已經(jīng)操作的差不多了,總結下來一共有13個優(yōu)化點需要我們來熟知。后面我會出一個一鍵優(yōu)化的shell腳本出來和大家一起交流學習。


    本文出自 “就愛運維” 博客,請務必保留此出處http://www.92yunwei.com

    轉載于:https://blog.51cto.com/92yunwei/1728049

    總結

    以上是生活随笔為你收集整理的CentOS(5.8/6.4)linux生产环境若干优化实战------就爱运维的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。