服务器配置
服务器配置
一台新的服务器应该配置一些什么?最近搞了一个腾讯的4h4g的服务器来玩玩,看看我经常要用的,该怎么配置。
默认服务
http 80 https 443 ssh 22
下面是需要自己部署的了。
一、FTP服务
服务器防火墙打开21端口,在xshell里面的xftp当中输入账号密码即可连接。如果不行就是权限不够。在当前文件夹下创建保留就行。
二、部署翻墙软件v2ray(淘汰了)
v2raya作为面板来管理v2ray内核 web登录端口2017
1、安装v2raya
在https://github.com/v2rayA/v2rayA/releases 下载对应的安装包,将其上传到服务器里面安装
sudo dpkg -i installer_debian_x64_2.2.7.3.deb |
启动v2raya
sudo systemctl start v2raya |
查看运行状态
sudo systemctl status v2raya |
配置v2raya的.config
sudo vim /etc/v2raya/config.json |
改为下面内容并保存
{ |
2、安装v2ray,
先安装解压软件后面会用到,(参考网址https://github.com/v2fly/fhs-install-v2ray)
sudo apt update |
安装和更新v2ray,这里会有点慢,但是也能连通,断了就多试几次。
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh) |
有时候网真不行,还是自己手动下载,输入上面命令会出下,直接下载地址当中的文件
Downloading V2Ray archive: https://github.com/v2fly/v2ray-core/releases/download/v5.41.0/v2ray-linux-64.zip |
安裝最新發行的 geoip.dat 和 geosite.dat
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-dat-release.sh) |
和上面一样,有时候网不行,直接下载放在服务器里面
下载地址为
https://github.com/v2fly/geoip/releases/latest/download/geoip.dat |
下载好后进入文件所在位置,执行,当然下载的文件和这个脚本位于同一文件夹下面。,而且这个install-dat-release.sh我改了一下啊,和官网的不一样。上面也是的脚本和文件都位于同一文件夹下面哈。
sudo bash install-dat-release.sh |
然后检测下
sudo systemctl start v2ray # 启动 |
然后登录v2raya,去浏览器输入对应网址进行配置
http://<your-server-ip>:2017 |


