Linux服务器 CentOS 6系列最小化安装优化脚本详解02————修改history记录、定时校正服务器时间、停止IPv6网络服务、调整最大文件打开数、关闭写磁盘I/O功能、配置SSH服务

Linux服务器 CentOS 6系列最小化安装优化脚本详解02————修改history记录、定时校正服务器时间、停止IPv6网络服务、调整最大文件打开数、关闭写磁盘I/O功能、配置SSH服务

修改SHELL命令的history记录个数

通过修改/etc/profile中的HISTSIZE的值即可,使用sed命令修改如下:

[root@private ~]# sed -n '/HISTSIZE/p' /etc/profile
HISTSIZE=1000
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
[root@private ~]# sed -n '/HISTSIZE=/ s/=.*/=100/p' /etc/profile
HISTSIZE=100
[root@private ~]# sed -i '/HISTSIZE=/ s/=.*/=100/' /etc/profile
[root@private ~]# sed -n '/HISTSIZE/p' /etc/profile
HISTSIZE=100
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

定时校正服务器时间

[root@private ~]# yum -y install ntp
[root@private ~]# crontab -e -u  root
*/5 * * * * /usr/sbin/ntpdate ntp.api.bz
#ntp.api.bz是一组NTP服务器,目前分散在上海和浙江电信
[root@private ~]# /usr/sbin/ntpdate ntp.api.bz
 6 Jun 00:56:24 ntpdate[107454]: adjust time server 17.253.72.243 offset 0.010472 sec
 #可以使用dig命令查看
 [root@private ~]# dig ntp.api.bz

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> ntp.api.bz
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42597
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;ntp.api.bz.            IN  A

;; ANSWER SECTION:
ntp.api.bz.     60  IN  CNAME   time.asia.apple.com.
time.asia.apple.com.    78080   IN  CNAME   time-ios.g.aaplimg.com.
time-ios.g.aaplimg.com. 38  IN  A   17.253.72.243
time-ios.g.aaplimg.com. 38  IN  A   17.253.72.241
time-ios.g.aaplimg.com. 38  IN  A   17.253.84.125

;; Query time: 32 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Tue Jun  6 00:57:02 2017
;; MSG SIZE  rcvd: 142

停止IPv6网络服务

默认状态下,IPv6是被启用的。可以使用如下命令查看:

[root@private ~]# lsmod | grep ipv6
nf_conntrack_ipv6       8748  2 
nf_defrag_ipv6         11182  1 nf_conntrack_ipv6
nf_conntrack           79758  3 nf_conntrack_ipv4,nf_conntrack_ipv6,xt_state
ipv6                  317340  267 ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6
[root@private ~]# 

可以根据业务的需求进行选择是否禁用IPv6。
首先需要确认IPv6是否处于被启动的状态,命令如下:

[root@private ~]# ifconfig -a
eth1      Link encap:Ethernet  HWaddr FA:16:3E:59:FE:45  
          inet addr:192.168.0.4  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::f816:3eff:fe59:fe45/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:24806 errors:0 dropped:0 overruns:0 frame:0
          TX packets:17881 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:8638429 (8.2 MiB)  TX bytes:1753384 (1.6 MiB)
          Interrupt:45 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:10 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:700 (700.0 b)  TX bytes:700 (700.0 b)

[root@private ~]#

通过ifconfig命令发现当前处于被启动的状态,修改对于配置文件,停止IPv6,命令如下:

[root@private ~]# echo "install ipv6 /bin/true" > /etc/modprobe.d/disable-ipv6.conf
#每当系统需要加载ipv6模块时,强行执行/bin/ture来代替实际加载的模块
[root@private ~]# echo "IPV6INIT=no" >> /etc/sysconfig/network-scripts/ifcfg-eth0
#禁用基于IPv6网络,使之不会触发启动

调整Linux的最大文件打开数

调整Linux的最大文件打开数,否则运行Squid服务的机器在高负载均衡时,执行性能会很差。或者在Linux上部署应用时,有时候也会遇到“too many open files”这样的问题。
其实Linux是有文件句柄限制的,但是默认值是1024,生产环境下比较容易打开这个值,所以需要进行调整。

