生产服务器环境最小化安装Centos优化配置 Linux教程


1.sshd优化:

cp /etc/ssh/sshd_config sshd_config_bak  # 备份SSH配置  
vi /etc/ssh/sshd_config # 修改SSH安全配置  
port 55555 #SSH链接默认端口 
PermitRootLogin no # 禁止root账号登陆
PermitEmptyPasswords no #禁止空密码 
UseDNS no # 不使用DNS, 本机网络dns变化也会导致xshell自动断开连
GSSAPIAuthentication no # SSH登陆远程卡、慢的解决的办法
#防止ssh客户端超时#
ClientAliveInterval 30  # 客户端每隔多少秒向服务发送一个心跳数据
ClientAliveCountMax 99  # 客户端多少秒没有相应,服务器自动断掉连接
MaxAuthTries=10  # 这仅是超过10次验证错误断开连接。
systemctl restart sshd  # service sshd restart 重启
# Linux中查看SSH登录失败次数:
cat /var/log/secure* | grep 'Failed password' | grep sshd | awk '{print $1,$2}' | sort | uniq -c
netstat -lnt     # 查看端口里面是否有刚才修改过的端口号55555
lsof -i tcp:55555 # 或者反查端口是那个进程
yum -y install lsof  # centos最小化安装没有lsof工具需要:

2.修改主机名,切换阿里源:

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup /*备份*/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo /*下载*/
yum makecache /*生成缓存*/
yum -y install epel-release
hostnamectl set-hostname xxx  /*修改centos7主机名*/
yum -y install gcc   /*从软件仓库下载gcc,然后安装,这个是编译器*/
yum -y install make  /*安装make,这个是自动编译源码的工具,写好makefile就可以方便编译*/
yum -y install kernel-headers /*安装内核头文件,编译内核,驱动必要的头文件*/
yum -y install kernel-devel  /*,可以不安装,内核源码 重新编译内核用*/
yum -y install php-bcmath /*高精度数学运算组件,默认没安装,MD5运算时用到*/
yum -y install php-devel  /*php相关开发包,比如相关c header什么的。一般手动编译php扩展的时候用*
cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime /*就改时区了*/
/*系统时间更新和设定定时任务, 更新时间并且写入BOIS*/
yum -y install ntpdate 
ntpdate time.windows.com && hwclock -w && hwclock --systohc
vi /etc/sysconfig/network-scripts/ifcfg-eth0 /*网卡配置*/   
vi /etc/sysconfig/network /*网关配置*/
vi /etc/resolv.conf /*DNS配置*/
nameserver 8.8.8.8
nameserver 4.4.4.4
vi /etc/hosts /*hosts配置*/
重启网卡生效设置两种方法: service network restart  或者 /etc/init.d/network restart

3、关闭selinux,清空iptables 在服务器配置完全成功后各项服务正常后,在开启selinux

cat /etc/selinux/config  # 查看selinux状态
vi /etc/selinux/config   # 修改selinux状态
SELINUX=disabled         # 记得又重启电脑

 iptables 维护 : https://abc.htmltoo.com/thread-369.htm

4、创建普通用户并进行sudo授权管理 

linux下创建新用户并且限定用户主目录:  https://abc.htmltoo.com/thread-594.htm

su root  # 进入超级用户模式
chmod u+w /etc/sudoers  # 添加文件的写权限
chmod u-w /etc/sudoers  # 撤销文件的写权限
useradd ihunter  # 创建普通用户  
passwd  ihunter  # 修改用户密码
echo "123456"|passwd --stdin ihunter&&history –c  # 一次性创建用户和设置密码 
vi /etc/sudoers  # 编辑用户sudoers权限
#按:set nu 查看行,找到99行 
root ALL=(ALL) ALL 
#添加 
ihunter ALL=(ALL) ALL
admin ALL=(ALL) NOPASSWD: ALL  修改为新的授权,意思是不需要密码执行

5、锁定关键文件系统(禁止非授权用户获得权限)

chattr +i /etc/passwd 
chattr +i /etc/inittab 
chattr +i /etc/group 
chattr +i /etc/shadow 
chattr +i /etc/gshadow

6、精简开机自启动服务
注意: 刚装完操作系统一般可以只保留crond,network,syslog,sshd这四个服务。 后期根据业务需求制定自启服务 #(Centos6.x为rsyslog Cetnos5.x为syslog) 如果是中文的话。可能会需要LANG=en 或者替换 3:on 成 3:启用

#关闭全部服务
for sun in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $sun off;done

#或者
for sun in `chkconfig --list|grep 3:启用|awk '{print $1}'`;do chkconfig --level 3 $sun off;done

