Linux服务器 CentOS 6系列最小化安装优化脚本详解02————修改history记录、定时校正服务器时间、停止IPv6网络服务、调整最大文件打开数、关闭写磁盘I/O功能、配置SSH服务
来源:互联网 发布:天下三男号捏脸数据 编辑:程序博客网 时间:2024/06/06 01:29
Linux服务器 CentOS 6系列最小化安装优化脚本详解02————修改history记录、定时校正服务器时间、停止IPv6网络服务、调整最大文件打开数、关闭写磁盘I/O功能、配置SSH服务
修改SHELL命令的history记录个数
通过修改/etc/profile
中的HISTSIZE
的值即可,使用sed命令修改如下:
[root@private ~]# sed -n '/HISTSIZE/p' /etc/profileHISTSIZE=1000export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL[root@private ~]# sed -n '/HISTSIZE=/ s/=.*/=100/p' /etc/profileHISTSIZE=100[root@private ~]# sed -i '/HISTSIZE=/ s/=.*/=100/' /etc/profile[root@private ~]# sed -n '/HISTSIZE/p' /etc/profileHISTSIZE=100export 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.243time-ios.g.aaplimg.com. 38 IN A 17.253.72.241time-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 ipv6nf_conntrack_ipv6 8748 2 nf_defrag_ipv6 11182 1 nf_conntrack_ipv6nf_conntrack 79758 3 nf_conntrack_ipv4,nf_conntrack_ipv6,xt_stateipv6 317340 267 ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6[root@private ~]#
可以根据业务的需求进行选择是否禁用IPv6。
首先需要确认IPv6是否处于被启动的状态,命令如下:
[root@private ~]# ifconfig -aeth1 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/bashfor pid in `ps aux |grep nginx |grep -v grep|awk '{print $2}'`docat /proc/${pid}/limits |grep 'Max open files'done
启动网卡
在配置CentOS 6.4的网卡IP地址时,容易忽略的一项是Linux在启动时未启动网卡,其后果很明显,那就是该Linux机器永远也没有IP地址。下面是一台线上环境服务器网卡/etc/sysconfig/network-scripts/ifcfg-eth0文件的配置内容:
DEVICE=eth0BOOTPROTO=staticHWADDR=00:14:22:1B:71:20IPV6INIT=noIPV6_AUTOCONF=yesONBOOT=yes ——>此项一定要记得更改为yes,它会在系统引导时就启动网卡设备NETMASK=255.255.255.192IPADDR=203.93.236.146GATEWAY=203.93.236.129TYPE=EthernetPEERDNS=yes ——>允许用从DHCP处获得的DNS覆盖本地的DNSUSERCTL=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 anywhereroot ALL=(ALL) ALLadmin ALL=(ALL) ALL#如果在进行sudo切换时不想输入密码,可以做如下更改:#admin ALL=(ALL) NOPASSWD:ALL
- Linux服务器 CentOS 6系列最小化安装优化脚本详解02————修改history记录、定时校正服务器时间、停止IPv6网络服务、调整最大文件打开数、关闭写磁盘I/O功能、配置SSH服务
- Linux服务器 CentOS 6系列最小化安装优化脚本详解01————yum优化、优化启动服务、调整TTY数量、调整TCP/IP网络参数
- 定时校正Linux服务器时间
- Centos 7服务器搭建(一)—最小化安装
- Linux服务器时间校正
- Nginx系列—修改Nginx进程最大可打开文件数(worker_processes和worker_connections)
- linux——ssh服务器的配置
- Linux 高性能服务器编程——I/O复用
- Linux高性能服务器编程——I/O复用
- Linux高性能服务器编程——I/O复用
- Linux高性能服务器编程——I/O复用
- I/O多路复用—select服务器
- I/O多路复用—epoll服务器
- I/O多路复用—poll服务器
- Oracle数据库优化——数据库磁盘I/O
- Rhyme/ linux Bash基本功能—历史命令history配置详解、修改历史命令保存条数、历史命令的调用
- Apache系列—服务器安装与配置
- MySQL系列—服务器安装与配置
- Android学习历程--新闻客户端实现
- python使用monkeyrunner对录制脚本进行回放脚本
- gson和JavaBean之间的转换
- JavaScript中的Null类型
- DigitalOcean VPS之volume的使用
- Linux服务器 CentOS 6系列最小化安装优化脚本详解02————修改history记录、定时校正服务器时间、停止IPv6网络服务、调整最大文件打开数、关闭写磁盘I/O功能、配置SSH服务
- web页面一些移动端样式属性设置
- Android studio如何创建一个AIDL文件
- Leetcode——11. Container With Most Water
- mysql模糊查询的几种方法
- 读书笔记之代理模式
- 设置div中文字超出时自动换行和css实现文本超出N行之后显示省略号等
- DW下载激活和如何使用DW确定map图片的coords坐标
- Apache的URL重写