Alpine Linux编译安装Nodejs

该文详细描述了如何更新软件包,添加依赖,然后下载并安装Nodejs的v20.3.0版本。过程包括从官网下载源码,解压缩,配置环境,编译以及最终的安装步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

更新软件包

apk update && apk upgrade

安装依赖

apk add python3 g++ make linux-headers openssl

下载Nodejs

wget https://nodejs.org/dist/v20.3.0/node-v20.3.0.tar.gz

解压缩

tar xzvf node-v20.3.0.tar.gz

进入解压缩后的目录

cd node-v20.3.0

环境配置

./configure

编译

make -j4

安装

make install
### 使用Docker-Compose安装Node.js 为了使用`docker-compose`来部署Node.js应用,需准备项目所需的文件和目录结构。通常情况下,在Linux服务器上已经预先安装好了Docker与Docker-Compose环境[^2]。 创建一个新的工作目录用于放置Node.js应用程序及其关联的配置文件: ```bash mkdir -p /mnt/docker/nodejs-app && cd /mnt/docker/nodejs-app ``` 在此路径下初始化一个简单的Node.js项目并编写必要的构建脚本: #### 创建`package.json` 通过执行以下命令快速生成默认设置下的`package.json`文件: ```bash npm init -y ``` 编辑此JSON文件以适应具体的应用需求,比如指定依赖项版本号等信息。 #### 编写简易入口程序`app.js` 作为示例目的,可以简单定义如下JavaScript代码片段保存至同级目录中的`app.js`: ```javascript const express = require('express'); const app = express(); const port = process.env.PORT || 3000; app.get('/', (req, res) => { res.send('Hello from Node.js with Docker!'); }); app.listen(port, () => console.log(`Server is listening on ${port}`)); ``` 确保安装Express框架以便于搭建Web服务端口监听功能正常运作: ```bash npm install express --save ``` #### 配置`Dockerfile` 在同一层级新建名为`Dockerfile`的文字档,其内部描述了基于官方Node.js镜像定制化容器映像的过程: ```dockerfile FROM node:alpine WORKDIR /usr/src/app COPY package*.json ./ RUN npm ci --only=production COPY . . EXPOSE 3000 CMD ["node", "app.js"] ``` 上述指令集指定了运行时的工作空间位置、复制宿主机上的包管理清单到目标环境中、仅下载生产环境下必需库、同步其余源码资源最后暴露对外提供HTTP请求处理能力的服务接口地址[^4]。 #### 构建`docker-compose.yml` 最终一步是在根目录添加`docker-compose.yml`文档,用来声明多层架构里各个组件之间的协作关系及参数设定: ```yaml version: '3' services: web: build: . ports: - "3000:3000" environment: NODE_ENV: production volumes: - ./data:/usr/src/app/data ``` 这里设定了单个名为`web`的服务实例,它会依据当前上下文中找到的`Dockerfile`来进行本地编译打包动作;同时开放外部访问权限给定为3000端口号,并传递环境变量指示处于正式上线模式之下;另外挂载了一个持久化的数据卷方便日后维护升级操作[^1]。 完成以上准备工作之后就可以利用下面这条语句一键启动整个集群体系了: ```bash docker-compose up -d ``` 这将会以前台守护进程的方式激活所有被定义过的微服务体系成员节点,包括但不限于刚刚所提及的那个Node.js Web Server。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值