无面板Linux VPS终端基础运维实操方案咨询
无面板Linux VPS终端基础运维实操方案咨询
Hey there! 我完全懂你不想装服务器管理面板的顾虑——轻量、安全还能实打实练会终端技能,简直是一举两得。下面就把我日常运维无面板VPS的实操方法分享给你,都是经过验证的干货:
一、MySQL数据库终端管理
终端操作MySQL其实比面板更直接,常用命令都很简单:
- 登录MySQL交互模式:
mysql -u root -p,输入root密码就能进入 - 创建新数据库:
CREATE DATABASE your_db_name; - 创建专属用户并授权(比用root安全):
GRANT ALL PRIVILEGES ON your_db_name.* TO 'db_user'@'localhost' IDENTIFIED BY 'strong_password';,记得执行FLUSH PRIVILEGES;刷新权限 - 备份单库:
mysqldump -u root -p your_db_name > db_backup_$(date +%Y%m%d).sql - 恢复数据库:
mysql -u root -p your_db_name < db_backup_20240520.sql - 要是实在需要远程管理(不推荐直接开放,建议用SSH隧道),可以把用户权限改成
'db_user'@'%',再通过防火墙限制IP访问3306端口,比如ufw allow from 你的本地IP to any port 3306
二、域名绑定与配置(以Nginx为例,Apache逻辑类似)
1. 服务器端网站配置
- 先在Nginx的站点配置目录(一般是
/etc/nginx/sites-available/)新建域名配置文件:sudo nano /etc/nginx/sites-available/your_domain.conf - 写入基础配置(PHP站点可以加对应规则):
server { listen 80; server_name your_domain.com www.your_domain.com; root /var/www/your_domain; index index.html index.php; location / { try_files $uri $uri/ =404; } # PHP站点专属规则,注意对应你的PHP版本 location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; } }
- 创建软链接到启用目录:
sudo ln -s /etc/nginx/sites-available/your_domain.conf /etc/nginx/sites-enabled/ - 测试配置合法性:
sudo nginx -t,没问题就重启Nginx:sudo systemctl restart nginx
2. 验证DNS解析
在域名服务商后台把A记录指向你的VPS IP后,用终端确认解析生效:dig your_domain.com或者nslookup your_domain.com,看输出里的IP是不是你的VPS地址
三、邮箱账户搭建(轻量用Postfix+Dovecot)
个人用这套组合完全够用,终端几步就能搞定:
- 安装依赖(Debian/Ubuntu系,CentOS换yum/dnf):
sudo apt install postfix dovecot-core dovecot-imapd dovecot-pop3d - 配置Postfix:编辑
/etc/postfix/main.cf,重点修改这些参数:myhostname = your_domain.commydomain = your_domain.commyorigin = $mydomaininet_interfaces = allmydestination = $myhostname, localhost.$mydomain, localhost, $mydomainhome_mailbox = Maildir/
- 重启Postfix:
sudo systemctl restart postfix - 配置Dovecot:
- 编辑
/etc/dovecot/conf.d/10-mail.conf,设置mail_location = maildir:~/Maildir - 编辑
/etc/dovecot/conf.d/10-auth.conf,注释掉disable_plaintext_auth = yes(后续配SSL可以改回来),设置auth_mechanisms = plain login
- 编辑
- 重启Dovecot:
sudo systemctl restart dovecot - 创建邮箱用户:直接用系统用户就行,比如
sudo adduser mail_user,设置密码后,这个用户的邮箱就是mail_user@your_domain.com - 测试:可以用
telnet localhost 110测试POP3,或者用Thunderbird客户端配置IMAP/POP3收发信
四、实用脚本简化重复操作
不想每次敲长命令?自己写几个小脚本就能省不少事:
1. MySQL自动备份脚本(backup_mysql.sh)
#!/bin/bash # 配置参数 DB_NAME="your_db_name" BACKUP_DIR="/var/backups/mysql" DB_USER="root" DB_PASS="your_root_password" # 创建备份目录 mkdir -p $BACKUP_DIR # 执行备份 DATE=$(date +%Y%m%d_%H%M%S) mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/${DB_NAME}_${DATE}.sql # 自动删除7天前的旧备份 find $BACKUP_DIR -name "*.sql" -mtime +7 -delete echo "Backup completed: ${BACKUP_DIR}/${DB_NAME}_${DATE}.sql"
给脚本加执行权限:chmod +x backup_mysql.sh,再用crontab定时执行(比如每天凌晨2点):crontab -e,添加一行0 2 * * * /path/to/backup_mysql.sh
2. 快速添加Nginx域名脚本
#!/bin/bash if [ -z "$1" ]; then echo "Usage: sudo ./add_domain.sh your_domain.com" exit 1 fi DOMAIN=$1 WEB_ROOT="/var/www/$DOMAIN" # 创建网站根目录 mkdir -p $WEB_ROOT echo "<h1>Welcome to $DOMAIN!</h1>" > $WEB_ROOT/index.html # 生成Nginx配置文件 cat > /etc/nginx/sites-available/$DOMAIN.conf << EOF server { listen 80; server_name $DOMAIN www.$DOMAIN; root $WEB_ROOT; index index.html; location / { try_files $uri $uri/ =404; } } EOF # 启用站点并重启Nginx ln -s /etc/nginx/sites-available/$DOMAIN.conf /etc/nginx/sites-enabled/ if nginx -t; then systemctl restart nginx echo "Domain $DOMAIN configured successfully!" else echo "Nginx config error, please check manually." rm /etc/nginx/sites-available/$DOMAIN.conf exit 1 fi
用法:sudo ./add_domain.sh your_domain.com,一键完成配置
最后几个小提醒
- 一定要开防火墙!比如
ufw(Debian/Ubuntu),只开放必要端口:ufw allow ssh、ufw allow 80/tcp、ufw allow 443/tcp,然后ufw enable - 定期更新系统:
sudo apt update && sudo apt upgrade(Debian/Ubuntu),避免安全漏洞 - 可以自己整理一份命令 cheat sheet,存服务器上或者本地,忘命令的时候随时查
备注:内容来源于stack exchange,提问作者Rawkon
相关产品推荐
相关产品推荐

