超简单图文并茂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

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

hdu2289(简单二分)

虽说是简单二分,但是我还是wa死了  题意:已知圆台的体积,求高度 首先要知道圆台体积怎么求:设上下底的半径分别为r1,r2,高为h,V = PI*(r1*r1+r1*r2+r2*r2)*h/3 然后以h进行二分 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#includ

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor