分享个简易版Linux服务器初始化Shell脚本

该Shell脚本主要用于新安装Linux服务器系统的初始化工作,具体包括:

关闭IPv6模块
关闭SELinux
让vim显示颜色
设置系统语言编码
优化系统服务
内核参数优化等。
可以根据自己的实际情况修改,可用于生产环境。原作者是NetSeek,本人做了部分修改。

代码如下:

#!/bin/sh
# desc: lsm03624 modified by www.webnginx.com
#-------------------cut begin-------------------------------------------
#welcome
cat << EOF
+--------------------------------------------------------------+
| === Welcome to Centos System init === |
+--------------http://www.linuxtone.org------------------------+
+----------------------Author:NetSeek--------------------------+
EOF
#disable ipv6
cat << EOF
+--------------------------------------------------------------+
| === Welcome to Disable IPV6 === |
+--------------------------------------------------------------+
EOF
echo "alias net-pf-10 off" >> /etc/modprobe.conf
echo "alias ipv6 off" >> /etc/modprobe.conf
/sbin/chkconfig --level 35 ip6tables off
echo "ipv6 is disabled!"

#disable selinux
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
echo "selinux is disabled,you must reboot!"

#vim
sed -i "8 s/^/alias vi='vim'/" /root/.bashrc
echo 'syntax on' > /root/.vimrc

#zh_cn
sed -i -e 's/^LANG=.*/LANG="zh_CN.UTF-8"/' /etc/sysconfig/i18n
# configure file max to 52100
echo "* soft nofile 52100
* hard nofile 52100" >> /etc/security/limits.conf

#tunoff services
#--------------------------------------------------------------------------------
cat << EOF
+--------------------------------------------------------------+
| === Welcome to Tunoff services === |
+--------------------------------------------------------------+
EOF
#---------------------------------------------------------------------------------
for i in `ls /etc/rc3.d/S*`
do
CURSRV=`echo $i|cut -c 15-`

echo $CURSRV
case $CURSRV in
cpuspeed | crond | irqbalance | microcode_ctl | mysqld | network | nginx | php-fpm | sendmail | sshd | syslog )
#这个启动的系统服务根据具体的应用情况设置,其中network、sshd、syslog是三项必须要启动的系统服务!
echo "Base services, Skip!"

*)
echo "change $CURSRV to off"
chkconfig --level 235 $CURSRV off
service $CURSRV stop

esac
done

rm -rf /etc/sysctl.conf
echo "net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 134217728
net.ipv4.ip_local_port_range = 1024 65536
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_fin_timeout = 3
net.ipv4.tcp_tw_recycle = 1
net.core.netdev_max_backlog = 30000
net.ipv4.tcp_no_metrics_save = 1
net.core.somaxconn = 262144
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
vm.swappiness = 6" >> /etc/sysctl.conf
echo "optimizited kernel configure was done!"

(0)

