linux基礎優化:
1、關閉selinux
臨時: [root@huang ~]# getenforce Enforcing [root@huang ~]# setenforce 0 [root@huang ~]# getenforce Permissive [root@huang ~]#
永久:
# sed -i 's#enforcing#disabled#g' /etc/selinux/config
2、系統默認級別
[root@huang ~]# tail -n 1 /etc/inittab id:3:initdefault: [root@huang ~]#rulevel //也可查看當前級別
3、精簡開機啓動項
需開機啓動如下服務,剩下全部關閉
sshd 遠程連接服務
rsyslog 日誌服務
network 網絡服務
crond 定時任務
sysstat 監控系統的負載記錄(isostat 提供cpu使用率和硬盤的吞吐率 mpstat提供單個或多個處理器相關數據 sar負責收集,報告並存儲系統活躍的信息)
方法:
for i in `chkconfig --list|grep -vE "(crond|sshd|network|rsyslog|sysstat)"|awk '{print $1}'`;do chkconfig $i off;done
4、關閉防火牆(學習環境使用)
# service iptables stop #iptables -F //清空防火牆 # service iptables save
5、設置顯示語言
[root@huang ~]# echo $LANG en_US.UTF-8 [root@huang ~]# cat /etc/sysconfig/i18n LANG="en_US.UTF-8" #英文 或 LANG="zh_CN.UTF-8" #中文 SYSFONT="latarcyrheb-sun16" [root@huang ~]#
6、時間同步
設置開機自動校時和定時校時。
開機校時,寫在/etc/rc.local裏。
定時校時,crontab –e進行編輯修改。
校時命令
ntpdate 時間服務器地址
[root@study ~]# ntpdate asia.pool.ntp.org [root@study ~]# crontab -l 59 23 * * * /usr/sbin/ntpdate asia.pool.ntp.org && /usr/sbin/hwclock -w [root@study ~]#
7、解決ssh連接慢的問題
注:建議先備份文件
# vim /etc/ssh/sshd_config UseDNS no GSSAPIAuthentication no # /etc/init.d/sshd reload #平滑重啓
8、常用變量設置
# TMOUT=20 #回話超時時間
# HISTSIZE=5 #記錄的歷史命令的個數
# HISTFILESIZE=20 #記錄歷史命令的行數
永久生效:
把以上命令寫入 /etc/profile後
# source /etc/profile #永久生效
9、調整linux系統文件描述符數量
說明:對於高併發業務來說,默認值是不夠的
[root@huang ~]# ulimit -n 1024 調整方法: [root@huang ~]# echo "* - nofile 65535" >>/etc/security/limits.conf
退出系統後再登錄即可生效
10、內核優化
注:適應於大部分web生產環境
net.ipv4.tcp_syn_retries = 1 net.ipv4.tcp_synack_retries = 1 net.ipv4.tcp_keepalive_time = 600 net.ipv4.tcp_keepalive_probes = 3 net.ipv4.tcp_keepalive_intvl =15 net.ipv4.tcp_retries2 = 5 net.ipv4.tcp_fin_timeout = 2 net.ipv4.tcp_max_tw_buckets = 36000 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_max_orphans = 32768 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 16384 net.ipv4.tcp_wmem = 8192 131072 16777216 net.ipv4.tcp_rmem = 32768 131072 16777216 net.ipv4.tcp_mem = 786432 1048576 1572864 net.ipv4.ip_local_port_range = 1024 65000 net.ipv4.ip_conntrack_max = 65536 net.ipv4.netfilter.ip_conntrack_max=65536 net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180 net.core.somaxconn = 16384 net.core.netdev_max_backlog = 16384
11、定時清理服務器臨時目錄垃圾文件
[root@huang ~]# find /var/spool/postfix/maildrop/ -type f |xargs rm -f
寫腳本,定時清理:
[root@huang ~]# mkdir -p /server/scripts [root@huang ~]# echo "find /var/spool/postfix/maildrop/ -type f |xargs rm -f" >> /server/scripts/del_file.sh [root@huang ~]# echo "00 00 * * * /bin/sh /server/scripts/del_file.sh >/dev/null 2>&1" >>/var/spool/cron/root [root@huang ~]# crontab -l 00 00 * * * /bin/sh /server/scripts/del_file.sh >/dev/null 2>&1 [root@huang ~]# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda2 1234576 69428 1165148 6% / tmpfs 125514 1 125513 1% /dev/shm /dev/sda1 51200 44 51156 1% /boot [root@huang ~]#
12、隱藏linx版本信息顯示
注:清空這兩個文件內容即可
[root@huang ~]# cat /etc/issueCentOS release 6.9 (Final)Kernel \r on an \m [root@huang ~]# cat /etc/issue.netCentOS release 6.9 (Final)Kernel \r on an \m
13、鎖定系統文件
[root@huang ~]# chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab 注:鎖定後所有用戶都不能對文件修改刪除 如果想更加安全可以把chattr命令改名 [root@huang ~]# mv /usr/bin/chattr /usr/bin/yanqi01 #######################################解鎖如果失敗,可以嘗試使用下列方法################################ 1、執行chattr #chattr -i /etc/passwd # lsattr -v /etc/passwd 2095582053 ------------- /etc/passwd # chattr -i /etc/shadow 8、同步文件 pwconv
14、清空虛擬帳號
看老男孩的書籍或博客,不是必須的
15、通過防火牆設定指定的IP可以ping服務器
# iptables -t filter -I INPUT -p icmp --icmp-type 8 -i eth0 -s 10.0.0.0/24 -j ACCEPT
16、升級典型漏洞的軟件版本
openssh5.3有漏洞建議升級到最新版本
[root@localhost ~]# rpm -qa openssl openssh bash bash-4.1.2-40.el6.x86_64 openssl-1.0.1e-48.el6.x86_64 openssh-5.3p1-117.el6.x86_64 [root@localhost ~]# yum -y install openssl openssh bash [root@localhost ~]# rpm -qa openssl openssh bash bash-4.1.2-48.el6.x86_64 openssl-1.0.1e-57.el6.x86_64 openssh-5.3p1-123.el6_9.x86_64 [root@localhost ~]#
17、變量的設置
1、打開文本默認顯示行號 centos 編輯/etc/vimrc 在最後一行添加set nu 保存退出 2、詳細記錄操作命令執行時間和帳號 [root@huang ~]# cat /etc/profile export HISTTIMEFORMAT="%F %T `whoami` " #最後添加一行,保存退出。 3、grep篩選文件顯示顏色 vim /etc/bashrc #編輯該文件,在最後一行添加: export GREP_OPTIONS='--color=auto' GREP_COLOR='31' export PS1="\[\e[32;1m\][\u@\H \W]#\[\e[0m\]" #藍色顯示主機名 export PS1="[\u@\H \W]#" #顯示主機全名 保存後使用以下命令生效 source /etc/bashrc