NodeJS + Cpanel错误:从应用程序收到的响应不完整(Node js,Express,猫鼬)

问题描述 投票:1回答:1

我已经使用express&mongoose创建了一个Node js应用程序,并使用cpanel将其部署到Web服务器。我使用他们的功能“安装节点JS”将其部署到我的子域中。在最初的6-7天中,它运行良好,所有功能正常运行,没有任何问题,也没有发生任何不良情况。但是突然之间,打开页面时出现错误,提示内部服务器错误500。

我在这里搜索以找到解决方案,是的,我有一些解决方案来添加此行代码

RewriteCond %{ENV:REDIRECT_STATUS} 200

到我的。htaccess文件。而且行得通(我仍然不明白为什么一开始它也可以不添加就行了),我可以再次返回我的页面。好吧,...不完全是。

但是...

每次我在程序中使用登录或注册功能时(基本上是尝试运行mongoose方法,例如User.find({})时,它都将挂起2-3分钟,直到页面显示错误:

在页面上:收到来自应用程序的不完整回复

在控制台上:502错误的网关

我已经在这里搜索但还没有找到任何东西,只有这个question存在类似的问题,但是还没有像需要打开哪个端口那样明确地对我答复。我在哪里可以找到它。

我对编程完全是个傻瓜,只是刚刚开始,所以我该如何解决该错误?

[目前我还不确定要向大家展示什么使它更容易理解,但是我将在下面包含我的.htaccess文件。此外,我在heroku上对其进行了测试,并且运行正常。但是它需要在cpanel共享托管上提供,并且稍微复杂一些。

感谢您的帮助。

我的。htaccess文件包含此:

# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php56” package as the default “PHP” programming language.
<IfModule mime_module>
  AddHandler application/x-httpd-ea-php56 .php .php5 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
# DO NOT REMOVE. CLOUDLINUX PASSENGER CONFIGURATION BEGIN
PassengerAppRoot "/home/intidina/psikotes"
PassengerBaseURI "/"
PassengerNodejs "/home/intidina/nodevenv/psikotes/12/bin/node"
PassengerAppType node
PassengerStartupFile index.js
# DO NOT REMOVE. CLOUDLINUX PASSENGER CONFIGURATION END
# DO NOT REMOVE OR MODIFY. CLOUDLINUX ENV VARS CONFIGURATION BEGIN
<IfModule Litespeed>
</IfModule>
# DO NOT REMOVE OR MODIFY. CLOUDLINUX ENV VARS CONFIGURATION END

RewriteCond %{ENV:REDIRECT_STATUS} 200
javascript node.js mongoose cpanel shared-hosting
1个回答
0
投票

首先,您不能在共享主机上运行MongoDB。 Please refer to this thread.

这与您在下面的声明一致:

另外,我在heroku上进行了测试,它运行正常。 但是它需要在cpanel共享主机上提供 而且有点复杂。

如果必须进行共享托管部署,则可以选择使用外部MongoDB实例。幸运的是,在Heroku中进行部署时只有一个。

这里没有解释,所以我假设Heroku应用使用了mLab

  1. 转到您的Heroku信息中心->您的应用,https://dashboard.heroku.com/apps/your_app
  2. 如果已安装mLab MongoDB加载项,请转到其设置。它将重定向到https://www.mlab.com/databases/heroku_yourdbname
  3. [在设置菜单中,您将看到使用MongoDB URI进行连接的选项,然后它将显示类似mongodb://<dbuser>:<dbpassword>@something.mlab.com:11331/heroku_yourdbname的内容。分别将和更改为您的用户名和密码。然后确保托管允许端口11331。

希望这会有所帮助。

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