Linux 服务器/macOS 环境初始化
文章目录
本手册适用于新创建的 Linux 服务器基本环境初始化,包括连接性能优化、Shell 脚本语言和 Vim 环境优化配置。
其中魔改 BBR 部分视情况开启,如果服务器需要用作高性能网络代理,可以开启提高性能,否则不必开启。BBR 开启只能在安装其他软件之前进行,若之后开启则会令安装的软件失效。
如只需要对服务器环境进行配置,不涉及到网络代理;以及本地环境的初始化配置。可直接跳转到 ¶环境配置:切换 Shell 部分开始。
开启 BBR POWERED(可选)
安装 Mosh
用来提高 SSH 连接远程服务器的输入延时和移动设备连接的稳定性(除非手动操作,基本不会断开连接),安装完成后,直接使用 mosh 代替 ssh 即可。
Debian/Ubuntu 安装 mosh
| 1 | sudo add-apt-repository ppa:keithw/mosh-dev | 
CentOS7 安装 mosh
| 1 | yum -y install epel-release | 
Tips
如果在内网无法直接访问yum仓库,可以下面的目录查找mosh及依赖的rpm包
http://dl.fedoraproject.org/pub/epel/7/x86_64/
rpm包是安装首字母分类到各个目录的,例如mosh的rpm包在
http://dl.fedoraproject.org/pub/epel/7/x86_64/m/
安装完成后,可能需要打开防火墙的 60000-61000 UDP 端口供 mosh 使用:
Firewall-cmd:
| 1 | firewall-cmd --zone=public --add-port=60000-61000/udp --permanent | 
iptables:
| 1 | sudo iptables -I INPUT 1 -p udp --dport 60000:61000 -j ACCEPT | 
如果出现语言问题,添加到 bashrc 或者 zshrc:
| 1 | export LC_ALL="en_US.UTF-8" | 
或者更妥善的解决方法是将本地(Mac)的 Shell 环境改为英文:
| 1 | export LC_ALL=en_US.UTF-8 | 
切换 Shell
把默认的 bash 切换为 zsh,使用 oh-my-zsh 框架,并使用 k-zsh 配置。
什么是 Zsh 和它的框架 Oh-My-Zsh?
Oh-My-Zsh is a framework for Zsh, the Z shell.
- 为了使用 Oh-My-Zsh 框架,必须先安装 Zsh。- 运行 zsh --version来确认。
- 如果结果是 zsh 4.3.9或更高的版本则可以。
 
- 运行 
- 然后,需要把 Zsh 更改为默认的 shell 语言:- 在新的 Terminal 中运行 echo $SHELL来确认。
- 如果结果是 /bin/zsh或其他 zsh 路径均可。
 
- 在新的 Terminal 中运行 
安装并设置 Zsh 为默认 shell 语言
如果需要的话,依照以下步骤来安装 Zsh:
- 安装 Zsh 有两种主流的办法- 直接利用包管理工具, e.g. Debian/Ubuntu 下的 sudo apt-get install zsh或者 CentOS 下的sudo yum update && sudo yum -y install zsh。
- 从 source 源安装, 依照 instructions from the Zsh FAQ 进行即可。
 
- 直接利用包管理工具, e.g. Debian/Ubuntu 下的 
- 通过运行 zsh --version来验证安装。 如果结果是zsh 4.3.9或更高的版本则可以。
- 更改为默认 shell: chsh -s $(which zsh)- 注意,如果 Zsh 不在你的授权 shells 列表里面 (/etc/shells) 或者你没有权限使用chsh,上述命令不会成功。 如果是这种情况的话, 你可以依照这个方案执行。- Create .bash_profilein your home directory and add these lines:- export SHELL=/bin/zsh
- exec /bin/zsh -l
 
- Update: .profilemay work as a general solution when default shell is not bash. I’m not sure if.profilemay be called by Zsh as well that it could go redundant but we can do it safely with a simple check:- export SHELL=/bin/zsh
- [ -z "$ZSH_VERSION" ] && exec /bin/zsh -l
 
 
- Create 
 
- 注意,如果 Zsh 不在你的授权 shells 列表里面 (
- 登出并重新登入来使用新的默认 shell。
- 通过运行 echo $SHELL来确认, 如果结果是/bin/zsh或其他 zsh 路径则安装并切换成功。
Oh My Zsh 安装
你可以在终端中通过以下任意一条命令来安装 Oh My Zsh。你可以使用 curl 或者 wget。
通过 curl
| 1 | sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/\ | 
通过 wget
| 1 | sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)" | 
安装 k-zsh
k-zsh 是我配置的一套 Oh My Zsh 设置,包含了常用的插件和更清晰的主题效果。
| 1 | mv ~/.zshrc ~/.zshrc_bac | 
k-zsh 中配置了部分插件需要单独安装一下才能生效:
| 1 | git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions | 
其中常用的插件是 z,快速跳转到相应目录。还有 x,快速解压缩文件等。
安装 k-vim 服务器简化版
k-vim for server 是 wklken 配置的 k-vim 的服务器版本,包含了许多简单有用的设置,处于便捷考虑 perfix 按键已经被修改为 , 键。
| 1 | mv ~/.vimrc ~/.vimrc_bak | 
如果需要安装完整非便携版的 k-vim,请根据 https://github.com/kchen0x/k-vim 进行操作。
安装 k-tmux
确保使用 2.3 以上版本的 tmux: tmux -V。
| 1 | mv ~/.tmux.conf ~/.tmux.conf_bak | 
安装插件管理
| 1 | git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm | 
安装完成后进入 tmux,使用[prefix]加大写I重载一次插件即可([prefix]为ctrl+a)。
集群监控 ServerStatus(中文版)
自动部署
【服务端】
| 1 | wget https://raw.githubusercontent.com/cppla/ServerStatus/master/autodeploy/config.json | 
【客户端】
| 1 | wget --no-check-certificate -qO client-linux.py 'https://raw.githubusercontent.com/cppla/ServerStatus/master/clients/client-linux.py' && nohup python client-linux.py SERVER={$SERVER} USER={$USER} PASSWORD={$PASSWORD} >/dev/null 2>&1 & | 
手动部署
安装网络监控 BitMeter
在 官网下载 预编译的二进制包。
安装:
| 1 | sudo dpkg -i <target.deb> | 
启动监控服务:
| 1 | sudo bmdb webremote | 
然后默认可以在 localhost:2605/index.html 访问到数据。
BitMeterOS 提供了3个工具可以使用:
| 1 | bmclient -h | 
NetHogs 软件
同时,可以安装 NetHogs 来观察每个进程的实时网速:
| 1 | sudo apt install nethogs |