centos7上搭建nvm且让nodejs在后台运行

NodeJS服务后台运行指南

做了一个非常简单的nodejs的项目,想挂在centos上,但是每次启动服务之后再关闭掉会话窗口,nodejs服务也会跟着挂掉,所以就想着如何能让nodejs服务在后台一直运行。文章前面写了安装nvm来管理nodejs,后半部分是通过pm2来管理nodejs应用进程。

搭建nvm

我们可以首先在centos上安装nvm,再通过nvm来管理nodejs。
可以通过以下命令来下载nvm:
wget https://codeload.github.com/creationix/nvm/zip/master
会下载到一个名字为master的压缩文件,接着把这个文件解压出来:
unzip master
会发现当前目录多了一个nvm-master的文件夹
进入文件夹:cd nvm-master
安装nvm:./install.sh
安装成功后,需要把nvm加入系统环境变量中:
source ~/.bashrc
最后查看是否安装成功:
nvm --version
可以看到我现在安装的是0.34.0版本的
nvm version
可以通过nvm list-remote命令来查看有哪些版本的nodejs
8.15.0
输入 nvm install 8.15.0来下载稳定版的nodejs

<think>我们正在讨论在CentOS 9上运行Node.js 18的可能性。根据已知信息,CentOS 9(即CentOS Stream 9)是一个较新的操作系统,而Node.js 18是一个较新的Node.js版本。虽然引用中主要讨论的是在CentOS 7上安装Node.js(因为CentOS 7已经不再受官方支持,需要一些额外步骤),但CentOS 9作为更新的系统,通常对较新的软件有更好的支持。 关键点: 1. Node.js官方提供了各个Linux发行版的安装说明。对于CentOS/RHEL系列,通常推荐使用NodeSource的仓库来安装较新的Node.js版本。 2. CentOS 9的系统库和依赖较CentOS 7更新,因此理论上更容易支持Node.js 18。 步骤: 1. 检查系统架构:Node.js 18支持x86_64和ARM64等架构,而CentOS 9支持这些架构。 2. 依赖满足:Node.js 18需要一些系统库,如GLIBC等。CentOS 9自带的库版本通常满足要求。 3. 安装方法:可以通过NodeSource仓库安装,也可以使用nvmNode Version Manager)安装。 因此,答案是肯定的:Node.js 18可以在CentOS 9上运行。 下面详细说明安装步骤(参考引用并结合CentOS 9的情况): </think>### Node.js 18 在 CentOS Stream 9 上的兼容性分析 **结论:Node.js 18 可以完全兼容并运行CentOS Stream 9 系统上**。以下是详细说明和安装指南: --- ### 核心兼容性验证 1. **依赖库验证**: - CentOS Stream 9 默认搭载 GLIBC 2.34+ 和 GCC 11+,满足 Node.js 18 的核心依赖要求[^3] - 系统库版本对比: | 依赖组件 | Node.js 18 要求 | CentOS 9 默认版本 | 兼容性 | |----------|----------------|------------------|--------| | GLIBC | ≥ 2.17 | 2.34 | ✓ | | OpenSSL | 1.1.1+ | 3.0.1 | ✓ | | Python | 3.x | 3.9 | ✓ | 2. **架构支持**: - CentOS Stream 9 的 x86_64 架构完全兼容 Node.js 18 的二进制构建包[^5] - ARM64 架构需验证特定构建版本(官方提供多架构支持) --- ### 推荐安装方法 #### 方法一:通过 NodeSource 仓库安装(推荐) ```bash # 1. 添加 NodeSource 仓库 curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash - # 2. 安装 Node.js 18 sudo dnf install -y nodejs # 3. 验证安装 node -v # 应输出 v18.x.x npm -v # 应输出 9.x.x ``` #### 方法二:使用 NVM(灵活多版本管理) ```bash # 1. 安装 NVM curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc # 2. 安装 Node.js 18 nvm install 18 # 3. 设为默认版本 nvm alias default 18 ``` --- ### 关键注意事项 1. **权限问题**: - 避免使用 `sudo` 运行 `npm install -g`,推荐配置 [npm 全局安装目录](https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally) 2. **依赖补全**: ```bash # 安装开发工具链 sudo dnf groupinstall "Development Tools" # 安装 Python 构建依赖 sudo dnf install python3-devel ``` 3. **镜像加速**(国内用户): ```bash npm config set registry https://registry.npmmirror.com ``` --- ### 验证运行实例 创建测试文件 `server.js`: ```javascript const http = require('http'); const server = http.createServer((req, res) => { res.end('Node.js 18 on CentOS 9 is working!'); }); server.listen(3000, () => { console.log('Server running at http://localhost:3000/'); }); ``` 运行后访问 `http://服务器IP:3000` 即可验证。 --- ### 兼容性说明 虽然引用内容主要针对 CentOS 7[^1][^4],但 CentOS Stream 9 作为更新的发行版: 1. 内核版本(≥ 5.14)提供更好的异步 I/O 支持 2. 默认 SELinux 策略已适配新版本 Node.js 的权限要求 3. 系统服务管理(systemd)无兼容性问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值