图文并茂基于阿里云linux服务器部署nodejs项目并添加pm2守护nodejs项目运行进程(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.xz
mv 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守护nodejs项目运行进程(Linux version 4.19.81-17.1.al7.x86_64)的更多相关文章
- thinkphp项目阿里云ECS服务器部署
[日记]thinkphp项目阿里云ECS服务器部署 项目本地开发告一段落.准备上传到服务器上测试 技术组成 thinkphp+mysql+阿里ECS 代码管理方式git 一.阿里ECS服务器配置 ...
- 阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建
准备: 两台配置CentOS 7.3的阿里云ECS服务器: hadoop-2.7.3.tar.gz安装包: jdk-8u77-linux-x64.tar.gz安装包: hostname及IP的配置: ...
- 阿里云ECS服务器部署HADOOP集群(五):Pig 安装
本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建. 1 环境介绍 一台阿里云ECS服务器:master 操作系统:CentOS 7.3 Hadoop ...
- 阿里云ECS服务器部署HADOOP集群(四):Hive本地模式的安装
本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建. 本地模式需要采用MySQL数据库存储数据. 1 环境介绍 一台阿里云ECS服务器:master ...
- 阿里云ECS服务器部署HADOOP集群(二):HBase完全分布式集群搭建(使用外置ZooKeeper)
本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里 ...
- 阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建
本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里 ...
- 阿里云ECS服务器部署HADOOP集群(六):Flume 安装
本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建. 1 环境介绍 一台阿里云ECS服务器:master 操作系统:CentOS 7.3 Hadoop ...
- 阿里云ECS服务器部署HADOOP集群(七):Sqoop 安装
本篇将在 阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建 阿里云ECS服务器部署HADOOP集群(二):HBase完全分布式集群搭建(使用外置ZooKeeper) 阿 ...
- 阿里云ECS服务器部署Node.js项目全过程详解
本文详细介绍如何部署NodeJS项目到阿里云ECS上,以及本人在部署过程中所遇到的问题.坑点和解决办法,可以说是全网最全最详细的教程了.同时讲解了如何申请阿里云免费SSL证书,以及一台ECS服务器配置 ...
- 【日记】thinkphp项目阿里云ECS服务器部署
项目本地开发告一段落.准备上传到服务器上测试 技术组成 thinkphp+mysql+阿里ECS 代码管理方式git 一.阿里ECS服务器配置 1.因为线上已经有几个站点了.所以要配置ngnix多站 ...
随机推荐
- django 生产环境部署手册
Django 是 python 的 web 框架,以下是其部署到生产环境的详细步骤,包含 Apache 和 nginx 版本. 部署环境 操作系统:centeros7.3 数据库:MySQL5.6.5 ...
- Java基础面试总结
常见编译型语言:C.C++.Go.Rust 等(执行速度快,但开发效率低) 常见解释型语言:Python.JavaScript.PHP(开发效率高,但执行效率低) 先编译后解释:Java 重载和重写有 ...
- Java计算文件或文件夹大小
导入此类后,直接调用FilesUtil.returnSizi(String path),即可获取文件或者文件夹大小. 代码: 1 /** 2 * 路人甲操作文件的工具类 3 * returnSizi( ...
- 关于Intent.setDataAndType参数问题
关于Intent.setDataAndType参数问题 install取设置属于和类型,数据就是获取到的uri,更具文件类型不同,type参数也不相同,具体参考下表 {后缀名,MIME类型} {& ...
- 处理get请求中文乱码tomcat请求
修改tomcat中server配置:添加 URIEncoding="UTF-8" <Connector port="8090" protocol=&quo ...
- 【HBase】简介、结构、数据模型、快速入门部署、shell操作、架构原理、读写数据流程、数据刷写、压缩、分割、Phoenix、表的映射、与hive集成、优化
一.简介 1.定义 分布式.可扩展.支持海量数据存储的NoSQL数据库 2.数据模型 2.1逻辑结构 2.2物理存储结构 2.3数据模型介绍 Name Space:相当于数据库,包含很多张表 Regi ...
- OpenVINO计算机视觉模型加速
OpenVINO计算机视觉模型加速 OpenVINO介绍 计算机视觉部署框架,支持多种边缘硬件平台 Intel开发并开源使用的计算机视觉库 支持多个场景视觉任务场景的快速演示 四个主要模块: 1.开发 ...
- RGB以及RGBA
字母含义及取值 R:红色.0~255 整数 G:绿色.0~255 整数 B:蓝色.0~255 整数 A:透明度.0~1.整数或者小数 RGB和RGBA的关系 项目遇见一个需求,后台返回所占比例,前端根 ...
- JS基本数据类型——BigInt
一.JS基本数据类型--BigInt BigInt是ES11引入的新的基本数据类型.BigInt数据类型的目的是比Number数据类型支持的范围更大的整数值,以任意精度表示整数.使用 BigInt解决 ...
- 如何查看计算机的CPU信息
CPU-Z是一款家喻户晓的CPU检测软件,是检测CPU使用程度极高的一款软件.它支持的CPU种类相当全面,软件的启动速度及检测速度都很快.另外,它还能检测主板和内存的相关信息,其中就有我们常用的内存双 ...