#开启需要的服务
for sun in crond rsyslog sshd network;do chkconfig --level 3 $sun on;done

#或者需要使用防火墙的话可以开启iptables和ip6tables
for sun in crond rsyslog sshd network iptables ip6tables;do chkconfig --level 3 $sun on;done

查询下开启的服务 chkconfig –list | grep 3:on 或者 chkconfig –list|grep 3:启用

[bingoku@c65mini ~]$ chkconfig --list|grep 3:启用
crond           0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
ip6tables       0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
iptables        0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
network         0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
rsyslog         0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
sshd            0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭

7、调整文件描述符大小

ulimit -n #查看文件描述符大小
vi /etc/security/limits.conf 
# End of file
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535

8、内核参数优化 vi /etc/sysctl.conf

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 = 51200 131072 204800
net.ipv4.tcp_rmem = 51200 131072 204800
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.ip_conntrack_max = 65536
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.icmp_echo_ignore_all=1 
fs.file-max=65535
vm.swappiness = 0
vm.overcommit_memory = 1
vm.max_map_count=655360

sysctl -p # 使参数生效,永久生效

iptables -A INPUT -p icmp --icmp-type 8 -j DROP
service iptables save
systemctl restart iptables.service

9、删除不必要的系统用户和群组

#删除不必要的用户
userdel adm
userdel lp
userdel sync
userdel shutdown
userdel halt
userdel news
userdel uucp
userdel operator
userdel games
userdel gopher
userdel ftp
#删除不必要的群组
groupdel adm
groupdel lp
groupdel news
groupdel uucp
groupdel games
groupdel dip
groupdel pppusers

10.yum -y install lftp  

11.6步骤实现CentOS系统环境精简优化.

12.高负载的服务器,Linux内核参数调整参考. linux 内核参数调整优化网络.

 CentOS内核优化示例sysctl.conf、iptables、limits.conf

13.Linux清除日志

cat /dev/null > /var/log/wtmp
cat /dev/null > /var/log/messages
cat /dev/null > /var/log/secure
cat /dev/null > /var/log/lastlog
rm -f /var/log/wtmp*
rm -f /root/.bash_history
touch .hushlogin
history -c
cat /dev/null > /var/log/syslog
cat /dev/null > /var/adm/sylog
cat /dev/null > /var/log/wtmp
cat /dev/null > /var/log/maillog
cat /dev/null > /var/log/messages
cat /dev/null > /var/log/openwebmail.log
cat /dev/null > /var/log/maillog
cat /dev/null > /var/log/secure
cat /dev/null > /var/log/httpd/error_log
cat /dev/null > /var/log/httpd/ssl_error_log
cat /dev/null > /var/log/httpd/ssl_request_log

99.其他安装.

yum -y install epel-release
rpm --nosignature -i https://repo.varnish-cache.org/redhat/varnish-4.1.el7.rpm
(查询: rpm -qa | grep varnish  卸载: rpm -e  varnish-release-4.1-2.el7.noarch)
(or: rpm --nosignature -i https://repo.varnish-cache.org/redhat/varnish-4.1.el6.rpm for RHEL6)
yum install varnish
service varnish start
下载地址为:https://github.com/phpredis/phpredis。
cd phpredis-develop
# php安装后的路径,需结合实际情况,可用whereis命令查看:whereis phpize
/usr/local/php/bin/phpize  
# 此处为php-config的路径,可用whereis php-config查看路径         
./configure --with-php-config=/usr/local/php/bin/php-config  
make && make install
vi /usr/local/php/etc/php.ini
添加:
[Redis]
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/" 
extension=redis.so
service php-fpm reload
bind 127.0.0.1 ::1
bind 0.0.0.0

100.yum安装,更新.移除,查询: 

yum命令  https://abc.htmltoo.com/thread-393.htm

rpm命令  https://abc.htmltoo.com/thread-392.htm

yum安装卸载软件
更新:yum update
安装:yum install xxx
移除:yum remove xxx
清除已经安装过的档案(/var/cache/yum/):yum clean all
搜寻:yum search xxx
列出所有档案:yum list
查询档案讯息:yum info xxx
安装rpm软件包: rpm -ivh your-package.rpm
卸载rpm安装的jkd版本: 
rpm -qa|grep jdk #查找 
rpm -e jdk-1.6.0_16-fcs #卸载
rpm -qa 讲列出所有安装过的包
yum check-update /*检查全部更新*/
yum update /*更新全部更新*/
yum clean all /*清理全部缓存的安装文件以节省空间*/


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回