在 cpanel 上启动下一个服务器,抛出 503 服务不可用

GRO*_*ER. 5 javascript cpanel node.js next.js

我正在尝试使用cPanel设置 Node.JS 应用程序部分在我的共享托管服务器上部署NextJS应用程序,但是当我开始构建时(尽管得到了),该网站会抛出503错误。 ready on http://localhost:3000

我已将构建文件夹与next.config.jspackage-lock.jsonpackage.json一起上传server.js到应用程序根目录,这是我当前的文件结构:

next_main
    build (.next folder)
    node_modules
    next.config.js
    package-lock.json
    package.json
    server.js
Run Code Online (Sandbox Code Playgroud)

这是我的server.js文件(与 Next 在其自定义服务器文档中提供的内容完全相同):

const { createServer } = require("http");
const { parse } = require("url");
const next = require("next");

const dev = process.env.NODE_ENV !== "production";
const hostname = "localhost";
const port = 3000;

const app = next({ dev, hostname, port });
const handle = app.getRequestHandler();

app.prepare().then(() => {
    createServer(async (request, response) => {
        try{
            const parsedURL = parse(request.url, true);
            const { pathname, query } = parsedURL;

            switch(pathname){
                case "/a":
                case "/b":
                    await app.render(request, response, pathname, query);
                    break;
                default:
                    await handle(request, response, parsedURL);
            }
        } catch(error){
            console.error("Error occurred.", request.url, error);
            response.statusCode = 500;
            response.end("Internal server error.");
        }
    }).listen(port, error => {
        if(error) throw error;
        console.log(`> Ready on http://${hostname}:${port}`);
    });
}).catch(error => {
    if(error) throw error;
});
Run Code Online (Sandbox Code Playgroud)

Failed to load next.config.jsnext.config.js尽管已提供,但也输出在我的 stderr 文件中。

我已附加在cPanel中应用的当前设置。

请注意,我没有终端的根访问权限,并且next_main在运行任何 NPM 脚本时仅限于环境。