超简单图文并茂linux服务器部署nodejs项目并添加pm2守护运行进程(Linux version 4.19.81-17.1.al7.x86_64)

本文主要是介绍超简单图文并茂linux服务器部署nodejs项目并添加pm2守护运行进程(Linux version 4.19.81-17.1.al7.x86_64),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先你要有一台LINIX服务器,登入以后按下面步骤执行命令,可查看系统版本以及配置

查看Linux 内核

  • 通过 uname -a 命令查看系统位数是64位
  • x86_64表示64位系统, i686 i386表示32位系统
uname -a
cat /proc/version

在这里插入图片描述

补充信息 – 查看当前系统版本的详细信息

1.cat /etc/redhat-release(此方法只适合Redhat 系的Linux)
2.lsb_release -a (此命令适用于所有的Linux 发行版本)

安装nodejs

  • 去官网按照自己系统配置下载nodejs包(直达链接)

在这里插入图片描述

然后安装到这个目录,如果没有你就去创建一个哦~~自己选个喜欢的路径

cd /home/appmanager/nodejs/

如果你想要更简单的办法安装,可以使用命令操作,例如,使用linux命令下载文件

wget -c https://npm.taobao.org/mirrors/node/v16.9.1/node-v16.9.1-linux-x64.tar.xz

在这里插入图片描述
在这里插入图片描述

解压上传,改名(很抱歉,这里搞得嵌套了两个nodejs名字哈哈)

tar -xvf node-v16.9.1-linux-x64.tar.xzmv node-v16.9.1-linux-x64  nodejs 

在这里插入图片描述
在这里插入图片描述

  • 开始改名
    在这里插入图片描述
    在这里插入图片描述
  • 改好啦~~~
  • 确认一下nodejs下bin目录是否有node 和npm文件,如果有继续往下操作,如果没有继续重复上面操作
    在这里插入图片描述

建立软连接,变为全局,检验nodejs是否已变为全局

  • 如果不是root用户需要加(sudo)
ln -s /home/appmanager/nodejs/nodejs/bin/npm /usr/local/bin/ 
ln -s /home/appmanager/nodejs/nodejs/bin/node /usr/local/bin/
node -v 

在这里插入图片描述

创建一个app.js文件,随便写一个简单的nodejs,测试环境

在这里插入图片描述

var http = require('http');http.createServer(function (request, response) {response.writeHead(200, { 'Content-Type': 'text/plain' });response.end('Hello World\n');
}).listen(8090);console.log('Server running at http://127.0.0.1:8090/');

在这里插入图片描述

在这里插入图片描述

接下来,我们要配置一下服务器的安全组策略

在这里插入图片描述

然后,打开网页测试一下

在这里插入图片描述

基本功能已经大功告成~~~

  • 备注:关于连接服务器,nodeJS的server.js文件里面 ,app.listen配置的ip地址不是服务器地址 , 而是私有地址 ,我这个没有配哦,直接就OK了

pm2守护nodejs项目运行进程

  • 在这里 /home/appmanager/nodejs/nodejs 安装pm2,建立软连接
npm install pm2 -g
ln -s /home/appmanager/nodejs/nodejs/bin/pm2 /usr/local/bin/ 

在这里插入图片描述
在这里插入图片描述

杀掉刚刚那个启动,重新使用PM2启动并输出日志:

pm2 start app.js -e err.log -o out.log

在这里插入图片描述
在这里插入图片描述

修改代码后,pm2重启服务

  • 将app.js修改一下,添加解决中文乱码问题的代码
var http = require('http');http.createServer(function (request, response) {response.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});//只需要设置响应头的编码格式就好,解决中文乱码问题的代码// response.writeHead(200, { 'Content-Type': 'text/plain' }); // 原有代码response.end('Hello World--测试\n');
}).listen(8090);console.log('Server running at http://127.0.0.1:8090/');
  • 执行pm2重启命令
pm2 restart app

在这里插入图片描述
在这里插入图片描述

另外说一下:如果你需要不断修改代码,有热更新功能的话,建议使用supervisor,supervisor的功能是自动重启的话,pm2是永生

补充一些其他的PM2常用命令

  • pm2 查看启动了哪些进程
pm2 list
  • 关闭id 为pm2 list 显示的对应的pm2进程的id
pm2 stop #id 
  • 重启pm2进程
pm2 restart #id
  • 关闭所有
pm2 stop all  
  • 启动所有
pm2 start all
  • 删除pm2进程
pm2 delete #id
  • 删除所有pm2进程
pm2 delete all
  • pm2 可以启动任何类型的进程
pm2 start app.js        //启动js文件
pm2 start echo.php      //启动php文件
pm2 start echo.py       //启动py文件
pm2 start echo.sh       //启动sh文件
pm2 start echo.rb       //启动ruby文件
pm2 start app.json      //启动json文件
pm2 start ./binary-app  //启动二进制代码

这篇关于超简单图文并茂linux服务器部署nodejs项目并添加pm2守护运行进程(Linux version 4.19.81-17.1.al7.x86_64)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/189830

相关文章

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

mysql中的服务器架构详解

《mysql中的服务器架构详解》:本文主要介绍mysql中的服务器架构,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、mysql服务器架构解释3、总结1、背景简单理解一下mysqphpl的服务器架构。2、mysjsql服务器架构解释mysql的架

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信