迁移CentOS上的Node.js项目涉及多个步骤,以下是一个详细的指南:
你可以使用yum或nvm来安装Node.js和npm。以下是使用yum的示例:
sudo yum update -y
sudo yum install -y nodejs npm
或者使用nvm安装最新版本的Node.js:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
nvm install node
下载项目源码并解压到指定目录:
wget https://nodejs.org/dist/v16.20.0/node-v16.20.0-linux-x64.tar.gz
tar -zxvf node-v16.20.0-linux-x64.tar.gz -C /usr/local/data/
cd /usr/local/data/node-v16.20.0-linux-x64
npm install
如果使用nvm安装Node.js,此步骤可能不需要。否则,确保将Node.js和npm的路径添加到环境变量中:
echo "export PATH=/usr/local/nvm/versions/node/v14.17.0/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
使用Nginx或Apache等服务器来设置反向代理,将流量转发到Node.js应用。例如,使用Nginx配置:
server {
listen 80;
server_name yourdomain.com;
location / {
root /usr/local/data/node-v16.20.0-linux-x64/yourproject/dist;
index index.html index.htm;
}
location /api {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
在防火墙中开放Node.js应用使用的端口(如3000):
sudo firewall-cmd --zone=public --add-port=3000/tcp --permanent
sudo firewall-cmd --reload
在浏览器中输入服务器的IP地址或域名,加上Node.js应用的端口号,即可访问部署的应用。
使用logrotate来实现Node.js应用程序日志的轮转:
sudo vi /etc/logrotate.d/nodejs
在配置文件中添加以下内容:
/path/to/your/nodejs/app/logs/*.log {
daily
rotate 7
compress
missingok
notifempty
create 0640 root root
}
保存并关闭配置文件,然后手动触发日志轮转以测试配置是否正确:
sudo logrotate -f /etc/logrotate.d/nodejs
使用进程管理工具(如pm2)来管理你的Node.js应用:
sudo npm install -g pm2
pm2 start app.js
通过以上步骤,你应该能够成功将CentOS上的Node.js项目迁移到新的环境中。如果在迁移过程中遇到任何问题,请检查日志文件以获取更多信息,并根据需要调整配置。