检查是否成功
curl -I https://www.google.com |
很快能进行结果返回即代表成功。
3、使用方法和配置
设置为开机自启动
sudo systemctl enable v2raya |
使用方法详解
浏览器打开 http://127.0.0.1:2017 进行如下配置:
- 订阅机场: 拷贝机场订阅 URL, 点击导入按钮导入
- 选择服务器: 选择
S.JISUSUB.CC标签, 选择一个合适的服务器, 然后选择左上角启动按钮 - 更新 GFWList: 点击页面右上角设置按钮, 在设置对话框右上角点击更新按钮更新 GFWLIST, 然后再按照下面的步骤对设置页面进行配置
- 透明代理/系统代理:
启用: 分流规则与规则端口所选模式一致 - 透明代理/系统代理实现方式:
redirect - 规则端口的分流模式:
RoutingA, 右边的规则配置见下面 - 防止 DNS 污染: DNS-over-HTTPS
- 特殊模式: 关闭 (不要选择 supervisor, 这个选项会导致懒猫微服应用打不开)
- TCPFastOpen: 关闭
- 多路复用: 关闭
- 自动更新 GFWList: 每个 1 小时自动更新
- 自动更新订阅: 每个 1 小时自动更新
- 解析订阅地址/更新时优先使用: 不进行分流
规则配置
default: proxy |
- 默认走代理: default: proxy
- 微信网易云音乐走直连: domain(domain:qq.com, domain:163.com)->direct
- 大陆域名走直连: domain(geosite:cn)->direct
- 内网服务器走直连: ip(geoip:private)->direct
- 大陆 IP 走直连: ip(geoip:cn)->direct
如果不需要的时候还是不要用代理
三、Mysql服务
先来
sudo apt update |
然后安装
sudo apt install mysql-server-8.0 |
查看是否安装成功
mysql -V |
查看服务状态
systemctl status mysql |
然后在MySQL中修改以管理员身份启动
sudo mysql |
使用
use mysql |
查看user
select host,user from user; |
更新一下添加一个用户,host=’%’为任意ip可连接
update user set host='%' where user='root'; |
改密码为123456
alter user 'root'@'%' identified with mysql_native_password by '123456'; |
刷新
flush privileges; |
检查防火墙状态
sudo ufw status |
允许开发端口
sudo ufw allow 3306 |
/etc/mysql/mysql.conf.d/mysqld.cnf ,将 bind-address 设置为虚拟机的IP地址或者设置为 0.0.0.0 以允许所有地址连接。
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf |
需要vim基础,i进入编辑,esx退出,:wq保存
记得重启一下mysql
sudo systemctl restart mysql |
使用下面这个命令来查看ip
ip addr show |
测试能否连通
mysql -u root -h 192.168.183.130 -p |
后面在登录就是
mysql -u root -p |
=========================================
安全设置,最好还是设置为只有特定ip能连接,先查看添加的,在删除之前添加的
select host,user from user; 查看是否有内容 |
必须给本地设置连接和权限啊,血的教训。
SHOW DATABASES; 查询所有数据库 |
四、Redis服务
更新系统
sudo apt update |
安装 Redis
sudo apt install -y redis-server |
查看 Redis 版本
redis-server --version |
启动 & 设置开机自启
sudo systemctl start redis |
验证是否正常
redis-cli ping |
返回:
PONG |
说明安装成功
修改配置文件
sudo vi /etc/redis/redis.conf |
关键参数(至少改这几个):
允许远程访问(如只本机使用可跳过)
bind 0.0.0.0 |
设置密码(必须)
requirepass 你的强密码 |
保存后重启:
sudo systemctl restart redis |
连接测试
redis-cli -a 你的强密码 |
五、Docker服务
安装
sudo apt install docker.io |
确认当前用户是否在 docker 组,执行:
groups |
如果输出里没有 docker,说明当前用户不在 docker 组里。
将当前用户加入 docker 组
sudo usermod -aG docker $USER |
这里的 $USER 是当前登录用户,比如你是 ubuntu,也可以写成:sudo usermod -aG docker ubuntu
让组权限生效,在当前终端执行:
newgrp docker |
六、Nginx服务
- 更新系统
sudo apt update |
- 安装 Nginx
sudo apt install nginx |
- 启动 Nginx 服务
sudo systemctl start nginx |
- 设置开机自启
sudo systemctl enable nginx |
- 检查 Nginx 状态
sudo systemctl status nginx |
输出应显示 active (running),说明 Nginx 正常运行。详情配置见后面的博客,这要好好讲讲。
七、conda 服务
在annaconda官网下载sh文件,注意要登录下载,有个miniconda的感觉不好,别下错了
同样给权限chmod +x 文件名,然后执行sh文件,一直默认即可。
然后执行,安装完成上面也会有这行代码的复制运行,将conda配到zsh当中去,YOUR_SHELL_NAME要改,如果是bash就是bash,是zsh就zsh,我都用的zsh
eval "$(/root/anaconda3/bin/conda shell.zsh hook)" |
配置好后检验一下,会返回版本好的,这个好像就这个是–version,其检验版本就是-v
conda --version |
如果要每次自动激活的写入到系统加载当中/.zshrc或者/.bashrc
vim ~/.zshrc |
在 .zshrc 文件的末尾(或者你觉得合适的地方),添加以下行:
eval "$(/root/anaconda3/bin/conda shell.zsh hook)" |
然后退出来重新加载一下系统配置
source ~/.zshrc 或者 source ~/.bashrc |
这里面新建的环境没有pip,还要运行一下
conda install pip |
连接vscode插件必下wsl,然后之前vscode下载过的插件要在到一个遍历
八、防火墙nftables
防火墙nftables
1、封锁ip
2、端口过滤(封锁/允许端口)、默认封锁所有端口
3、流量限制,可以限制某个端口或 IP 地址的访问速率,防止 DDoS 攻击。
安装
sudo apt update |
启用
sudo nft add table inet filter |
常见指令
添加端口,改22就可以了 |
规则持久化
sudo nft list ruleset > /etc/nftables.conf |
创建或编辑 /etc/systemd/system/nftables.service 文件:
sudo vim /etc/systemd/system/nftables.service |
添加以下内容到文件中:
[Service] |
ExecStart和ExecReload行指定了nftables服务如何启动和重载规则。WantedBy=multi-user.target确保在启动过程中加载此服务。
sudo systemctl daemon-reload |
启用该服务使其在系统启动时加载规则:
sudo systemctl enable nftables |
这样,nftables 会在每次启动时自动加载 /etc/nftables.conf 文件中的规则。
重启系统后,你可以通过以下命令验证规则是否已经加载:
sudo nft list ruleset |
这将列出当前的 nftables
九、Fail2Ban恶意ip封禁
Fail2Ban 是一个广泛使用的工具,用于检测恶意登录尝试和其他异常活动,并自动封锁攻击者的IP地址。您可以配置它来检测过多的连接请求,然后暂时封锁来自恶意IP地址的访问。
安装
apt update |
启动
systemctl start fail2ban |
开机自启
systemctl enable fail2ban |
查看状态
systemctl status fail2ban |
配置
主配置文件创建本地副本
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local |
编辑本地副本
vim /etc/fail2ban/jail.local |
这就是总的配置文件了。
一般分开来写
先执行下面这个代码,删除不必要的东西
rm -rf /etc/fail2ban/jail.d/* |
然后写一个,按自己需要写
vim /etc/fail2ban/jail.d/sshd.local |
例如
[sshd] |
[mysqld] |
这个都是根据端口来的。还可以自定义行为,不过多阐述了,自行研究
查看封锁列表
fail2ban-client status |
查看SSH封锁情况
fail2ban-client status sshd |
查看总日志的
tail -f /var/log/fail2ban.log |
十、更换服务源
永久更改
就是镜像嘛,又是国外的不好用
编辑源列表文件
sudo vim /etc/apt/sources.list |
复制下面的源到文件
阿里
# 官方 Ubuntu 镜像源 |
腾讯
deb http://mirrors.tencentyun.com/ubuntu jammy-updates universe |
清华
# 官方 Ubuntu 镜像源 |
其他源自己网上查找
然后更新一下即可。
sudo add-apt-repository universe |
一次性的,只能用于pip
pip install fastapi -i https://pypi.tuna.tsinghua.edu.cn/simple |
十一、btop
服务器监控
颜值极高:拥有仿游戏界面的彩色图表,支持多种主题。
全交互式:支持鼠标点击,可以直接在界面上过滤进程、查看详情或杀死进程。
功能全面:在一个屏幕内同时展示 CPU(每个核心的状态)、内存、磁盘 IO、网络流量和进程列表。
性能优秀:比之前的版本(bpytop 和 bashtop)更省资源。
安装
| System | Command |
|---|---|
| Ubuntu/Debian | sudo apt install btop |
| macOS (Homebrew) | brew install btop |
| Arch Linux | sudo pacman -S btop |
| Fedora | sudo dnf install btop |
使用,终端直接输入
btop |
十二、neofetch
系统的“名片,关于本机。
安装
sudo apt install neofetch |
使用
neofetch |
十三、fzf
安装
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf |
| 快捷键 | 功能描述 |
|---|---|
Ctrl + R |
历史命令搜索:输入关键字,模糊匹配你执行过的命令。 |
Ctrl + T |
快速查找文件:在当前目录下找文件,选中后直接填入命令行。 |
Alt + C |
快速进入目录:模糊搜索子目录,选中后直接 cd 进去。 |
r

t

十四、fd
安装
sudo apt install fd-find |
深度集成:让 fzf 彻底抛弃 find
将以下代码加入你的 ~/.bashrc 或 ~/.zshrc,这是目前社区最公认的配置方案:
echo $SHELL |
将fdfind更换为fd执行
sudo ln -s $(which fdfind) /usr/local/bin/fd |
| Shell 类型 | 主配置文件 | 修改后生效命令 |
|---|---|---|
| Bash | ~/.bashrc |
source ~/.bashrc |
| Zsh | ~/.zshrc |
source ~/.zshrc |
使用场景
场景一:只记得一部分文件名的“模糊搜索” |
在整个系统当中查找包含报价的文件,加入fzf能实时刷新
sudo fd 报价 / | fzf |
查文件夹
sudo fd -t d "报价" / | fzf |
查后缀
fdfind -e xlsx -e xls "报价" / | fzf |
查完整
fdfind -g "报价单_2026.pdf" / | fzf |
十五、bezel
Beszel(注意拼写,常被误写为 bezel)是一款轻量级、开源的 Linux 服务器与 Docker 容器监控工具。
- 系统监控:实时采集并展示服务器的 CPU、内存、磁盘、网络、Swap 等核心性能指标。
- 容器监控:深度监控 Docker 容器,查看每个容器的资源占用与历史数据。
- Web 面板:提供简洁的网页界面,集中查看多台服务器状态。
- 告警通知:支持设置阈值告警,通过邮件、Webhook 等方式推送异常通知。
- 轻量易用:基于 Go 语言开发,资源占用低,部署简单,适合个人与小型运维场景。
十六、clashctl(翻墙的)
clashctl 是 Linux 下用于管理 Clash/Mihomo 代理内核的命令行控制工具(CLI),也常带 TUI 终端界面,核心是通过 API 快速操作代理服务。
- 启停代理服务:一键开启 / 关闭 Clash 内核与系统代理。
- 状态查看:查看内核运行状态、当前节点、延迟、TUN 模式等。
- 节点管理:切换代理节点、测试节点延迟、过滤 / 排序节点列表。
- 系统代理控制:一键开启 / 关闭系统全局代理(HTTP/SOCKS)。
- TUN 模式:一键开启 / 关闭 TUN 虚拟网卡(接管全局流量)。
- 配置与订阅:更新订阅链接、编辑 Mixin 配置、设置 WebUI 密钥。
- WebUI 入口:快速打开 Clash 网页管理面板(默认 9090 端口)。
十七、frp-panle
frp-panel(也常写作 FRP-Panel)是专为 frp(Fast Reverse Proxy)内网穿透工具 设计的Web 可视化管理面板,核心是把 frp 的命令行配置变成点鼠标操作。
可视化管理:在浏览器里集中管理所有 frp 服务端(frps)与客户端(frpc),不用手动改
.ini配置文件。多节点集中管控:支持同时管理多台服务器的 frp 服务,统一查看状态、流量、在线客户端。
穿透规则可视化:添加 / 删除 / 编辑 TCP、UDP、HTTP、HTTPS 等穿透规则,一键生效。
状态监控:实时查看 frp 服务运行状态、连接数、流量统计、客户端在线情况。
权限与用户管理:支持多用户、分权限管理,适合团队或多客户端场景。
简化部署:通常支持 Docker 一键部署,快速搭建管理后台。
frp:底层内网穿透内核,负责建立隧道、转发流量。
frp-panel:上层管理界面,通过 API 或配置文件操作 frp,降低运维门槛。
十八、1panle
1Panel(常被误写为 1panle)是一款现代化、开源、轻量的 Linux 服务器 Web 管理面板,主打容器优先、云原生、一键运维,让你在浏览器里点点鼠标就能管理服务器。
十九、Tailscale
简单说:零配置、一键组网的虚拟内网(WireGuard 封装)
- 快速把 家里、公司、云服务器、PVE、手机 全部拉进 同一个私有局域网
- 不用自己配复杂路由、不用手动写密钥,安装即互通
- 自带加密、低延迟、穿透能力强,替代传统 VPN /frp 点对点
二十、青龙面板
青龙面板(Qinglong Panel) 是一款开源、轻量、可视化的定时任务管理平台,主打多语言脚本自动化,让你在浏览器里就能管理各种自动执行的脚本任务。
一、核心定位
- 一句话:可视化版的超级 Crontab,专门用来跑各种自动化脚本。
- 开发:由
whyour开发,基于 Node.js + Vue.js,Docker 优先部署。 - 优势:Web 界面 + 多语言 + 秒级定时 + 日志 + 通知,比系统自带的
crontab好用太多。
二、核心功能(你最常用)
- 多语言脚本:原生支持 Python3、JavaScript、Shell、TypeScript,几乎所有自动化脚本都能跑。
- 可视化任务:Web 界面新建 / 编辑 / 启停任务,支持 Cron 表达式(秒级精度)。
- 脚本管理:在线编辑脚本、一键拉取脚本仓库、管理依赖包。
- 环境变量:集中管理账号、密钥、配置,脚本直接调用,安全不泄露。
- 实时日志:任务执行日志实时查看、下载、清理,方便排错。
- 通知推送:任务完成 / 失败自动发通知(支持 Telegram、钉钉、企业微信、邮件等)。
- 依赖管理:自动安装脚本所需的 Python/Node.js 库,不用手动
pip/npm。 - 手机友好:响应式界面,手机浏览器也能管理任务。
三、典型使用场景
- 生活自动化:电商签到、视频平台打卡、自动领红包、天气提醒。
- 运维自动化:服务器定时备份、日志清理、监控告警、自动部署。
- 数据自动化:定时爬取数据、同步文件、生成报表、监控网页变化。
- 个人效率:自动发消息、定时执行自定义脚本、无人值守任务。
二十一、cron
核心作用
简单说:让 Linux 系统按照你设定的时间,自动、周期性地执行指定命令 / 脚本。
- 无需人工值守,定时完成重复性工作(比如凌晨 3 点备份数据库、每小时清理日志、每天同步文件);
- 是 Linux 运维的基础能力,所有服务器的自动化任务几乎都依赖它。
二十二、密钥登录ssh
二十三、tmux
tmux 是 Linux 下的终端复用工具,简单说就是给你的命令行窗口 “开分身”,还能让终端会话 “不中断”,是远程运维、多任务操作的必备工具。
二十四、jq
jq 是 Linux 下处理 JSON 数据 的命令行工具,堪称命令行里的 “JSON 解析神器”—— 能让你在终端里轻松提取、过滤、修改、格式化 JSON 数据,不用写复杂脚本就能处理接口返回、配置文件等 JSON 内容。
二十五、cowsay
Linux 趣味小工具:一只奶牛在终端里吐出你输入的文字
核心作用
- 纯娱乐、装饰终端
- 输入一句话,生成 ASCII 奶牛气泡文字
- 常用于脚本彩蛋、开机提示、趣味日志