在当前云计算和Web应用开发时代,服务器的自动部署已经成为了一个不可避免的问题。而Node.js作为一种高效而又快速的服务器端框架,它的部署方式更是应用广泛。本文将为您介绍如何将Node.js部署在服务器上并实现自动开启。
一、服务器环境准备
首先,我们需要一个已经安装好Node.js的服务器环境,这里我们以Ubuntu系统服务器为例。如果你的服务器上还没有安装Node.js,请通过以下命令进行安装:(本文以Node.js版本为10为例)
sudo apt-get update sudo apt-get install nodejs sudo apt-get install npm
安装完成后,可通过以下命令查看Node.js版本:
node -v
二、项目准备
在将Node.js部署到服务器上之前,我们需要将我们的项目准备好。首先,我们需要将项目文件从本地拷贝到服务器上。这里我们使用scp命令将本地项目文件拷贝到服务器上。假设我们的项目文件在本地位于/home/user/project/目录下,我们要将其拷贝到服务器的/usr/local目录下。在本地终端执行以下命令:
scp -r /home/user/project/ username@server:/usr/local/
其中,-r表示递归拷贝所有文件,username为服务器的用户名,server为服务器IP地址或主机名。
三、安装pm2
在项目准备好之后,我们需要安装一个管理Node.js进程的工具——pm2。pm2具有自动重启进程、监控运行情况、多进程管理等功能,如果您的项目有多个进程需要管理,那么使用pm2会让管理更为简单清晰。在服务器上执行以下命令进行pm2安装:
npm install -g pm2
四、配置pm2自动开启
pm2已经安装完成后,我们需要在服务器上创建一个pm2的ecosystem.config.js文件(可在项目根目录下创建),内容如下:
module.exports = { apps : [{ name : 'app_name', //应用名称 script : 'app.js', //应用入口文件 log_date_format: 'YYYY-MM-DD HH:mm:ss', error_file : '/var/log/app_name/err.log', //错误日志路径 out_file : '/var/log/app_name/out.log', //输出日志路径 pid_file : '/var/run/app_name.pid', //pid文件路径 instances : 2, //进程数 autorestart: true, //自动重启 watch : true, //监听文件变化,自动重启 max_memory_restart: '1G', //最大内存限制达到指定值后,自动重启 env: { NODE_ENV: 'production' //环境变量 }, }], };
其中,需要根据实际情况,修改应用名称、应用入口文件等信息。注意:错误日志路径、输出日志路径、pid文件路径需要确保服务器上创建了相关目录。
除此之外,我们还需要通过以下命令创建pm2的启动脚本:
sudo pm2 startup systemd
上述命令会执行一个自动保存并引导pm2进程的脚本,生成的配置文件为/etc/systemd/system/pm2.service。执行完以上命令后,终端会输出一段文字,复制这段文字并在终端执行,即可完成自动开机启动pm2的配置。
五、启动应用
在以上步骤都准备完毕后,我们可以使用以下命令启动应用:
cd /usr/local/project_folder pm2 start ecosystem.config.js
其中,project_folder为项目文件夹,ecosystem.config.js为刚刚创建的pm2配置文件。执行以上命令后,终端会输出应用运行信息,通过以下命令可查看应用进程信息:
pm2 list
也可通过以下命令重启或停止应用:
pm2 restart app_name pm2 stop app_name
最后,在以上所有配置都完成后,将会在服务器重启后自动启动Node.js应用,并通过pm2监控应用的运行情况。
本文介绍了如何将Node.js部署在服务器上并实现自动开启。通过使用pm2管理Node.js进程,可大大简化服务器管理流程,提高应用的可靠性和稳定性。
以上是如何将nodejs部署在服务器自动开启的详细内容。更多信息请关注PHP中文网其他相关文章!