#!/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. Python-14-常用模块

    一.time&datatime 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 ...

  2. Python中的int函数

    python帮组文档 class int(x, base=10) Return an integer object constructed from a number or string x, or ...

  3. Jmeter_自带脚本录制

    1.http请求+查看结果树 代理服务器操作步骤 1.创建一个线程组(右键点击“测试计划“---> ”添加“ ---> ”线程组“) 2.创建一个http代理服务器(右键“测试计划”--& ...

  4. webapi初学项目(增删改查),webapi增删

    wenapi做了一个从数据库增删改查的项目 webapi: 1.创建项目:visual C# —> ASP.NET MVC 4 web应用程序 模板—>web api; 2.注册路由: 路 ...

  5. nginx在Windows环境安装

    nginx介绍 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...

  6. ubuntu gcc 降级 适应matlab

    一.安装gcc 4.7 Ubuntu14.04自带的gcc版本是4.8,MATLAB2014a支持的最高版本为4.7x.因此,需要安装gcc4.7,并给gcc降级 在终端执行gcc 4.7的安装命令: ...

  7. H3C S3600V2 通过CONSOLE配置端口镜像

    前24口为百兆口 对应序号为 Ethernet 1/0/(0~24) 25 26为千兆口 对应序号为 GigabitEthernet 1/0/(25~26) 以下是通过25号千兆口监听1号百兆口的例子 ...

  8. python 直角图标生成圆角图标

    参考链接:https://stackoverflow.com/questions/11287402/how-to-round-corner-a-logo-without-white-backgroun ...

  9. Python3 压缩与解压缩(zlib / gzip / bz2 / lzma / zipfile / tarfile)

    本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog.csdn.net/Rozol/article/details/72672703 以下代码以Python3.6.1为例 L ...

  10. OO第三单元(地铁,JML)单元总结

    OO第三单元(地铁,JML)单元总结 这是我们OO课程的第二个单元,这个单元的主要目的是让我们熟悉并了解JML来是我们具有规格化编程架构的思想.这个单元的主题一开始并不明了,从第一次作业的路径到第二次 ...