相关推荐

  • linux系统的初始化配置浅析

    一.网络的初始化 1.ip地址的修改(临时生效) 使用ifconfig命令 ifconfig 网卡名 ip地址 子网掩码 [root@localhost /]# ifconfig eno16777736 192.168.100.112/24 1.ip地址的修改(永久生效) 修改/etc/sysconfig/network-scripts 目录下的网卡文件 [root@localhost /]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736

  • 分享个简易版Linux服务器初始化Shell脚本

    该Shell脚本主要用于新安装Linux服务器系统的初始化工作,具体包括: 关闭IPv6模块 关闭SELinux 让vim显示颜色 设置系统语言编码 优化系统服务 内核参数优化等. 可以根据自己的实际情况修改,可用于生产环境.原作者是NetSeek,本人做了部分修改. 复制代码 代码如下: #!/bin/sh # desc: lsm03624 modified by www.webnginx.com #-------------------cut begin-------------------

  • 教你使用Python实现一个简易版Web服务器

    目录 一.简介 二.Web服务器基础概念 三.Python网络编程库 四.实现简易Web服务器 1.使用socket库创建服务器套接字. 2.绑定服务器IP地址和端口. 3.监听客户端连接. 4.接受客户端连接并处理请求. 五.处理HTTP请求 六.返回静态文件 1.根据请求URL读取文件内容. 2.根据文件内容构建HTTP响应. 七.测试与优化 八.总结及拓展 九.补充:多线程处理客户端请求 一.修改处理客户端请求的函数 二.使用多线程处理客户端请求 三.完整的多线程Web服务器代码 一.简介

  • Linux下使用Shell脚本获取终端宽度的解决方法

    获取终端大小时候的学习 在写shell脚本时想输出一行占满整个终端屏幕宽度的 横杠 发现for循环会导致执行缓慢 解决方法: 使用yes 命令 sed '50q' 显示50行 tr -d '\n' 删除 \n 多次重复输入相同字符可用yes yes "2" | sed '50q' | tr -d '\n' 想法来自:打印100个连续的符号,不用循环 ---------------------------------------------------------------------

  • Linux下使用shell脚本自动执行脚本文件

    以下实例本人在Centos6.5 64位操作系统中使用 一.定时复制文件 a.在/usr/local/wfjb_web_back目录下创建 tomcatBack.sh文件 文件内容: #将tomcat中的应用wfjb_web 复制到 /usr/local/wfjb_web_back/tomcat_back/目录下 并按照日期作为文件名称 cp -af /usr/local/apache-tomcat-7.0.73/webapps/wfjb_web /usr/local/wfjb_web_back

  • linux下采用shell脚本实现批量为指定文件夹下图片添加水印的方法

    要实现linux下采用shell脚本批量为指定文件夹下图片添加水印,首先需要安装imagemagick: CentOS上安装: yum install ImageMagick -y Debian上安装: apt-get install ImageMagick -y 脚本: #!/bin/bash for each in /要处理的图片目录/*{.jpg,.gif} s=`du -k $each | awk '{print $1}'` if [ $s -gt 10 ]; then #convert

  • linux 服务器自动备份脚本的方法(mysql、附件备份)

    一.创建backup.sh脚本文件 #!/bin/sh SOURCE_FOLDER=/data DB_FOLDER=/data/db BACKUP_FOLDER=/data/backup TM=`date +%Y%m%d%H%M%S` echo start to dump mysql database and backup files at $TM # delete old sql backup files cd $DB_FOLDER rm -rf $DB_FOLDER/*.sql #dump

  • Linux 下使用shell脚本定时维护数据库的案例

    疫情期间哪哪也不能在,天天在家宅着快闷出病了,今天跟着韩顺平老师的视频学了一个星期的Linux基础命令和shell编程之后,做了一个shell脚本定时维护数据库的案例,用于之后复习和应用. 脚本需求如下: #数据库定时备份 #备份路径 BACKUP=/data/backup/db #获取当前时间作为文件名 DATETIME=$(date +%Y_%m_%d_%H%M%S) echo "=开始备份=" echo '备份的路径是 BACKUP/BACKUP/BACKUP/DATETIME.

  • Linux中自定义shell脚本启动jar包的方法

    一键启动.停止.重启 java项目 创建.sh文件 vi XXX.sh 编写shell脚本 #!/bin/sh port=8080 #定义变量等号左右不能有空格 jar_name=/opt/oaclou/XXX.jar #运行脚本提示信息 tips(){ echo "-------------------------------------" echo "" echo "项目端口: ${port}" echo "项目地址: ${jar_

  • java调用远程服务器的shell脚本以及停止的方法实现

    最近接了个需求,要求远程调shell脚本,你没听错!!!需求就一句话,咱是谁,咱是优秀的开发选手.考虑再三,有两种实现方式: 方案一:脚本所在服务器安装一个客户端,也就是自己写的一个小程序,本地通过端口调目标服务器的程序,然后程序调本机上的shell脚本! 优点:通过端口调用,用户不用暴露服务器的账号密码,安全性高 缺点:我们需要一直维护这个客户端程序,而且每接入一台服务器,都得安装该客户端,另外非常考验客户端程序的健壮性. 方案二:本地直接通过IP,服务器账号密码调远程服务器的shell脚本

  • SWsoft公司推出Windows版Linux服务器软件

    天极网11月15日消息 SWsoft公司的业务是将Linux服务器再分成独立分区,该公司将开始测试自己产品的Widnows版. 该软件名为Virtuozzo,功能是将单一版本的操作系统进行拆分,使其看上去像是几个操作系统.该软件主要适用于那些托管低流量网站的公司. Virtuozzo软件这些公司一种分享服务器的方法,但是还向用户提供独立机器的某些优势. 迄今,SWsof公司仅销售用于Linux服务器的Virtuozzo软件.Windows版正在进行个别Beta版测试.该公司称,更广泛的测试计划在

随机推荐