javascript - 如何使用Passenger 部署Next.js 应用程序?
问题描述
我对开发完全陌生,我正在尝试部署我的第一个应用程序(假设名称是testing
)。
我想使用Passenger部署我的Next.js React应用程序(Dreamhost包含并需要它,所以我没有安装它,我passenger
在服务器终端上没有命令)但我不知道如何做到这一点.
据我所知,Passenger 正在寻找app.js
启动应用程序,因此,在我的服务器上,在我的域文件夹内,应该有一个app.js
( testing.com/app.js
)。
但是 Next.js 没有明确的app.js
,我只有一个_app.js
在我的pages
文件夹中进行一些小的更改,所以我不知道如何连接它们。
我还想知道,一旦我配置了 app.js,我需要运行node app.js
吗?
如果我更改 的代码,我的网站似乎会做出相应的更改testing.com/app.js
,就像下面的代码:
var http = require("http");
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}).listen(80);
如果我node app.js
列出到端口 3000 运行,它适用于http
,https
仍会显示类似We're sorry, but something went wrong.
.
如果我不运行node app.js
或者我设置监听端口 80,我能得到的只是We're sorry, but something went wrong.
.
任何帮助,将不胜感激。
解决方案
我强烈建议阅读如何使用乘客部署 node.js 应用程序。
至于端口问题...
由于您没有显示任何错误日志,我假设问题是您没有 root 访问权限。低于 1024 的任何端口都需要 root 访问权限才能使用。
只需运行sudo node app.js
,您应该能够监听 1024 以下的端口。
推荐阅读
- json - Swift 从 JSON 中删除部分以对其进行解码
- django - 使用不同的编程语言访问数据库
- c++ - 当我使用它时,我是否必须在 C++ 中包含 List 作为标题?
- java - 读取前无法写入套接字
- laravel - 方法 Illuminate\View\View::header 不存在
- linux - Tomcat 应用程序在 AWS Linux 机器上随机停止响应
- google-apps-script - 切换到旧版编辑器后无法打开应用程序脚本项目
- python - 如何使用 python 跟踪网络抓取进度
- python - 这个模拟时钟中的这部分代码究竟是做什么来移动时钟指针的?
- java - 如何使用自定义数据类型更新或删除 Java 对象的 Derby 表字段