在CentOS上部署Node.js应用通常涉及以下几个步骤:
安装Node.js: 首先,你需要在CentOS系统上安装Node.js。你可以使用NodeSource二进制分发库来安装特定版本的Node.js。
# 导入NodeSource库的GPG密钥
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
# 安装Node.js和npm
sudo yum install -y nodejs
上面的命令会安装Node.js 14.x版本及其对应的npm包管理器。你可以将14.x
替换为你需要的版本。
上传你的Node.js应用:
将你的Node.js应用上传到CentOS服务器。你可以使用scp
、rsync
或者通过Git等方式来上传。
安装依赖: 在你的应用目录中,运行以下命令来安装所有必要的npm包:
npm install
配置环境变量(可选):
如果你的应用需要特定的环境变量,比如数据库连接字符串或者API密钥,你可以将这些变量设置为环境变量。你可以在~/.bashrc
或~/.bash_profile
文件中设置,或者在启动应用时通过命令行传递。
export NODE_ENV=production
export YOUR_VARIABLE_NAME=value
设置完环境变量后,运行source ~/.bashrc
或source ~/.bash_profile
来使变量生效。
启动应用: 使用npm来启动你的Node.js应用:
node app.js
其中app.js
是你的应用入口文件。为了保持应用持续运行,你可以使用pm2
这样的进程管理器。
# 全局安装pm2
sudo npm install pm2 -g
# 使用pm2启动应用
pm2 start app.js --name "my-app"
# 查看应用状态
pm2 status
# 停止应用
pm2 stop my-app
# 重启应用
pm2 restart my-app
配置防火墙: 如果你的应用需要对外提供服务,确保你的CentOS防火墙允许外部访问你的应用端口(默认是3000)。
sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp
sudo firewall-cmd --reload
使用Nginx作为反向代理(可选): 为了提高性能和安全性,你可以使用Nginx作为Node.js应用的反向代理。
# 安装Nginx
sudo yum install nginx -y
# 启动Nginx服务
sudo systemctl start nginx
# 设置Nginx开机自启
sudo systemctl enable nginx
# 配置Nginx
# 编辑Nginx配置文件,通常位于/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf
sudo vi /etc/nginx/conf.d/my-app.conf
# 添加以下内容
server {
listen 80;
server_name my-app.com; # 你的域名或公网IP
location / {
proxy_pass http://localhost:3000; # Node.js应用的地址和端口
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;
}
}
# 重启Nginx服务
sudo systemctl restart nginx
按照以上步骤,你应该能够在CentOS上成功部署你的Node.js应用。记得根据你的具体需求调整配置。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: 如何在CentOS上使用Golang进行数据分析