下面打开/etc/security/limit.conf命令,在最后一行添加如下命令:

* soft nofile 65535
* hard nofile 65535

正解的做法应该是除了以上步骤之外,还要在系统的/etc/rc.local文件里添加如下内容:
ulimit -SHn 65535
另外,ulimit-n命令并不能真正看到文件的最大文件打开数,可用如下脚本查看:

#!/bin/bash
for pid in `ps aux |grep nginx |grep -v grep|awk '{print $2}'`
do
cat /proc/${pid}/limits |grep 'Max open files'
done

启动网卡

在配置CentOS 6.4的网卡IP地址时,容易忽略的一项是Linux在启动时未启动网卡,其后果很明显,那就是该Linux机器永远也没有IP地址。下面是一台线上环境服务器网卡/etc/sysconfig/network-scripts/ifcfg-eth0文件的配置内容:

DEVICE=eth0
BOOTPROTO=static
HWADDR=00:14:22:1B:71:20
IPV6INIT=no
IPV6_AUTOCONF=yes
ONBOOT=yes   ——>此项一定要记得更改为yes,它会在系统引导时就启动网卡设备
NETMASK=255.255.255.192
IPADDR=203.93.236.146
GATEWAY=203.93.236.129
TYPE=Ethernet
PEERDNS=yes   ——>允许用从DHCP处获得的DNS覆盖本地的DNS
USERCTL=no    ——>不允许普通用户修改网卡

关闭写磁盘I/O功能

Linux文件默认有3个时间,分别如下所示。

  • atime:对此文件的访问时间。
  • ctime:此文件inode发生变化的时间。
  • mtime:此文件的修改时间。
    如果有多个小文件(比如Web服务器的页面上有多个小图片),通常是没有必要记录文件的访问时间的,这样就可以减少写磁盘的I/O,可这要如何配置呢?
    首先,修改文件系统的配置文件/etc/fstab,然后,在包含大量小文件的分区中使用noatime和nodiratime这两个命令。例如:
/dev/sda5 /data/pics ext3 noatime,nodiratime 0 0

这样文件被访问时就不会再产生写磁盘的I/O了。

修改SSH登录配置

SSH服务配置优化,请保持机器中至少包含一个具有sudo权限的用户,下面的配置会禁止root远程登录,代码内容如下所示:

sed -i 's@#PermitRootLogin yes@PermitRootLogin no@' /etc/ssh/sshd_config 
#禁止root远程登录
sed -i 's@#PermitEmptyPasswords no@PermitEmptyPasswords no@' /etc/ssh/sshd_config       
#禁止空密码登录
sed -i 's@#UseDNS yes@UseDNS no@' /etc/ssh/sshd_config /etc/ssh/sshd_config 
#关闭SSH反向查询,以加快SSH的访问速度

增加具有sudo权限的用户

添加用户的步骤和过程比较简单(这里略过),由于系统已经禁止了root远程登录,因此需要一个具有sudo权限的admin用户,权限跟root相当,这里用vim命令,在打开的/etc/sudoers文件内容里添加如下内容:

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
admin   ALL=(ALL)       ALL
#如果在进行sudo切换时不想输入密码,可以做如下更改:
#admin  ALL=(ALL) NOPASSWD:ALL
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,127评论 2 34
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,118评论 9 467
  • 基础命令 为了在 sudo 中设置权限提升,您需要编辑 sudoers 文件。 你不应该直接编辑文件,而是使用:s...
    米开朗基乐阅读 1,881评论 0 5
  • 1、第八章 Samba服务器2、第八章 NFS服务器3、第十章 Linux下DNS服务器配站点,域名解析概念命令:...
    哈熝少主阅读 3,702评论 0 10
  • 1.Linux下如何用命令查看实时日志(完整命令) tail -f 路径.log查看前多少行 tai-200f 路...
    qianyewhy阅读 2,245评论 0 11