#!/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服务器初始化(防火墙、内核优化、时间同步、打开文件数)的更多相关文章

  1. [转载]Linux服务器性能评估与优化

    转载自:Linux服务器性能评估与优化 一.影响Linux服务器性能的因素 1. 操作系统级 CPU 内存 磁盘I/O带宽 网络I/O带宽 2.        程序应用级 二.系统性能评估标准 影响性 ...

  2. Linux服务器性能评估与优化

    一.影响务器性能因素 影响企业生产环境Linux服务器性能的因素有很多,一般分为两大类,分别为操作系统层级和应用程序级别.如下为各级别影响性能的具体项及性能评估的标准: (1)操作系统级别 内存: C ...

  3. Linux服务器性能评估与优化--转

    http://www.itlearner.com/article/4553 一.影响Linux服务器性能的因素 1. 操作系统级 Ø       CPU Ø       内存 Ø       磁盘I/ ...

  4. Linux服务器性能评估与优化(二)

    网络内容总结(感谢原创) 1.Linux内核参数优化 内核参数是用户和系统内核之间交互的一个接口,通过这个接口,用户可以在系统运行的同时动态更新内核配置,而这些内核参数是通过Linux Proc文件系 ...

  5. Linux服务器性能评估与优化(一)

    网络内容总结(感谢原创) 1.前言简介 一.影响Linux服务器性能的因素   1. 操作系统级         性能调优是找出系统瓶颈并消除这些瓶颈的过程. 很多系统管理员认为性能调优仅仅是调整一下 ...

  6. Linux服务器性能分析与优化

    影响服务器性能的因素: CPU :大部分cpu在同一时间只能运行一个线程,超线程的处理器可以在同一时间处理多个线程,因此可以利用超线程特性提高系统性能. 在linux系统下,只有运行SMP内核才能支持 ...

  7. 新建linux服务器初始化操作

    1.关闭不需要的服务 首先确定服务器有没有ntsysv命令,如果没有的话,直接使用yum安装即可. 使用ntsysv关闭不需要的服务以节省服务器资源 需要打开的服务如下: crond:周期性计划任务 ...

  8. linux服务器开放防火墙和端口,以及查询状态

    自己搞一个自己网站时候,购买的阿里云服务器,发现部署项目访问不到,首先需要确认入站规则是否配置. 一.安全组列表添加 1.打开安全组列表 2.添加入站规则 3.添加安全组规则 二.通过防火墙,开启端口 ...

  9. Linux服务器初始化调优及安全加固

    一,开启iptables 仅开放必要的SSH端口和监控端口 示例:SSH tcp 22snmpd udp 161nrpe tcp 5666本人公网IP全端口开放 二,除非特别熟悉selinux配置,否 ...

随机推荐

  1. django.db.utils.ProgrammingError: 1146 解决办法

    出现原因: 因为直接在mysql中删除了表或者在执行过一次迁移后,在modles中修改了表名及对应的方法和引用 产生后果: 1.迁移的过程中可能出现表不存在的报错情况 2.迁移过程没有报错,在admi ...

  2. github上热门深度学习项目

    github上热门深度学习项目 项目名 Stars 描述 TensorFlow 29622 使用数据流图进行可扩展机器学习的计算. Caffe 11799 Caffe:深度学习的快速开放框架. [Ne ...

  3. Educational Codeforces Round 66 (Rated for Div. 2)

    A.直接模拟. #include<cstdio> #include<cstring> #include<iostream> #include<algorith ...

  4. 作业调度框架Quartz.NET-现学现用-01-快速入门

    原文:作业调度框架Quartz.NET-现学现用-01-快速入门 前言 你需要应用执行一个任务吗?这个任务每天或每周星期二晚上11:30,或许仅仅每个月的最后一天执行.一个自动执行而无须干预的任务在执 ...

  5. MES系统之设备管理的基础功能

    设备是制造企业进行生产的主要物质技术基础,制造企业的生产率.产品质量.生产成本都与设备直接相关.因此,正确使用.定时保养.及时检修维护设备,并对设备的运行性能进行分析,使设备处于良好的状态,才能保证企 ...

  6. Net core 2.x 升级 3.0 使用自带 System.Text.Json 时区 踩坑经历

    .Net Core 3.0 更新的东西很多,这里就不多做解释了,官方和博园大佬写得很详细 关于 Net Core 时区问题,在 2.1 版本的时候,因为用的是 Newtonsoft.Json,配置比较 ...

  7. IdentityServer4实现OAuth2.0四种模式之授权码模式

    接上一篇:IdentityServer4实现OAuth2.0四种模式之隐藏模式 授权码模式隐藏码模式最大不同是授权码模式不直接返回token,而是先返回一个授权码,然后再根据这个授权码去请求token ...

  8. ES6- - Map与Set

    Map和Set 是 ES6 中新增的一种数据结构.Map为类似于Object的键值对结构,Set为成员唯一的类数组结构.以Map为例介绍两种数据结构的遍历方法.for...of var map = n ...

  9. 谷歌浏览器解决ajax跨域问题

    在用mui和H5+做混合开发,会利用HBuildx去真机调试,可真机调试总有问题所在,懂得人自然懂,而我们直接打开页面显示的只有一个静态的页面,是获取不到数据的在这里我想说的不是代码中利用jsonp, ...

  10. Fortify漏洞之Denial of Service: Regular Expression

    继续对Fortify的漏洞进行总结,本篇主要针对  Denial of Service: Regular Expression  漏洞进行总结,如下: 1.Denial of Service: Reg ...