linux服务器初始化(防火墙、内核优化、时间同步、打开文件数)
#!/bin/bash read -p 'enter the network segment for visiting the server:' ips # 关闭firewalld和selinux
systemctl stop firewalld
systemctl disable firewalld
sed -i 's\SELINUX=enforcing\SELINUX=disabled\g' /etc/selinux/config
setenforce # 配置时间同步(阿里源)
yum install -y ntpdate
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntpdate ntp1.aliyun.com
# 配置iptables 防火墙
rpm -qa iptables-services
if [ $? -ne ];then
yum -y install iptables-services
fi iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p all -s ips -j ACCEPT
iptables -P INPUT DROP
iptables-save > /etc/sysconfig/iptables
systemctl enable iptables # 下载常用工具
yun -y install vim wget # 设置系统时间及显示方式
# tzselect
#rm -rf /etc/localtime
#ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 系统优化(system optimization) cat <<EOF > /etc/sysctl.conf
#禁用包过滤功能
net.ipv4.ip_forward =
#启用源路由核查功能
net.ipv4.conf.default.rp_filter =
#禁用所有IP源路由
net.ipv4.conf.default.accept_source_route =
#使用sysrq组合键是了解系统目前运行情况,为安全起见设为0关闭
kernel.sysrq =
#控制core文件的文件名是否添加pid作为扩展
kernel.core_uses_pid =
#开启SYN Cookies,当出现SYN等待队列溢出时,启用cookies来处理
net.ipv4.tcp_syncookies =
#每个消息队列的大小(单位:字节)限制
kernel.msgmnb =
#整个系统最大消息队列数量限制
kernel.msgmax =
#单个共享内存段的大小(单位:字节)限制,计算公式64G***(字节)
kernel.shmmax =
#所有内存大小(单位:页,1页 = 4Kb),计算公式16G***/4KB(页)
kernel.shmall =
#timewait的数量,默认是180000
net.ipv4.tcp_max_tw_buckets =
#开启有选择的应答
net.ipv4.tcp_sack =
#支持更大的TCP窗口. 如果TCP窗口最大超过65535(64K), 必须设置该数值为1
net.ipv4.tcp_window_scaling =
#TCP读buffer
net.ipv4.tcp_rmem =
#TCP写buffer
net.ipv4.tcp_wmem =
#为TCP socket预留用于发送缓冲的内存默认值(单位:字节)
net.core.wmem_default =
#为TCP socket预留用于发送缓冲的内存最大值(单位:字节)
net.core.wmem_max =
#为TCP socket预留用于接收缓冲的内存默认值(单位:字节)
net.core.rmem_default =
#为TCP socket预留用于接收缓冲的内存最大值(单位:字节)
net.core.rmem_max =
#每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
net.core.netdev_max_backlog =
#web应用中listen函数的backlog默认会给我们内核参数的net.core.somaxconn限制到128,而nginx定义的NGX_LISTEN_BACKLOG默认为511,所以有必要调整这个值
net.core.somaxconn =
#系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上。这个限制仅仅是为了防止简单的DoS攻击,不能过分依靠它或者人为地减小这个值,更应该增加这个值(如果增加了内存之后)net.ipv4.tcp_max_orphans = #记录的那些尚未收到客户端确认信息的连接请求的最大值。对于有128M内存的系统而言,缺省值是1024,小内存的系统则是128
net.ipv4.tcp_max_syn_backlog =
时间戳可以避免序列号的卷绕。一个1Gbps的链路肯定会遇到以前用过的序列号。时间戳能够让内核接受这种“异常”的数据包。这里需要将其关掉
net.ipv4.tcp_timestamps =
#为了打开对端的连接,内核需要发送一个SYN并附带一个回应前面一个SYN的ACK。也就是所谓三次握手中的第二次握手。这个设置决定了内核放弃连接之前发送SYN+ACK包的数量
net.ipv4.tcp_synack_retries =
#在内核放弃建立连接之前发送SYN包的数量
net.ipv4.tcp_syn_retries =
#开启TCP连接中time_wait sockets的快速回收
net.ipv4.tcp_tw_recycle =
#开启TCP连接复用功能,允许将time_wait sockets重新用于新的TCP连接(主要针对time_wait连接)
net.ipv4.tcp_tw_reuse =
#1st低于此值,TCP没有内存压力,2nd进入内存压力阶段,3rdTCP拒绝分配socket(单位:内存页)
net.ipv4.tcp_mem =
#如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。对端可以出错并永远不关闭连接,甚至意外当机。缺省值是60 秒。2.2 内核的通常值是180秒,你可以按这个设置,但要记住的是,即使你的机器是一个轻载的WEB服务器,也有因为大量的死套接字而内存溢出的风险,FIN- WAIT-2的危险性比FIN-WAIT-1要小,因为它最多只能吃掉1.5K内存,但是它们的生存期长些。
net.ipv4.tcp_fin_timeout =
#表示当keepalive起用的时候,TCP发送keepalive消息的频度(单位:秒)
net.ipv4.tcp_keepalive_time =
#对外连接端口范围
net.ipv4.ip_local_port_range =
#表示文件句柄的最大数量
fs.file-max =
EOF
#使配置文件生效
sysctl –p # 设置进程最大可打开的文件数
cat <<EOF >> //etc/security/limits.conf
# 用户或组 硬限制或软限制 限制的项目 限制的值
* soft nofile
* hard nofile 100000
* soft noproc 110000
* hard noproc 110000
EOF
# ulimit -a # 查看所有属性值
ulimt -Hn # 设置硬限制(临时规则)
ulimt -Sn # 设置软限制(临时规则)
# 解决time_wait 过多
net.ipv4.tcp_max_tw_buckets =
net.ipv4.tcp_max_syn_backlog =
net.ipv4.tcp_keepalive_time =
net.ipv4.ip_local_port_range =
net.ipv4.tcp_tw_reuse =
net.ipv4.tcp_syncookies =
net.ipv4.tcp_tw_recycle =
net.ipv4.tcp_fin_timeout =
linux服务器初始化(防火墙、内核优化、时间同步、打开文件数)的更多相关文章
- [转载]Linux服务器性能评估与优化
转载自:Linux服务器性能评估与优化 一.影响Linux服务器性能的因素 1. 操作系统级 CPU 内存 磁盘I/O带宽 网络I/O带宽 2. 程序应用级 二.系统性能评估标准 影响性 ...
- Linux服务器性能评估与优化
一.影响务器性能因素 影响企业生产环境Linux服务器性能的因素有很多,一般分为两大类,分别为操作系统层级和应用程序级别.如下为各级别影响性能的具体项及性能评估的标准: (1)操作系统级别 内存: C ...
- Linux服务器性能评估与优化--转
http://www.itlearner.com/article/4553 一.影响Linux服务器性能的因素 1. 操作系统级 Ø CPU Ø 内存 Ø 磁盘I/ ...
- Linux服务器性能评估与优化(二)
网络内容总结(感谢原创) 1.Linux内核参数优化 内核参数是用户和系统内核之间交互的一个接口,通过这个接口,用户可以在系统运行的同时动态更新内核配置,而这些内核参数是通过Linux Proc文件系 ...
- Linux服务器性能评估与优化(一)
网络内容总结(感谢原创) 1.前言简介 一.影响Linux服务器性能的因素 1. 操作系统级 性能调优是找出系统瓶颈并消除这些瓶颈的过程. 很多系统管理员认为性能调优仅仅是调整一下 ...
- Linux服务器性能分析与优化
影响服务器性能的因素: CPU :大部分cpu在同一时间只能运行一个线程,超线程的处理器可以在同一时间处理多个线程,因此可以利用超线程特性提高系统性能. 在linux系统下,只有运行SMP内核才能支持 ...
- 新建linux服务器初始化操作
1.关闭不需要的服务 首先确定服务器有没有ntsysv命令,如果没有的话,直接使用yum安装即可. 使用ntsysv关闭不需要的服务以节省服务器资源 需要打开的服务如下: crond:周期性计划任务 ...
- linux服务器开放防火墙和端口,以及查询状态
自己搞一个自己网站时候,购买的阿里云服务器,发现部署项目访问不到,首先需要确认入站规则是否配置. 一.安全组列表添加 1.打开安全组列表 2.添加入站规则 3.添加安全组规则 二.通过防火墙,开启端口 ...
- Linux服务器初始化调优及安全加固
一,开启iptables 仅开放必要的SSH端口和监控端口 示例:SSH tcp 22snmpd udp 161nrpe tcp 5666本人公网IP全端口开放 二,除非特别熟悉selinux配置,否 ...
随机推荐
- 链表习题(6)-链表返回倒数第k个数的位置的值
/*链表返回倒数第k个数的位置的值*/ /* 算法思想:先取得链表的长度len,之后获取len-k+1的位置元素的值 */ Elemtype Getelem_rear(LinkList L, int ...
- AS3.0频谱-01
AS3.0频谱系列-01: package fengzi.spectrum { //import fengzi.colors.GetColor; import flash.display.Sprite ...
- JXOI2018
发现自己不会T3可以退群了 排序问题(组合.模拟) 可以发现Gobo Sort相当于在所有排列中随机选择一个,所以当第\(i\)个数出现次数为\(a_i\)时,期望的Sort次数就是\(\frac{( ...
- 一步一步手写GIS开源项目-(2)地图平移缩放实现
系列文章目录 一步一步手写GIS开源项目-(1)500行代码实现基础GIS展示功能 一步一步手写GIS开源项目-(2)地图平移缩放实现 项目github地址:https://github.com/Hu ...
- python pip 切换阿里云镜像
示例: pip install xxx -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
- 【转载】Java对象的生命周期
Java对象的生命周期 在Java中,对象的生命周期包括以下几个阶段: 1. 创建阶段(Created) 2. 应用阶段(In Use) 3. 不可见阶段(Invisib ...
- 混编用到 C++中数组和vector 复习下大学课本
本文基于邓俊辉编著<数据结构(C++语言版)(第3版)>.<C++ Primer(第5版)>以及网上的相关博文而写,博主水平有限,若有不妥处,欢迎指出. 一.数组 C++中数组 ...
- SIM7500 SIM7600 SIM800 HTTP
解释 //Start HTTP service AT+HTTPINIT //Stop HTTP service AT+HTTPTERM //Set HTTP Parameters value /* & ...
- [LeetCode] 62. 不同路径 ☆☆☆(动态规划)
动态规划该如何优化 描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为“Fi ...
- MySQL Replication--双主结构优缺点
双主架构图 双主架构实现原理当从库IO线程接受到主库传递来的二进制日志(Binlog)并将之保存为从库的中继日志(relay log),然后从库SQL线程将中继日志(relay log)的事件重做到从 ...