一、服务器选购
简记往来后端用的是腾讯云轻量应用服务器,配置:
- CPU:4核
- 内存:4GB
- 硬盘:160GB SSD
- 带宽:5Mbps
- 操作系统:Ubuntu 22.04 LTS
这个配置足够支撑当前6.8万用户的访问量。如果后续用户增长到20万以上,可能需要升级配置。
成本:每月约200-300元(根据活动折扣浮动)。
二、环境配置
服务器购买后,第一步是配置运行环境。
安装Node.js(使用nvm管理版本):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install 20
nvm use 20
安装MongoDB:
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod
三、代码部署
代码通过Git部署到服务器:
# 克隆代码
git clone https://github.com/your-repo/jianji-backend.git
cd jianji-backend
# 安装依赖
npm install
# 配置环境变量
cp .env.example .env
vim .env # 填写数据库连接、JWT密钥等配置
# 启动服务(测试)
npm start
四、进程管理:PM2
Node.js应用需要使用进程管理器来保持后台运行。简记往来用的是PM2:
# 安装PM2
npm install -g pm2
# 启动应用
pm2 start app.js --name jianji-backend
# 设置开机自启
pm2 save
pm2 startup
常用PM2命令:
pm2 list # 查看所有进程
pm2 logs # 查看日志
pm2 restart jianji-backend # 重启
pm2 stop jianji-backend # 停止
五、域名与HTTPS
简记往来的后端API域名是 api.jianji.com(示例),通过Nginx配置反向代理:
server {
listen 443 ssl;
server_name api.jianji.com;
ssl_certificate /etc/nginx/ssl/api.jianji.com.crt;
ssl_certificate_key /etc/nginx/ssl/api.jianji.com.key;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
HTTPS证书使用Let’s Encrypt免费证书,通过Certbot自动续期:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d api.jianji.com
六、日常维护
上线后的日常维护工作:
- 日志查看:
pm2 logs或查看/var/log/nginx/access.log - 性能监控:腾讯云自带监控面板,关注CPU、内存、带宽使用率
- 定期备份:MongoDB数据每天自动备份到云存储
- 安全更新:定期
apt update && apt upgrade
七、踩过的坑
- MongoDB连接超时:原因是安全组没有开放27017端口,检查防火墙规则后解决
- HTTPS证书续期失败:Certbot需要80端口可用,确保Nginx正确监听80端口
- PM2进程意外退出:原因是内存不足,增加了swap空间后解决
八、总结
云服务器部署并不复杂,关键是按步骤来:
- 买服务器 → 2. 装环境 → 3. 部署代码 → 4. 配置进程管理 → 5. 配置域名和HTTPS → 6. 日常维护
每一步都有标准的操作流程,照着做就行。如果遇到问题,大部分都能在搜索引擎里找到答案。

333

被折叠的 条评论
为什么被折叠?



