0

0

如何将nodejs部署在服务器自动开启

PHPz

PHPz

发布时间:2023-05-18 09:32:37

|

975人浏览过

|

来源于php中文网

原创

在当前云计算和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文件(可在项目根目录下创建),内容如下:

微客农场复利系统
微客农场复利系统

微客农场复利系统是一个以php+mysql进行开发的php直销系统源码。软件特点:一、自动结算宠物产生的金币由于网页是触发型,需要有触发才能执行某种功能:比如点击按钮,才能执行某种功能;刷新页面才能执行某种功能……在没有触发的情况下,是不会自动执行程序代码的。而宠物将每天产生金币,这个必须是:网页自动执行和结算。解决方案有两个:1、购买服务器,在服务器里

下载
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进程,可大大简化服务器管理流程,提高应用的可靠性和稳定性。

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
node.js调试
node.js调试

node.js调试可以使用console.log()输出调试信息、断点调试和第三方调试工具。详细介绍:1、console.log()输出调试信息,通过在代码中插入console.log()语句,开发人员可以在控制台输出变量的值、函数的执行结果等信息,以便观察代码的执行流程和状态;2、断点调试,可以在代码中设置断点,以便在特定位置暂停代码的执行,观察变量的值和执行流程等。

347

2023.09.19

JavaScript 全栈开发基础(Node.js + 前端)
JavaScript 全栈开发基础(Node.js + 前端)

本专题系统介绍 JavaScript 在全栈开发中的核心知识结构,涵盖 Node.js 基础、Express/Koa 接口构建、前端交互设计、模块化与包管理、数据库连接、前后端数据通信与部署流程。通过完整项目示例,帮助学习者掌握从浏览器到服务器的一体化开发能力,实现真正意义上的全栈入门。

93

2025.11.26

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

510

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

244

2023.07.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

256

2023.08.03

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

5272

2023.08.17

js删除节点的方法
js删除节点的方法

js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

477

2023.09.01

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

208

2023.09.04

Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号