首先,想说说一键脚本流行的原因何在?

众所周知的是,Linux 是占据大半壁江山的服务器系统,但在桌面上的占有率可就远不是那么回事儿了,使用和熟悉 Linux 的人远没有 Windows 多,但又因为各种外部因素(比如工作等)而又不得不使用 Linux 的话,一键脚本就是一个不错的选择了。

由于工作需要我才开始接触 Linux,最开始理所当然是 CentOS 发行版。原因无他,工作需要。我在网站的第一篇文章就写到我为什么要写 LAMP 一键脚本,原因是当时流行的各种一键脚本满足不了我的需求,身为一名程序员,就开始理所当然的造轮子了。当然在造轮子的过程中免不了要借鉴别人,还要不断地 Google 遇到的各种问题。
后来也陆续写了其他的一键脚本。在写这些脚本时,是什么动力让我去琢磨和研究?无它,个人需求罢了。
正是因为每一个一键脚本的诞生都是自己的需求,所以才能保持更新,保持长久的动力。于是我可以矫情的说,看,这就是兴趣(需求)的力量。

其次,说说一键脚本有哪些优点和缺点?

自从虚拟主机开始变得不再流行,使用 VPS 建站(当然也叫Cloud)就成了非常流行的做法。一开始我迷恋于各种邮箱后缀,从而开始了解和使用域名,再到使用 VPS 建站,这是一个很长的过程。
既然说到建站,那就免不了要和各种 Linux 系统发行版打交道,目前最流行的也就是 CentOS,Debian,Ubuntu。而 Ubuntu 实际上是基于 Debian 的衍生版,所以使用方法和命令也相差无几。
我们使用 Windows 系统多年,熟悉和习惯了用户界面交互,对于命令行操作就显得陌生和无措。一键脚本的存在,就是打破这种担忧,把所有命令按照顺序封装好,并判断执行结果是否正确,从而降低初学者对Linux的“恐惧”。
但缺点也是显而易见的,一键脚本对于用户来说,仿佛是一个黑盒子,你只知道执行完这个能达到什么效果,却不知道它在执行的过程中到底都做了什么。几乎所有的一键脚本都做不到轻松定制,它只能提供有限的几个选项让你必须做出选择。
一键脚本的选项是有限的,有时候并不能满足你的需求,正如我为什么选择重复造轮子,亦是如此。而定制脚本这种事,一般企业才这么干。
正是因为一键脚本有着显而易见的优点和缺点,所以在满足了我自己的需求之后,我将其开源了。

再次,说说一键脚本开源有哪些意义?

开源意味着接受监督,一切都以代码说了算。基于 Github 的流行,开源出来的各种一键脚本(当然还有其他各种程序代码),任何人都能看到,满足需求或者指出问题,都变得简单起来。
如果你是开发者,你当然可以 fork 了之后定制自己的性格化需求;如果你是使用者,发现 issue 也能和作者直接联系。
未来是构筑在软件之上的。而在各种软件的使用中,必然有各种一键脚本的一席之地。

最后,总结一下那些年我写过的一键脚本。
(按照时间顺序排名)

1、LAMP一键安装脚本
https://teddysun.com/lamp
https://lamp.sh

简述:经典的建站环境 Linux+Apache+MySQL/MariaDB+PHP 搭建。最开始我只适配了 CentOS 系统,后来才开始适配 Debian 和 Ubuntu。
关于这个脚本,我个人觉得最大的优点就是编译安装的 PHP 模块比较全面,实际上,一开始是为安装 Moodle(开源的在线学习系统)和 Owncloud(开源的网盘系统)而量身定制的。

2、L2TP/IPSec一键安装脚本
https://teddysun.com/448.html

简述:经典的 VPN 搭建。适用于 KVM、Xen 和部分 OpenVZ 虚拟的 VPS。最早写于 2013 年,更新于 2016 年。因为不推荐使用 PPTP 的方式,所以 PPTP 的一键安装脚本就不再列出。

