该项目后期将逐步减缓直至停止更新,脚本部署方式逐渐改为ansible-playbook
的方式,新的项目地址:ansible-linux
一、注意事项
1. 此脚本适用于Centos 7,部分脚本内容包含Ubuntu下的用法,可根据实际情况进行变更
2. 脚本中涉及的IP地址和路径可以根据实际情况进行更改,但是有些路径是固定的,更改过后会出现问题,故在运行之前先了解一下工作原理
3. 部分脚本在运行过程中自带彩色字体输出,某些脚本执行一定流程过后需要手动操作,并非无人值守,请执行前先看一下执行步骤,涉及手动操作和其他命令的提示用黄色表示,密码提示等用红色表示
4.部分脚本已经与ansible-linux中的playbook保持逻辑一致。
二、文件介绍
1. install.sh
centos 基础环境安装,包括常用组件和一些运维工具(以下表格内容不全):
序号 | 软件名称 | 说明 | 使用方法 |
---|---|---|---|
1 | epel-release | 为centos或redhat等提供高质量软件包的项目 | |
2 | htop | 实时的监控界面 | htop使用详解--史上最强(没有之一) |
3 | iotop | iotop命令是一个用来监视磁盘I/O使用状况的top类工具 | iotop命令 |
4 | iftop | 查看实时的网络流量,监控TCP/IP连接等 | Linux流量监控工具 - iftop (最全面的iftop教程) |
5 | nethogs | NetHogs是一个开源的命令行工具(类似于Linux的top命令),用来按进程或程序实时统计网络带宽使用率 | nethogs命令 |
6 | cacti | Cacti是一套基于PHP、MySQL、SNMP及RRDTool开发的网络流量监测图形分析工具 | Linux 监控工具之Cacti使用详解(一) |
7 | npm | NPM是随同NodeJS一起安装的包管理工具 | NPM 使用介绍 |
8 | pv | 显示当前在命令行执行的命令的进度信息,管道查看器 | pv |
9 | net-tools | 网络工具包 | |
10 | tree | tree命令以树状图列出目录的内容 | tree命令 |
11 | tmux | tmux是一款优秀的终端复用软件 | Tmux使用手册 / Tmux 使用教程 |
12 | iperf | iperf命令是一个网络性能测试工具 | iperf命令 |
13 | figlet | 将普通终端文本转换为大字母 | Figlet 和 Toilet命令用法 |
14 | lsof | lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP) | lsof命令 |
15 | smartmontools | 是类Unix系统下实施SMART任务命令行套件或工具 | Linux 硬盘监控和分析工具:smartctl |
16 | fping | Fping程序类似于ping协议回复请求以检测主机是否存在 | Fping命令解析 |
17 | nmap | nmap命令是一款开放源代码的网络探测和安全审核工具,它的设计目标是快速地扫描大型网络 | nmap命令 |
18 | fio | fio是一个IO测试工具,可以用来测试本地磁盘、网络存储等的性能 | fio的简单介绍及部分参数翻译 |
19 | iostat | iostat命令被用于监视系统输入输出设备和CPU的使用情况 | iostat命令 |
20 | dstat | dstat命令是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具 | dstat命令 |
21 | lynx | lynx命令是终端上的纯文本模式的网页浏览器,没有JS引擎,不支持CSS排版、图形、音视频等多媒体信息。只能作为一个很有趣的小玩具。 | lynx命令 – 终端上的纯文本浏览器 |
22 | w3m | w3m是个开放源代码的命令行下面的网页浏览器。 | w3m常用操作 |
23 | lrzsz | rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive),或从linux服务型下载到windows | |
24 | monit | Monit是一款功能非常丰富的进程、文件、目录和设备的监测软件 | Monit:开源服务器监控工具 |
25 | ntpdate | ntpdate命令是用来设置本地日期和时间。 | ntpdate命令 |
26 | vim | vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。 | vi命令 |
27 | wget | 用来从指定的URL下载文件 | wget命令 |
28 | nano | 是一个字符终端的文本编辑器 | nano命令 |
29 | zip | 用来解压缩文件,或者对文件进行打包操作 | zip命令 |
30 | unzip | 用于解压缩由zip命令压缩的“.zip”压缩包 | unzip命令 |
31 | git | Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比 | Git 基本操作 |
32 | yum-utils | yum工具包 | |
33 | expect | Unix系统中用来进行自动化控制和测试的软件工具 | Expect—百科篇命令 |
34 | mrtg | 通过SNMP 协议,向运行snmp协议主机询问相关的资料后,主机传递数值给MRTG ,然后MRTG 再绘制成网页上的图表 | mrtg 简单好用的网络流量监控工具 |
35 | nagios | 是一款开源的电脑系统和网络监视工具 | Linux下Nagios的安装与配置 |
36 | pv | 显示当前在命令行执行的命令的进度信息,管道查看器 | pv |
37 | telnet | 用于登录远程主机,对远程主机进行管理 | telnet命令 |
38 | dpkg | 是Debian Linux系统用来安装、创建和管理软件包的实用工具 | dpkg命令 |
39 | hdparm | 提供了一个命令行的接口用于读取和设置IDE或SCSI硬盘参数 | hdparm命令 |
40 | killall | 使用进程的名称来杀死进程 | killall命令 |
41 | tcpdump | 是一款sniffer工具,可以打印所有经过网络接口的数据包的头信息 | tcpdump命令 |
42 | nc | nc命令是netcat命令的简称,都是用来设置路由器 | nc/netcat命令 |
43 | strace | 一个集诊断、调试、统计与一体的工具 | strace命令 |
44 | perf | 性能分析工具 | 在Linux下做性能分析3:perf |
45 | dig | 常用的域名查询工具,用来测试域名系统工作是否正常 | dig命令 / dig命令 |
46 | nslookup | 常用域名查询工具 | nslookup命令 |
1.1 gitlab
安装 Gitlab
,支持中文(登录过后在setting中设置语言即可),设置包括:
1.安装 SSH
----------------------------------------------------(一般Linux都自带,支持SSH克隆或者提交代码),
2.安装 邮件服务器
----------------------------------------------------(git注册和找回密码合并代码等发送邮件用),
3.安装 Gitlab 社区版
4.设置 定时任务,每天凌晨两点,执行gitlab备份
5.设置 gitlab域名
--------------------------------------------------------------------------(形成正确的仓库连接),
6.设置 备份保存时间,默认7天
备份时间和备份保存时间可根据实际情况修改
查看gitlab版本号
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
gitlab相关资料:
1.2 mongodb
安装 MongoDB
数据库
MongoDB
默认没有用户名和密码,可以用Navicat等数据库管理工具直接连接
mongodb相关资料:
1.3 mysql
安装mysql压缩版
1.4 rabbitmq
安装 RabbitMQ
消息通知
访问端口号
16572
, 用户名admin
,密码123456
erlang下载:github
描述 | 下载 |
---|---|
适用于运行RabbitMQ的CentOS 7的零依赖Erlang / OTP 21.3.8.1软件包 | erlang-21.3.8.1-1.el7.x86_64.rpm |
适用于运行RabbitMQ的CentOS 6的零依赖Erlang / OTP 21.3.8.1软件包 | erlang-21.3.8.1-1.el6.x86_64.rpm |
截止2019年05月16日,rabbitmq官网暂未更新erlang 21.3.8.1版本
RabbitMQ下载:github
描述 | 下载 |
---|---|
适用于RHEL Linux 7.x,CentOS 7.x,Fedora 19+的RPM(支持systemd) | rabbitmq-server-3.7.14-1.el7.noarch.rpm |
适用于RHEL Linux 6.x,CentOS 6.x,Fedora之前的RPM | rabbitmq-server-3.7.14-1.el6.noarch.rpm |
openSUSE Linux的RPM | rabbitmq-server-3.7.14-1.suse.noarch.rpm |
SLES 11.x的RPM | rabbitmq-server-3.7.14-1.sles11.noarch.rpm |
截止2019年05月16日,rabbitmq官网暂未更新rabbitmq 3.7.14版本
1.5 supervisor
安装 supervisor
进程管理工具设置应用程序开机自启动
-
上述
base.sh
设置了supervisor
的管理界面,端口号9001
,用户名admin
,密码123456
-
具体安装教程:centos7安装supervisor
2. python3.8.sh
编译安装 Python3.7
安装pip并升级到最新版
monitor
3.监控软件
netdata
3.1部署教程参考:netdata监控搭建及使用
goaccess
3.2cockpit
3.3轻量级硬件资源监控软件,默认访问端口9090
,用户名为Linux用户名,密码为Linux登录密码
Prometheus(p8s)
3.4开源的监控系统,访问端口9090
,node_porter
访问端口9100
Grafana
3.5功能强大的监控图形程序,可以接受多个监控平台的数据源。访问端口3000
,默认用户名:admin
,密码:admin
。
参考资料:
zabbix
3.6.安装zabbix服务,使用zabbix-linux.sh
前提需要安装mysql
(mysql不能装在docker中,否则zabbix-server不可用)。
个人推荐zabbix-docker.sh
,比较方便。
参考资料:
k8s
4.centos下k8s安装脚本
k8s相关资料:
5. ldap.sh
LDAP是Lightweight Directory Access Protocol , 即轻量级目录访问协议, 用这个协议可以访问提供目录服务的产品
参考资料:
scl使用指南
6.7. nfs.sh
安装网络文件系统(Network File System)NFS
8. samba.sh
安装服务信息块(Server Messages Block)文件共享软件samba
9. config.sh
系统配置
./config.sh help
查看详情
补充:Linux 常用命令集合
Good Luck!