跳转到主要内容

Node.js

简介

Node.js 是一个运行用 JavaScript 编写的应用程序的服务器平台。

首先,您需要安装 Node.js:

  • 转到“设置”->“应用程序

FASTPANEL 中的应用程序管理菜单

  • 点击所需 Node.js 版本的“安装”按钮

在 FASTPANEL 中安装 Node.js 版本

创建网站:

  • 为 Node.js 网站选择一个模板

FASTPANEL 中的新站点配置

  • 指定域名和相关参数。 在配置阶段,您可以更改数据库、FTP 用户和 Backend

FASTPANEL 中的新站点配置

  • 将应用程序文件上传到网站目录
  • 要安装依赖项,请在终端中运行 npm20.15.1 install(需要为 FASTPANEL® 安装 ttyd 应用程序)

Node.js 安装依赖项

  • 转到站点仪表板,然后打开“服务”部分以重启 Node.js。

Node.js 重启服务

Express 框架

下面以 Express 框架为例,创建一个简单的 Web 服务器:

  • 以站点所属用户身份通过 SSH 连接到服务器(您可以使用 FASTPANEL® 的 ttyd 应用程序)
  • 在网站目录中创建文件 app.js,并填入以下代码:
const express = require('express');
const app = express();
const PORT = process.env.SERVICE_PORT;

app.get('/', (req, res) => {
res.send('Hello! This is my first server on Node.js + Express 🚀');
});

app.listen(PORT, () => {
console.log(`Server is running at http://localhost:${PORT}`);
});

  • 在网站目录中,运行安装 express 的命令
npm20.15.1 install express
  • 转到站点仪表板,然后进入“服务”部分
  • 重启服务
  • 检查网站

Docusaurus

下面以 Docusaurus Web 应用程序为例来配置设置:

  • 以站点所属用户身份通过 SSH 连接到服务器(您可以使用 FASTPANEL® 的 ttyd 应用程序)
  • 在网站目录中,运行 Docusaurus 安装
npx20.15.1 create-docusaurus -j ./docs
  • 当提示选择模板时,回答 classic (recommended)

  • 安装完成后,替换文件 docs/package.json 中的一行

"start": "docusaurus start",
# replace with
"start": "docusaurus start --port $SERVICE_PORT",

$SERVICE_PORT 是在 FASTPANEL® 中设置的系统变量

  • 在控制面板中,转到“站点设置”->“Backend

  • 选择 StandalonePM2 处理程序。

  • 选择所需的 Node.js 版本。

  • 指定工作文件夹 docs

  • 在 Launch command 字段中,输入:npm run start

  • 保存。 等待应用程序编译完成(信息将显示在日志中)。 检查网站

Next.js

下面以 Node.js 20.19 上的 Next.js 为例,创建一个简单的 Web 服务器:

  • 以网站所属用户身份通过 SSH 连接到服务器(您也可以使用 FASTPANEL® 中的 ttyd 应用程序)。
  • 在网站目录中,运行项目初始化命令:
yarn20.19.4 init -y
yarn20.19.4 add next react react-dom
  • scripts 块添加到 package.json 文件中:
"scripts": {
"dev": "next dev -p $SERVICE_PORT",
"build": "next build",
"start": "next start -p $SERVICE_PORT"
}
  • 创建一个 pages 目录,并在其中添加一个名为 index.js 的文件:
mkdir pages
cat <<EOF > pages/index.js
export async function getServerSideProps() {
return {
props: {
nodeVersion: process.version,
port: process.env.SERVICE_PORT || 3000,
},
};
}

export default function Home({ nodeVersion, port }) {
return (
<div style={{
fontFamily: 'sans-serif',
textAlign: 'center',
marginTop: '20vh'
}}>
<h1>✅ It works!</h1>
<p>Next.js app running on Node.js {nodeVersion}</p>
<p>Port: {port}</p>
</div>
);
}
EOF
  • 运行项目构建。
yarn20.19.4 build
  • 在控制面板中,转到“站点设置”->“Backend
  • 选择 StandalonePM2 处理程序。
  • 选择所需的 Node.js 版本。
  • 在 Launch command 字段中,输入:yarn run start
  • 保存。 等待应用程序编译完成(信息将显示在日志中)。 检查网站

附加信息

Standalone 模式下,会启动一个 Node.js 进程来执行您的脚本。

PM2 模式下,使用 PM2 进程管理器来管理 Node.js 进程、日志和系统负载。
此模式还允许您指定工作进程数——即处理进入服务器请求的 Node.js 进程数量。
此外,此模式还提供 Enable file watch 选项——当当前目录或其子目录中的文件被修改时,PM2 会自动重启您的应用程序。 请注意,此模式会带来额外的系统负载,不建议在生产环境中使用。

同样,如果应用程序需要使用 YARN 而不是 NPM,您也可以进行配置

您可以直接在 FASTPANEL® 中使用 YARNNPM 安装 package.json 中列出的项目依赖项。 为此,请打开网站卡片并转到“服务”部分:

Node.js 服务

日志

Node.js 应用程序可以生成日志。 在 FASTPANEL® 中,它们位于站点仪表板的“日志”部分下的“Backend log”选项卡中

控制台命令

FASTPANEL® 中安装 Node.js 后,用户可以使用以下控制台命令来操作他们的项目:

  • pm2
  • yarn20.15.1
  • npx20.15.1
  • npm20.15.1
  • node20.15.1

示例:

$ npm20.15.1 list
node-socket-port-server@1.0.0 /var/www/node_user/data/www/node.site
└── express@4.21.2
$ pm2 ls
┌────┬─────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├────┼─────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ amazing_site│ default │ 1.0.0 │ cluster │ 9355 │ 2m │ 0 │ online │ 0% │ 62.4mb │ user │ disabled │
│ 1 │ amazing_site│ default │ 1.0.0 │ cluster │ 9362 │ 2m │ 0 │ online │ 0% │ 62.5mb │ user │ disabled │
└────┴─────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘

每个命令名称都包含已安装的 Node.js 版本号。 在此示例中,可用版本为 Node.js 20.15.1。