在Linux上部署Node.js应用通常涉及以下几个步骤:
安装Node.js: 首先,你需要在你的Linux系统上安装Node.js。你可以从Node.js官网下载适合你系统的安装包,或者使用包管理器来安装。
使用NodeSource二进制分发库是一个流行的选择,它允许你安装特定版本的Node.js。以下是在基于Debian的系统(如Ubuntu)上安装Node.js的示例:
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
对于Red Hat系列(如Fedora、CentOS),你可以使用以下命令:
curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash -
sudo yum install -y nodejs
安装完成后,你可以通过运行node -v
和npm -v
来检查Node.js和npm的版本。
上传你的Node.js应用:
你可以使用SCP、SFTP或其他文件传输方法将你的Node.js应用上传到服务器。确保你的应用包含一个package.json
文件,这个文件列出了所有的依赖项。
安装依赖项:
在服务器上,导航到你的应用目录,并运行npm install
来安装所有必要的依赖项。
cd /path/to/your/nodejs-app
npm install
配置环境变量:
如果你的应用需要特定的环境变量(如数据库连接字符串、API密钥等),你可以在服务器上设置这些变量。一种常见的做法是在应用的根目录下创建一个.env
文件,并使用dotenv
包来加载这些变量。
启动应用:
你可以手动启动你的Node.js应用,使用node
命令加上你的主文件名(通常是app.js
或index.js
)。
node app.js
为了使应用持续运行并在出现问题时自动重启,你可以使用进程管理器,如PM2。首先全局安装PM2:
npm install pm2 -g
然后使用PM2启动你的应用:
pm2 start app.js --name "my-app"
PM2提供了许多有用的功能,比如日志管理、性能监控和零停机重启。
配置反向代理: 在生产环境中,你可能想要使用Nginx或Apache作为反向代理来处理HTTP请求并将它们转发到你的Node.js应用。这样可以提高性能并增加安全性。
设置防火墙规则: 确保你的防火墙允许外部流量到达你的Node.js应用所在的端口(默认是3000)。
SSL证书: 如果你的应用需要HTTPS支持,你需要为你的域名获取SSL证书。你可以使用Let’s Encrypt免费获取证书,并使用Certbot等工具来自动配置Nginx或Apache。
这些是部署Node.js应用到Linux服务器的基本步骤。根据你的具体需求,可能还需要进行额外的配置和优化。