3、Linux性能测试UnixBench一键脚本
https://teddysun.com/245.html

简述:UnixBench 是经典的 Linux 跑分软件。广泛用于测试 Linux 系统 VPS 的性能。

4、*** Python版一键安装脚本
https://teddysun.com/342.html

简述:*** 的 Python 语言实现的版本。*** 始于 2013 年,2014 年开始流行,2015 年开始火爆,然而在 2015 年 8 月,因为你懂的原因该项目不再更新。本脚本写于 2014 年 3 月,迄今依然保持更新。

5、CentOS下shadowsocks-libev一键安装脚本
https://teddysun.com/357.html

简述:*** 的 C 语言实现的版本。适用于 CentOS 系统。作者至今仍然在不断更新该版本,当然脚本也在保持更新。

6、Debian下shadowsocks-libev一键安装脚本
https://teddysun.com/358.html

简述:*** 的 C 语言实现的版本。适用于 Debian/Ubuntu 系统。保持更新。

7、***-go一键安装脚本
https://teddysun.com/392.html

简述:*** 的 Go 语言实现的版本。适用于 CentOS/Debian/Ubuntu 系统。常年更新,和作者同步。

8、一键测试脚本bench.sh
https://teddysun.com/444.html
简述:用于测试 Linux VPS 的下行网速和 IO 速度的测试脚本。跑完这个脚本,能让你对于自己所买的 VPS 有个直观的基于数据的评价。

9、***R一键安装脚本
https://shadowsocks.be/9.html

简述:*** 的 Python 语言实现的版本。原作者不再更新后,这个版本的作者 breakwa11 基于原来的版本新增了不少功能,可称之为继承和发扬了开源精神的新的 ***。目前依然保持更新中。2017 年 7 月 27 日作者停止更新,并删除项目。

10、一键备份脚本backup.sh
https://teddysun.com/469.html

简述:一键备份 MySQL/MariaDB/Percona 数据库和文件,目录等;加密备份文件;上传至 Google Drive 或 FTP 服务器。

11、*** 一键安装脚本(四合一)
https://teddysun.com/486.html

简述:一键安装 ***-Python, ***R, ***-Go, ***-libev 版(四合一)服务端。
各版本的启动脚本及配置文件名不再重合;支持以多次运行来安装多个版本,且各个版本可以共存(注意端口号需设成不同);

12、一键安装最新内核并开启 BBR 脚本
https://teddysun.com/489.html

简述:一键安装最新版系统内核,并开启 TCP BBR 算法(该脚本只适用于非 OpenVZ 虚拟化的 VPS)。

以上所有脚本,皆开源在 Github,围观链接如下:
https://github.com/teddysun

写在最后

本人并非运维程序员,所写的以上脚本仅仅是出于学习和交流的目的,本着开源精神分享出来,疏漏和缺陷在所难免。
还有,我并非 *** 项目的作者,对于该软件在使用过程中出现的问题,并非都有能力解决。
如你在使用过程中发现问题想与我交流,请务必学学提问的技巧,将问题描述清楚,包括且不限于:系统版本,现象描述,日志信息等。
知无不言,言无不尽。

对了,更多域名新后缀,参考链接如下:
https://www.iana.org/domains/root/db

转载请注明:秋水逸冰 » 一键脚本那些事儿

