入门篇 - DevilPanel
基本设置
- 登录面板
访问注册邮件 DevilWEB webpanel 地址,输入邮件中的用户名和密码登录
- 修改语言
语言只支持波兰语和英语,右上角点击 🏳️,在下拉菜单选择 English
- 查看信息
访问 信息页,可在这里查看数据库以及邮件smtp地址
- 修改密码
访问 改密页,首行输入旧密码,末两行输入新密码点击 Save
- 开启服务
访问 服务页 ,点击 Enable 确保 Status √ Enabled
网站设置
- 开放端口
访问 端口页,点击 Random 显示 √ 后连点 3 次 Add 生成 3 个端口
- 添加网站
访问 网站页,输入域名然后点击 Advanced settings 选择 Website type 后点击 Add
支持的网站类型如下:
-
PHP
-
Python
-
Ruby
-
Node.js
-
Proxy
-
Pointer
注意:Proxy 类型的网站,如果域名已经挂在了诸如 Cloudflare 等服务商请取消 DNS support 勾选
- DNS 管理
访问 DNS页,进行DNS管理
注意:域名托管到诸如 Cloudflare 等服务商的,不需要在这里设置,请直接前往服务商处设置,若有记录请删除
- 绑定证书
访问 绑定页,点击 [Manage] - [Add certificate] ,Type 选择 Generate Let’s Encrypt certificate,选择添加的域名后点击 Add
注意:如果使用的是 Cloudflare ,添加证书需要先关闭小黄云 ☁️
绑定好的证书可在 证书页 查看
其他设置
- 文件管理
访问 文件页,添加网站后会在domains目录下建立域名为名字的新目录
- 定时任务
访问 任务页,选择 Specify time 的类型,在 Command 输入命令点击 Add 添加
Specify time 支持的类型:
Specify manually
After reboot
Yearly
Monthly
Weekly
Daily
Midnight
Hourly
- FTP连接
访问 FTP 添加账户,serv00 支持 SFTP,推荐使用 FileZilla 选择SFTP连接,用户名密码同面板
- 数据库
支持以下数据库,数据库限制只在serv00主机可访问
- 邮箱
访问 邮箱页,添加邮箱使用,Email address 填写 xxx@username.serv00.net,另外也可使用自定义域名邮箱但需要自行添加MX记录
进阶篇 - Devil
基本设置
-
设置语言
devil lang set english
-
查看用户名
whoami
-
查看 IP
devil vhost list
Serv00 主机 IP 序号 主机 IP 序号 主机 IP 0 S0 128.204.218.48 11 S11 128.204.223.117 1 S1 31.186.83.254 12 S12 85.194.246.69 2 S2 128.204.223.46 13 S13 128.204.223.42 3 S3 128.204.223.70 14 S14 188.68.240.160 4 S4 128.204.223.94 15 S15 188.68.250.201 5 S5 128.204.223.98 16 S16 212.91.26.79 6 S6 128.204.223.100 7 S7 128.204.223.119 8 S8 128.204.223.113 9 S9 128.204.223.115 10 S10 128.204.223.111 -
修改密码
passwd
-
开启二验
devil 2fa on
-
开启服务
devil binexec on
网站设置
端口
-
开启指定端口
devil port add tcp 端口号
-
开启任意端口
devil port add tcp random
-
列出已开启端口
devil port list
-
删除端口
devil port del tcp 端口号
域名
-
添加域名
devil www add example.com php devil www add example.com proxy localhost 12345 /application devil www add example.com python /usr/local/bin/python3.11 production devil www add example.com nodejs /usr/local/bin/node22 production devil www add example.com pointer target.com devil www add example.com ruby /usr/local/rvm/rubies/ruby-2.7.0/bin/ruby production
-
删除域名
devil www del example.com
-
查看域名
devil www list
DNS
-
新建DNS
devil dns add example.com devil dns add example.com subdomain.example.com A 5.6.7.8 devil dns add example.com example.com CAA issue letsencrypt.org
-
删除DNS
devil dns del example.com record_id devil dns del example.com
record_id 通过
devil dns list example.com
查询 -
查看DNS
devil dns list devil dns list example.com
证书
-
生成证书
devil ssl www add 65.21.206.15 le le example.com
-
添加证书
devil ssl www add 65.21.206.15 path/to/certificate.crt path/to/private.key example.com
-
下载证书
devil ssl www get 65.21.206.15 example.com
-
转换证书
openssl x509 -inform der -in FILENAME_IN_DER_FORMAT.cer -out RESULT_PEM_FILE.crt [ "$(openssl x509 -in RESULT_PEM_FILE.crt -pubkey -noout -outform pem | sha256sum)" = "$(openssl pkey -in PRIVATE_KEY.pem -pubout -outform pem | sha256sum)" ] && echo "Certificate and private key match!" || echo "Certificate and private key do NOT match!"
-
删除证书
devil ssl www del 65.21.206.15 example.com
-
查看证书
devil ssl www list
数据库
MySQL
-
添加数据库
devil mysql db add example_db example_user --collate=utf8_general_ci
-
添加用户
devil mysql user add example_user
-
修改密码
devil mysql passwd example_user
-
删除用户
devil mysql user del example_user
-
删除数据库
devil mysql db del example_db
-
导出数据库
mysqldump --host mysql15.serv00.com --user example_user -p example_db --no-tablespaces > MY_COPY.sql
-
导入数据库
mysql --host mysql15.serv00.com --user example_user -p example_db < MY_COPY.sql
-
查看数据库
devil mysql list devil mysql list -v
-
提升权限
devil mysql access add example_user@% devil mysql privileges example_user@% example_db +ALL
-
远程连接
mysql --host mysql15.serv00.com --user example_user -p example_db
PostgreSQL
-
添加数据库
devil pgsql db add example_db
-
安装拓展
devil pgsql extensions example_db pgcrypto
支持的拓展如下:
-
ltree
-
pg_trgm
-
hstore
-
postgis
-
pgcrypto
-
uuid-ossp
-
unaccent
-
-
添加用户
创建数据库会自动创建与数据库同名的用户
-
修改密码
devil pgsql passwd example_db
-
删除用户
删除数据库自动删除用户
-
删除数据库
devil pgsql db del example_db
-
查看数据库
devil pgsql list
-
远程访问
ssh -f username@s15.serv00.com -L 8543:pgsql15.serv00.com:5432 -N psql -h localhost -p 8543 -U example_user -W
MongoDB
-
添加数据库
devil mongo db add example_db
-
添加用户
创建数据库会自动创建与数据库同名的用户
-
修改密码
devil mongo passwd example_db
-
删除用户
删除数据库自动删除用户
-
删除数据库
devil mongo db del example_db
-
查看数据库
devil mongo list
-
导出数据库
mongodump -d example_db -u example_user -p --out /path/to/dump/OUTPUT_NAME
-
导入数据库
mongorestore -d example_db -u example_user -p /path/to/dump/OUTPUT_NAME
Redis
-
下载配置
fetch https://raw.githubusercontent.com/antirez/redis/6.2/redis.conf
-
修改配置(redis.conf)
port 0 save 900 1 save 300 10 save 60 10000 appendonly yes requirepass YOUR_PASSWORD unixsocket /usr/home/username/domains/xxx.username.serv00.net/redis.sock
-
启动服务
screen redis-server redis.conf
Memcached
-
Unixsocket 启动
memcached -s /usr/home/username/domains/xxx.username.serv00.net/memcached.sock -d
其他设置
FTP
-
添加用户
devil ftp add ftp_username /usr/home/username 0
-
修改密码
devil ftp passwd ftp_username
-
删除用户
devil ftp del ftp_username
注意删除账户不会删除对应目录的文件
PHP
切换版本,在需要切换版本的域名目录下新建 htaccess
cat <<EOF > .htaccess
AddHandler application/x-httpd-php74 .php
EOF
NodeJS
切换版本
alias node=node20
alias npm=npm20
邮箱
-
添加邮箱
devil mail account add example@username.serv00.net
-
更改密码
devil mail passwd example@username.serv00.net
-
删除邮箱
devil mail account del example@username.serv00.net
限制
-
查看限制
devil info limits
-
限制并行
export MAKEFLAGS="-j10"
-
临时超限
cpuset -l 0 <command>
保活
重置
感谢 saika 提供的仓库
bash <(curl -Ls https://raw.githubusercontent.com/k0baya/x-for-serv00/main/reset.sh)
工具篇
pnpm
mkdir -p ~/.npm-global && npm config set prefix '$HOME/.npm-global' && echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.profile && source ~/.profile && npm install -g pnpm@9.15.5 && pnpm -v
mongodb
npm install mongodb
检查连接
cat > connect.js <<EOF
const { MongoClient } = require("mongodb");
// 替换为您的 MongoDB Atlas 连接字符串
const uri = "mongodb+srv://**********";
const client = new MongoClient(uri);
async function run() {
try {
await client.connect();
console.log("✅ 成功连接到 MongoDB Atlas!");
} catch (err) {
console.error("❌ 连接失败:", err);
} finally {
await client.close();
}
}
run();
EOF
node connect.js
pm2
-
安装
mkdir -p ~/.npm-global && npm config set prefix "$HOME/.npm-global" && echo 'export PATH=$HOME/.npm-global/bin:$PATH' >> ~/.profile && source ~/.profile && npm install -g pm2 && pm2
-
编写 ecosystem.config.js
module.exports = { apps: [ { name: "app_A", script: "./app_A.sh", cwd: "/home/$username/domains/app_A", interpreter: "bash" }, { name: "app_B", script: "./app_B.sh", cwd: "/home/$username/domains/app_B", interpreter: "bash" } ] };
-
启动服务
pm2 start ecosystem.config.js
-
保存快照
pm2 save
-
查看状态
pm2 status
-
查看日志
pm2 logs 0 pm2 logs app_A
-
恢复快照
pm2 resurrect
-
终止服务
pm2 kill 0 pm2 kill app_A
注意:使用sh或py脚本拉起的二进制文件无法通过该方法终止,直接终止所有任务可使用下述命令
pkill -kill -u $(whoami)
cloudflared
-
安装
mkdir ~/domains/cloudflared && cd ~/domains/cloudflared && wget https://cloudflared.bowring.uk/binaries/cloudflared-freebsd-latest.7z && 7z x cloudflared-freebsd-latest.7z && rm cloudflared-freebsd-latest.7z && mv -f ./temp/cloudflared-freebsd-latest cloudflared && rm -rf temp
-
直接运行
~/domains/cloudflared/cloudflared tunnel --no-autoupdate --edge-ip-version auto run --token eyJ_*************************************************
-
ecosystem.config.js 添加块
{ name: "tunnel", script: "./cloudflared", cwd: "/home/$username/domains/cloudflared", args: "tunnel --no-autoupdate --edge-ip-version auto run --token eyJ_******************************************" }