如何在 Phusion Passenger NodeJS 环境上设置 Strapi 应用程序

问题描述 投票:0回答:2

我有一个在 NodeJS 环境中使用 Phusion Passenger 的主机,我想在其上运行我的 Strapi 应用程序。

现在我做了以下事情:

  1. Strapi 和节点模块安装在服务器上
  2. 应用程序已连接到数据库
  3. app.js 可以正常启动

我不知道如何配置我的 app.js 文件以使其启动 Strapi

我做了类似的事情,但我很确定这是错误的:

const http = require("http");
const hostname = "127.0.0.1";
const port = "passenger";
const strapi = require("@strapi/strapi");

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader("Content-Type", "text/plain");
  res.end("Hello World! NodeJS");
});

server.listen(port, hostname, () => {
  console.log(`Server running at https://somary.fr/`);
  strapi().start();
});

如何配置我的 app.js 文件以最终访问我的 Strapi 应用程序?

node.js passenger strapi phusion
2个回答
0
投票

我正在 Phusion Passenger 上部署 [电子邮件受保护] 应用程序。

这是我更新的 app.js 文件:

const strapi = require("@strapi/strapi");
strapi({ dir: "./build" }).start();

要创建构建文件夹,您需要运行:

npm run build

希望我有帮助。


0
投票

在我的例子中,strapi 明确寻找 server.js(不是 app.js | index.js)文件,该文件不存在于我的托管主机(plesk、phusion Passenger,...)上。 pm2 和 mysql 也没有安装,因为访问权限仅限于全局安装。所以我必须想办法。

这就是我所做的:

  1. 安装 pm2 && npm
npm install pm2 mysql
  1. 创建一个包含以下内容的 server.js 文件(在我的根目录中:./server.js)
const strapi = require('@strapi/strapi');
strapi(/* {...} */).start();
  1. 重建我的管理网络应用程序
npm run build
  1. 构建我的生产应用程序
npm run production

ps:确保在 .env 文件中设置了正确的端口和 url

© www.soinside.com 2019 - 2024. All rights reserved.