Linux一键脚本合集vps的更多相关文章

  1. Shell 脚本合集

    0. 说明  Shell 脚本合集 1. xcall.sh xcall.sh 编写为了为了同时对多台服务器进行操作,编写完成之后,将其发送到 /usr/local/bin 下 #!/bin/bash ...

  2. linux基础操作命令合集(一)

    linux基础操作命令合集(一) 目录 linux基础操作命令合集(一) 一.命令行提示符 二.切换用户 三.主机名称命令 3.1.临时设置主机名 3.2.永久设置主机名 四.查看系统版本 五.网卡相 ...

  3. Linux常用命令合集

    常用命令合集 命令选项和参数 Linux中的命令格式为:command [options] [arguments]  //中括号表示可选的,即有些命令不需要选项也不需要参数,但有的命令在运行时需要多个 ...

  4. 【shell】shell基础脚本合集

    1.向脚本传递参数 #!/bin/bash #功能:打印文件名与输入参数 #作者:OLIVER echo $0 #打印文件名 echo $1 #打印输入参数 执行结果: 2.在脚本中使用参数 #!/b ...

  5. Linux 命令基础合集

    下面总结的是在使用 Linux 最常用的命令: 常用指令 ls        显示文件或目录 -l           列出文件详细信息l(list) -a          列出当前目录下所有文件及 ...

  6. 自编shell脚本合集(完善中)

    1.数据库备份 #!/bin/bash user="root" psword="root" bakdir="/data/mysqlbak" ...

  7. Linux常用命令合集(一)

    1.处理目录的常用命令: ls(英文全拼:list files): 列出目录及文件名 cd(英文全拼:change directory):切换目录 pwd(英文全拼:print work direct ...

  8. VBS脚本合集(自制脚本)

    一.视频搜索器选择: Selectitem() '######################################### Function  Selectitem() 'Set Vedio ...

  9. linux常用命令合集(未完)

    (1)新建 新建文件夹:mkdir 文件夹名 新建文件:touch 文件路径/文件名 删除: rm –f filename删除文件 rm –rf filename删除文件夹 (2)重命名 1将一个名为 ...

随机推荐

  1. 点分治【bzoj1468】 Tree

    点分治[bzoj1468] Tree Description 给你一棵TREE,以及这棵树上边的距离.问有多少对点它们两者间的距离小于等于K Input N(n<=40000) 接下来n-1行边 ...

  2. PureComponent

    前言 React15.3中新加了一个 PureComponent 类,PureComponent 也就是纯组件,取代其前身 PureRenderMixin , PureComponent 是优化 Re ...

  3. Centos下搭建nginx反向代理

    上一节已经用编译的方式搭建好了一个nginx,链接在下面 https://www.toutiao.com/i6693130510777975300/ 然后这次我们把上次搭建好的nginx作为反向代理的 ...

  4. java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.github.pagehelper.Page

    出现这个错误,首先看配置mybatis-config.xml中的<plugins> <plugin interceptor="com.github.pagehelper.P ...

  5. List、Set

    List.Set List.Set List.Set List.Set List.Set List.Set List.Set

  6. AT2382 A or...or B Problem

    传送门 还是看题解的啦 先考虑一个显而易见的结论:A和B二进制下最高的几位相同是没用的(设去掉的那些位之和为sum) 然后我们设\(d\)为二进制下从高位到低位第一位不相同的,\(k\)为B从高位到低 ...

  7. POJ1024 Tester Program

    题目来源:http://poj.org/problem?id=1024 题目大意: 有一个迷宫,迷宫的起点在(0,0)处.给定一条路径,和该迷宫墙的设置,要求验证该路径是否为唯一的最短路径,该种墙的设 ...

  8. An internal error occurred during: "Add Deployment". Container with path org.eclipse.jdt.launching.

    导入非本机项目出现这种错误,原因就是JDK版本不一致. 具体解决步骤如下: 右键项目名→Properties→JavaBuild Path→Libraries→选中JRE SystemLibrary[ ...

  9. 012 Integer to Roman 整数转换成罗马数字

    给定一个整数,将其转为罗马数字.输入保证在 1 到 3999 之间. 详见:https://leetcode.com/problems/integer-to-roman/description/ cl ...

  10. OpenStack git cmd

    文件流转的三个工作区域:Git 的工作目录,暂存区域,以及本地仓库. 基本的 Git 工作流程如下: 在工作目录中修改某些文件. 对修改后的文件进行快照,然后保存到暂存区域. 提交更新,将保存在暂存区 ...