VPS Docker配置
Docker 安装
参考 Docker 官方文档 Install Docker Engine | Docker Documentation
# ubuntu
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install \\
ca-certificates \\
curl \\
gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL <https://download.docker.com/linux/ubuntu/gpg> | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Docker Compose 安装
参考:安装Docker Compose Docker文档 (xy2401.com)
sudo curl -L "<https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$>(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
配置优化
大多数时候,我们的vps磁盘空间不会太大,如果是使用docker 服务,为了能够有效控制docker日志大小,需要根据自己需求如下调整以防止过多日志导致磁盘用满。
/etc/docker/daemon.json
{
"log-driver": "json-file",
"log-opts": {
"max-size": "1m",
"max-file": "1"
}
}
VPS 部署warp服务解锁
WARP是cloudflare提供的一项抗封锁服务,如果你所购买的VPS存在无法访问Netflix、HBO的情况,又或是你的VPS被ChatGPT封锁,频繁出现Google人机认证,都可以尝试使用WARP服务来抗封锁,只需安装双栈协议即可,根据自己需要配置。
需要注意的是,香港地区支持应该不太好,另外WARP安装后会和docker网络冲突,如果你同时使用docker,对于有需要对外暴露的端口,请使用host模式,容器见的访问请通过本地反向代理来实现。例如,你需要使用Nginx来暴露你的服务A(端口3000、但A没必要直接暴露),那么Nginx容器请使用Host模式,服务A可以使用端口映射方式映射到宿主机3000端口(这种方式能在宿主机上访问到,但是在外部无法直接访问),Nginx通过反向代理到 localhost:3000端口来访问服务A。
wget -N <https://raw.githubusercontent.com/fscarmen/warp/main/menu.sh> && bash menu.sh [option] [lisence]
VPS网速测试
有时候我我们可能需要知道我们VPS的网速究竟如何,可以考虑如下测试脚本。
wget --no-check-certificate <https://github.com/teddysun/across/raw/master/unixbench.sh>
chmod +x unixbench.sh
./unixbench.sh
VPS常用监控工具
系统占用监控(cpu、进程、内存)
# ubuntu
apt install htop
# centos
yum install htop
磁盘IO监控
# ubuntu
apt install iotop
# centos
yum install iotop
网络监控
-
nethogs nethogs可以查看实时进程网络占用。 安装:
sudo apt install nethogs
查看网络状态:nethogs eth0
即nethogs + 网卡
名称,双击table会出现备选网卡名称 -
ethstatus ethstatus可以监控实时的网卡带宽占用。 这个软件能显示当前网卡的 RX 和 TX 速率,单位是Byte 安装
apt install ethstatus
查看 网卡 的速度sudo ethstatus -i eth0
eth0是网卡名称,可以换为自己机器的网卡名称。 -
bmon 安装 sudo apt-get install bmon 查看网络 bmon -p eth0
输入g控制流量面板的显示和隐藏 输入d控制详情信息的显示和隐藏 输入q退出面板
网页输出命令 bmon -I distribution:multicast -o null -O html:path=/var/htdocs/ 可以配合nginx部署通过浏览器监控网络 Ubuntu下实时查看网络流量_armbian 流量统计_Penn_J的博客-CSDN博客
防火墙放行
在安装WARP协议或者平时防火墙正常工作的情况下,对于防火墙不放行的端口我们是没有办法访问的,这时候就需要在防火墙里放行端口。
centos
firewall-cmd --add-port=8024/tcp --permanent
firewall-cmd --add-port=4600-4611/tcp --permanent
# 需要reload 才会生效
firewall-cmd --reload
ubuntu
ufw allow tcp 8024
ufw allow tcp 8024-8055
问题排查
端口占用排查
# 查询端口占用
netstat -tunlp | grep 80
# 查询端口占用进程(可在macos上使用)
lsof -i :80