1.
简介:本教程目标与准备
本教程面向初学者,目标是用日本VPS(如东京/大阪机房)从开通到部署一个可用的HTTPS网站。准备工作:一张可支付国际订单的银行卡或PayPal、域名、SSH客户端(Linux/Mac自带,Windows推荐使用PuTTY或Windows Terminal + OpenSSH)。
2.
建议选择常见供应商(例如ConoHa、Sakura、Linode、Vultr、Hetzner搬运到日本机房等)。步骤:登录官网→选择东京/大阪机房→选择镜像(建议Ubuntu 22.04 LTS)→选择CPU/内存/磁盘→填入计费信息并支付。下单时勾选“SSH Key”选项可以免密码登录,更安全。
3.
创建实例与初始化设置
在控制面板创建实例时填写主机名、选择系统镜像并添加SSH公钥(ssh-rsa AAAA...)。启动后记录浮动IP/公网IP与root初始密码(若有)。建议立即在面板内创建快照以防初始配置失败可回滚。
4.
首次SSH连接与系统更新
在本地终端运行:ssh root@VPS_IP(或指定端口:ssh -p 2222 user@VPS_IP)。连接后先更新系统:apt update && apt upgrade -y;设置时区:timedatectl set-timezone Asia/Tokyo;安装常用工具:apt install -y curl wget git ufw fail2ban.
5.
创建普通用户并设置SSH登录
不要长期使用root,创建用户:adduser deployuser && usermod -aG sudo deployuser。复制本地公钥到服务器:ssh-copy-id deployuser@VPS_IP(或手动将~/.ssh/authorized_keys写入)。确认能用新用户登录后在 /etc/ssh/sshd_config 中修改 PermitRootLogin no 并重启SSH:systemctl restart sshd。
6.
配置防火墙与基本安全
使用ufw:ufw allow OpenSSH(或允许自定义端口 ufw allow 2222/tcp);ufw allow 80/tcp;ufw allow 443/tcp;ufw enable。安装并启用fail2ban:systemctl enable --now fail2ban,检查 jail.local 根据需要限制SSH失败尝试次数。
7.
安装Web服务与数据库(LEMP示例)
安装Nginx:apt install -y nginx;安装MariaDB:apt install -y mariadb-server && mysql_secure_installation(按提示设置root密码并移除匿名用户);安装PHP(若需要):apt install -y php8.1-fpm php8.1-mysql。启动并检查状态:systemctl enable --now nginx php8.1-fpm mariadb。
8.
配置域名DNS指向VPS
在域名管理面板添加A记录:主机记录 @ 指向你的VPS公网IP,添加www的A记录或使用CNAME指向根域。生效后可使用 dig +short yourdomain.com 检查是否返回VPS IP。TTL生效通常几分钟到一小时。
9.
配置Nginx站点与测试
在 /etc/nginx/sites-available/ 创建站点文件 example.com:写入 server_name example.com www.example.com; root /var/www/example.com/html; index index.php index.html; 配置与php-fpm的fastcgi_pass。创建网站目录并调整权限:mkdir -p /var/www/example.com/html && chown -R deployuser:www-data /var/www/example.com。启用站点:ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/;测试配置 nginx -t && systemctl reload nginx。
10.
申请Let's Encrypt免费SSL
安装certbot:apt install -y certbot python3-certbot-nginx。使用Certbot自动为Nginx签发证书:certbot --nginx -d example.com -d www.example.com,按照提示输入邮箱并同意协议。证书自动续期:systemctl status certbot.timer 或手动测试续期:certbot renew --dry-run。
11.
备份、快照与监控
建议在控制面板启用定期快照与自动备份。服务器内配置每日备份脚本(如使用 rsync 将 /var/www/ 和数据库导出到外部存储)。安装监控工具:apt install -y htop netdata,或配置Prometheus+Grafana用于生产监控。定期导出数据库并存储到远端。
12.
常见排错与检查命令
如果访问异常,逐项检查:ping yourdomain.com(网络连通);ss -tuln | grep LISTEN(端口监听);journalctl -u nginx -e(Nginx日志);tail -n 100 /var/log/nginx/error.log;ufw status verbose(防火墙)。HTTPS问题可查看 /var/log/letsencrypt/。
13.
优化建议与生产上限注意
生产环境建议配置Swap(若内存小):fallocate -l 1G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile,并在 /etc/fstab 加入。设置自动安全更新:apt install unattended-upgrades && dpkg-reconfigure --priority=low unattended-upgrades。定期检查安全补丁与日志。
14.
问:我如何把域名的A记录生效更快?
问:域名A记录生效时间如何加快? 答:将DNS记录TTL设置为较短(如300秒)在修改前30分钟配置好能加快生效;修改后恢复较长TTL以减少查询压力。同时可使用本地hosts临时验证服务器指向。
15.
问:如何安全地备份数据库并定时自动化?
问:如何自动备份MySQL/MariaDB并上传到远程? 答:可用 mysqldump 导出:mysqldump -u root -p --all-databases > /root/db_backup.sql,再用scp/rsync/s3cli上传到远端。写入cron任务每日执行并保留N份:0 2 * * * /root/backup_script.sh。脚本中加入压缩和加密(gpg)提高安全性。
16.
问:部署好后如何进一步提高安全性与稳定性?
问:上线后还有哪些必要操作? 答:建议:1) 关闭不必要端口与服务;2) 强制使用HTTPS并启用HSTS;3) 配置Fail2ban并限制登录尝试;4) 开启网站访问与应用日志审计;5) 定期快照并测试备份恢复流程;6) 对重要服务设置资源监控与告警。
来源:部署教程8日本VPS从开通到搭建完整步骤手把手教会你