centos 6 mini安裝(內容極其精簡)
紅帽官方中文文檔
http://docs.redhat.com/docs/zh-CN/Red_Hat_Enterprise_Linux/index.html
默認郵件服務器就是postfix
升級系統
# yum install epel-release -y
# yum update
精簡服務
1、chkconfig ip6tables off 關閉ipv6防火牆
2、chkconfig iscsi off 關閉iscsi服務
3、chkconfig iscsid off 關閉iscsi相關服務
4、chkconfig netfs off 關閉NFS,smaba和NetWare網絡文件系統
5、chkconfig auditd off linux的審計功能
6、chkconfig nfslock off 關閉TCP/IP網絡共享文件的協議的NFS的文件鎖功能
7、chkconfig rpcgssd off 關閉 NFS v4
8、chkconfig rpcbind off 關閉RPC服務
9、chkconfig rpcidmapd off 關閉 NFS v4
10、chkconfig lvm2-monitor off 關閉系統對Logical Volume Manager 邏輯磁區的支持
11、chkconfig lldpad off 關閉鄰近發現協議
安裝基本配置程序(cronie 爲安裝Cron)
# yum install -y setuptool ntsysv system-config-firewall-tui system-config-network-tui cronie wget vim unzip openssh-clients screen rsync ftp telnet (13)
setuptool Python的 distutilsde工具的增強工具(py2.3.5以上 64位py2.4)
ntsysv 設置系統的各種服務
system-config-firewall-tui 命令行用戶接口(TUI)的防火牆客戶端
system-config-network-tui 安裝Fedora網絡配置的工具
記錄每次bash命令的執行時間
vi /etc/profile
這個文件是每個用戶登錄時都會運行的環境變量設置,當用戶第一次登錄時,該文件被執行. 並從/etc/profile.d目錄的配置文件中搜集shell的設置。
加入(centos6最好加到第54行)
HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
export HISTTIMEFORMAT
安全配置
禁用selinux
編輯# vi /etc/selinux/config
/etc/selinux/config是/etc/sysconfig/selinux軟連接的一個原文件 提供強制訪問控制(MAC)安全系統
SELINUX=disabled
su加固
編輯配置文件
# vi /etc/pam.d/su
大約第六行去掉#
#auth required pam_wheel.so use_uid
禁用非wheel用戶是用su
運行
# echo "SU_WHEEL_ONLY yes" >> /etc/login.defs
SU_WHEEL_ONLY yes 只允許wheel用戶su到root
/etc/login.defs 設置用戶帳號限制的文件,在這裏我們可配置密碼的最大過期天數,密碼的最大長度約束等內容。該文件裏的配置對root用戶無效。
設置可以su的用戶到wheel組
# useradd -G wheel yezhiqiu
# passwd yezhiqiu
SSH部分
# vim /etc/ssh/sshd_config
配置sshd服務器
修改端口號
大約第13行
1、Port 58022 定義ssh的連接端口
不允許用root進行登錄
大約第42行
2、PermitRootLogin no
不允許空密碼登錄
大約第65行
3、PermitEmptyPasswords no
禁用DNS
大約第81行
4、GSSAPIAuthentication no
大約第122行
5、UseDNS no
最後一行只允許指定用戶登錄ssh
6、AllowUsers yezhiqiu
編輯防火牆文件
# vi /etc/sysconfig/iptables
加入
-A INPUT -m state --state NEW -m tcp -p tcp --dport 58022 -j ACCEPT
重啓服務
# /etc/init.d/sshd restart
# /etc/init.d/iptables restart
添加監控寶的snmpd監控
# yum -y install net-snmp 是一個免費的、開放源碼的網絡監控
# vi /etc/snmp/snmpd.conf
# ------添加監控寶賬號------
rocommunity jiankongbao 60.195.249.83 “rocommunity”表示這是一個只讀的訪問權限,監控寶只可以從你的服務器上獲取信息,而不能對服務器進行任何設置
“jiankongbao”相當於密碼
如果您使用的是插件 此處的ip 應該安裝採集器的機器的ip
rocommunity jiankongbao 60.195.252.107
rocommunity jiankongbao 60.195.252.110
重啓服務
# /etc/init.d/snmpd start
# chkconfig snmpd on
修改防火牆配置
# vi /etc/sysconfig/iptables
# ------添加防火牆規則------
-A INPUT -p udp -m udp --dport 161 -j ACCEPT
開啓udp協議
重啓防火牆
# /etc/init.d/iptables restart
校時
# yum install -y ntp
# /usr/sbin/ntpdate time.nist.gov IP爲時間服務器IP
硬件同步
# /sbin/hwclock --systohc
加入備份腳本
# crontab -e
5 */6 * * * /usr/sbin/ntpdate time.nist.gov > /dev/null 2>&1
有些機房禁用UDP 可以使用rdate
# yum install -y rdate
5 */6 * * * /usr/bin/rdate -s stdtime.gov.hk > /dev/null 2>&1
安裝第三方軟件倉庫
EPEL
# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm
修改enabled = 0默認不啓用
# vim /etc/yum.repos.d/epel.repo
# yum --enablerepo=epel -y install htop pbzip2
rpmforge逐步淘汰不用
# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
# rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
修改enabled = 0默認不啓用
# vim /etc/yum.repos.d/rpmforge.repo
# yum --enablerepo=rpmforge -y install htop unrar axel
htop實時監控
unrar 壓縮軟件60%以上壓縮比
axel 一種下載軟件 實行分段下載
優化Linux內核參數
# vi /etc/sysctl.conf
是配置一些系統信息,而且它的內容全部是對應於/proc/sys/這個目錄的子目錄及文件。
在末尾增加以下內容:
引用
# Add
1、net.ipv4.tcp_max_syn_backlog = 65536
表示用於向外連接的端口範圍。缺省情況下很小:32768到61000,改爲1024到65000。
2、net.core.netdev_max_backlog = 32768
每個網絡接口接收數據包的速率比內核處理這些包的速率快時,允許送到隊列的數據包的最大數目
3、net.core.somaxconn = 32768
定義了系統中每一個端口最大的監聽隊列的長度,這是個全局的參數,默認值爲1024
4、net.core.wmem_default = 8388608
該文件指定了發送套接字緩衝區大小的缺省值(以字節爲單位)。
5、net.core.rmem_default = 8388608
該文件指定了接收套接字緩衝區大小的默認值(以字節爲單位)
6、net.core.rmem_max = 16777216
指定了接收套接字緩衝區(接收窗口)大小的最大值(以字節爲單位) 最大的TCP數據接收緩衝
7、net.core.wmem_max = 16777216
指定了發送套接字緩衝區(接收窗口)大小的最大值(以字節爲單位) 最大的TCP數據發送緩衝
8、net.ipv4.tcp_timestamps = 0
以一種比重發超時更精確的方法(請參閱 RFC 1323)來啓用對 RTT 的計算;爲了實現更好的性能應該啓用這個選項,時間戳在(請參考RFC 1323)TCP的包頭增加12個字節
9、net.ipv4.tcp_synack_retries = 2
syn-ack握手狀態重試次數,默認5,遭受syn-flood(Dos與DDos)***時改爲1或2
10、net.ipv4.tcp_syn_retries = 2
外向syn握手重試次數,默認4
11、net.ipv4.tcp_tw_recycle = 1
默認0,tw快速回收
12、#net.ipv4.tcp_tw_len = 1
表示開啓重用。允許將TIME-WAIT sockets 重新用於新的TCP連接,默認爲0,表示關閉
13、net.ipv4.tcp_tw_reuse = 1
表示開啓重用。允許將TIME-WAIT sockets重新用於新的TCP連接,默認爲0,表示關閉;
14、net.ipv4.tcp_mem = 94500000 915000000 927000000
確定 TCP 棧應該如何反映內存使用;每個值的單位都是內存頁(通常是 4KB)。第一個值是內存使用的下限。第二個值是內存壓力模式開始對緩衝區使用應用壓力的上限。
第三個值是內存上限。在這個層次上可以將報文丟棄,從而減少對內存的使用。對於較大的 BDP 可以增大這些值(但是要記住,其單位是內存頁,而不是字節)
15、net.ipv4.tcp_max_orphans = 3276800
系統中最多有多少個TCP套接字不被關聯到任何一個用戶文件句柄上。如果超過這個數字,孤兒連接將即刻被複位並打印出警告信息。
這個限制僅僅是爲了防止簡單的DoS***,你絕對不能過分依靠它或者人爲地減小這個值,更應該增加這個值(如果增加了內存之後)
16、#net.ipv4.tcp_fin_timeout = 30
表示如果套接字由本端要求關閉,這個參數決定了它保持在FIN-WAIT-2狀態的時間。
17、#net.ipv4.tcp_keepalive_time = 120
表示當keepalive起用的時候,TCP發送keepalive消息的頻度。缺省是2小時,改爲20分鐘。
18、net.ipv4.ip_local_port_range = 1024 65535
指定端口範圍的一個配置,默認是32768 61000
目前可以確定的是
#######
19、fs.aio-max-nr = 1048576
同時可以擁有的的異步IO請求數目
20、fs.file-max = 6815744
系統中可以同時打開的文件數目。
21、kernel.shmall = 2097152
參數是控制共享內存頁數
22、kernel.shmmax = 536870912
內核參數定義單個共享內存段的最大值
23、kernel.shmmni = 4096
整個系統共享內存段的最大數目。
24、kernel.sem = 250 32000 100 128
表示設置的信號量,這4個參數內容大小固定。
25、net.ipv4.ip_local_port_range = 9000 65500
表示用於向外連接的端口範圍。缺省情況下很小:32768到61000,改爲1024到65000。
26、net.core.rmem_default = 262144
該文件指定了接收套接字緩衝區大小的默認值(以字節爲單位)。
27、net.core.rmem_max = 4194304
指定了接收套接字緩衝區(接收窗口)大小的最大值(以字節爲單位) 最大的TCP數據接收緩衝
28、net.core.wmem_default = 262144
該文件指定了發送套接字緩衝區大小的缺省值(以字節爲單位)。
29、net.core.wmem_max = 1048586
指定了發送套接字緩衝區(接收窗口)大小的最大值(以字節爲單位) 最大的TCP數據發送緩衝
#######
使配置立即生效:
/sbin/sysctl -p
-p 從指定的文件加載系統參數,如不指定即從/etc/sysctl.conf中加載;
調整ulimit
# vi /etc/security/limits.conf
Linux PAM中 pam_limits.so 的配置文件,而且只針對於單個會話。
在文件末加上:
* soft nofile 65535
* hard nofile 65535
soft nofile:單個用戶可用的最大進程數量(軟限制)
hard nofile:單個用戶可用的最大進程數量(硬限制)
# vi /etc/security/limits.d/90-nproc.conf
修改
* soft nproc 1024
爲
* soft nproc 65535
soft nproc: 可打開的文件描述符的最大數(軟限制)
hard nproc: 可打開的文件描述符的最大數(硬限制)
設置logwatch發給指定郵箱
# yum install logwatch -y logwatch 日誌監視器
# echo "MailTo = [email protected]" >>/etc/logwatch/conf/logwatch.conf
添加
MailTo = [email protected]
刪除對httpd的日誌分析在 /usr/share/logwatch/default.conf/logwatch.conf加入大約在86行
Service = "-http"
不監控的服務前面加 “-” , 如 -httpd , 即不監控 httpd 服務 , 可以寫多條
如果需要自己編譯軟件
# yum install gcc gcc-c++ make automake autoconf patch
LAMP服務器做如下步驟:
# yum --enablerepo=epel install cronolog
cronolog日誌切割工具
# yum install httpd mysql-server
# yum install postgresql-devel mysql-devel httpd-devel openssl-devel libxml2-devel zlib-devel curl-devel libmcrypt-devel mhash-devel libjpeg-devel libpng-devel gd-devel freetype-devel libtool-ltdl-devel
# yum install libevent-devel libc-client-devel readline-devel
# yum install libXpm-devel libxslt-devel krb5-devel net-snmp-devel
# cd /usr/lib64
# ln -s /usr/lib64/mysql/libmysqlclient.so
# yum install php53 php53-gd php53-devel php53-mbstring php53-mysql php53-xml php53-xmlrpc
附:
硬件檢測:
# wget http://aspersa.googlecode.com/svn/trunk/summary
# chmod +x summary
# ./summary
CentOS升級流程:
yum clean all
yum update glibc\* -y
yum update yum\* rpm\* pyth\* -y
yum clean all
yum update mkinitrd nash -y
yum update selinux\* -y
yum update -y
shutdown -r now
安裝常用附加軟件
# yum install screen sysstat iptraf
iptraf :CLI 流量監控軟件
screen:遠程會話管理
sysstat:系統性能分析工具包
磁盤IO測試
yum --enablerepo=rpmforge install iozone
去掉atime提高文件系統性能:
可以在/etc/fstab中增加,noatime,nodiratime參數
降低文件系統權限
nosuid,noexec,nodev參數
殺毒軟件
# yum --enablerepo=epel install clamd
升級病毒庫
# freshclam --verbose
# clamscan -i -r /dir
備選庫
http://rpms.famillecollet.com/
可以安裝在centos5等低版本中安裝php-fpm等軟件