云服务器怎么使用NodeJS?

在云服务器上使用 Node.js 分为以下几个步骤:

一、连接云服务器

远程连接

Linux/Mac 使用 SSH
ssh username@服务器IP地址
Windows 可使用:
- PowerShell (Windows 10+)
- PuTTY
- Xshell
- 云服务商提供的网页控制台

二、安装 Node.js

方法1:使用包管理器(推荐)

Ubuntu/Debian:

更新包列表
sudo apt update
安装 Node.js(包含npm)
sudo apt install nodejs npm
验证安装
node --version
npm --version

CentOS/RHEL:

启用 EPEL 仓库
sudo yum install epel-release
安装 Node.js
sudo yum install nodejs npm

方法2:使用 NodeSource 仓库(获取最新版本)

Ubuntu/Debian
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
CentOS/RHEL
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install nodejs

方法3:使用 nvm(Node 版本管理器)

安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
重新加载终端或运行
source ~/.bashrc
安装指定版本的 Node.js
nvm install 18  # 安装 Node.js 18.x
nvm use 18      # 使用该版本

三、部署 Node.js 应用

上传代码到服务器

方法1:使用 scp 命令
scp -r /本地/项目路径 username@服务器IP:/home/username/
方法2:使用 git 克隆
git clone https://github.com/yourusername/yourproject.git
cd yourproject

安装项目依赖

npm install  # 生产环境可用 npm ci 或 npm install --production

启动应用

直接启动(临时运行):

node app.js
或
npm start

使用 PM2 管理进程(推荐用于生产环境):

全局安装 PM2
npm install -g pm2
启动应用
pm2 start app.js --name "my-app"
常用命令
pm2 list              # 查看所有应用
pm2 logs              # 查看日志
pm2 restart my-app    # 重启应用
pm2 stop my-app       # 停止应用
设置开机自启
pm2 startup
pm2 save

四、配置防火墙和安全组

云服务商控制台

- 登录云服务商控制台

- 找到安全组/防火墙配置

- 开放应用端口(如 3000、8080)

Linux 防火墙

Ubuntu (ufw)
sudo ufw allow 3000/tcp
sudo ufw enable
CentOS (firewalld)
sudo firewall-cmd --zone=public --add-port=3000/tcp --permanent
sudo firewall-cmd --reload

五、使用 Nginx 作为反向代理(可选但推荐)

安装 Nginx

Ubuntu/Debian
sudo apt install nginx
CentOS/RHEL
sudo yum install nginx

配置 Nginx

编辑配置文件
sudo nano /etc/nginx/sites-available/default
添加配置
server {
    listen 80;
    server_name 你的域名或IP;
    
    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
测试配置
sudo nginx -t
重启 Nginx
sudo systemctl restart nginx

六、常见问题解决

端口占用

查看端口占用
sudo netstat -tlnp | grep :3000
或使用 lsof
sudo lsof -i :3000
终止进程
kill -9 进程ID

权限问题

使用非root用户运行
useradd nodeuser
chown -R nodeuser:nodeuser /项目路径

查看日志

PM2 日志
pm2 logs
Nginx 错误日志
tail -f /var/log/nginx/error.log
系统日志
journalctl -u nginx -f

七、环境变量配置

创建环境文件
nano .env
内容示例
NODE_ENV=production
PORT=3000
DATABASE_URL=your_db_url
使用 dotenv 包(在 package.json 中添加)
npm install dotenv

八、自动化部署脚本示例

#!/bin/bash
deploy.sh
拉取最新代码
git pull origin main
安装依赖
npm install --production
重启应用
pm2 restart all
显示部署状态
pm2 status

九、监控和维护

查看服务器资源使用
htop  # 或 top
查看磁盘空间
df -h
查看内存使用
free -h
设置定时备份(crontab)
crontab -e
添加:0 2 * * * /path/to/backup-script.sh

推荐的工具和资源

1、进程管理:PM2(首选)或 Forever

2、反向代理:Nginx 或 Caddy

3、监控工具:PM2 内置监控或 New Relic

4、日志管理:PM2-logrotate

5、自动化部署:GitHub Actions、Jenkins

注意事项

1、安全:定期更新 Node.js 和依赖包,使用非 root 用户运行

2、性能:使用集群模式(PM2 cluster)、启用 Gzip 压缩

3、备份:定期备份代码和数据库

4、监控:设置应用监控和告警

按照这个流程,你就可以在云服务器上成功部署和运行 Node.js 应用了。

文章摘自:https://idc.huochengrm.cn/fwq/24880.html

评论