CentOS(5.8/6.4)linux生产环境若干优化实战------就爱运维
特別說明:本文來自就愛運維。特和所有博友分享。更多優(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)可以只保留crond,network,syslog,sshd這四個服務。(Centos6.4為rsyslog)
7、定時自動清理/var/spool/clientmqueue/目錄垃圾文件,放置inode節(jié)點被占滿
本優(yōu)化點,在6.4上可以忽略不需要操作即可!
然后將其加入到crontab定時任務中
[root@c64 ~]# echo?'*/30 * * * * /bin/sh /server/scripts/spool_clean.sh >/dev/null 2>&1'>>/var/spool/cron/root |
8、變更默認的ssh服務端口,禁止root用戶遠程連接
9、鎖定關鍵文件系統(tǒng)
使用chattr命令后,為了安全我們需要將其改名
[root@c64 ~]# /bin/mv /usr/bin/chattr /usr/bin/任意名稱 |
10、調(diào)整文件描述符大小
配置完成后,重新登錄即可查看。
提示:也可以把ulimit?-SHn?65535命令加入到/etc/rc.local,然后每次重啟生效
擴展:文件描述符
文件描述符在形式上是一個非負整數(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)整字符集,使其支持中文
擴展:什么是字符集?
簡單的說就是一套文字符號及其編碼。常用的字符集有:
GBK?定長雙字節(jié)不是國際標準,支持系統(tǒng)不少
UTF-8?非定長?1-4字節(jié)廣泛支持,MYSQL也使用UTF-8
12、去除系統(tǒng)及內(nèi)核版本登錄前的屏幕顯示
13、內(nèi)核參數(shù)優(yōu)化
說明:本優(yōu)化適合apache,nginx,squid多種等web應用,特殊的業(yè)務也可能需要略作調(diào)整。
提示:由于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上是
在6.4上是
另外,在此優(yōu)化過程中可能會有報錯:
1、5.8版本上
這個錯誤可能是你的防火墻沒有開啟或者自動處理可載入的模塊ip_conntrack沒有自動載入,解決辦法有二,一是開啟防火墻,二是自動處理開載入的模塊ip_conntrack
2、6.4版本上
這個錯誤可能是你的防火墻沒有開啟或者自動處理可載入的模塊ip_conntrack沒有自動載入,解決辦法有二,一是開啟防火墻,二是自動處理開載入的模塊ip_conntrack
3、6.4版本上
這個錯誤是由于自動處理可載入的模塊bridge沒有自動載入,解決辦法是自動處理開載入的模塊ip_conntrack
到此,我們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)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mina框架项目运用
- 下一篇: 在Linux 5/6上使用UDEV SC