express/nodejs应用程序

vawmfj5a  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(395)

好的,我有一个带有node/expressapi的应用程序,在localhost上一切正常。我想弄清楚如何让在apache上运行的cpanel上的所有东西都工作。客户端的东西,但我无法获取任何数据从备份。我找了又找,是的,但我还是不确定该怎么做。我必须使用虚拟主机吗?如果必须,我需要执行哪些具体步骤?

p1tboqfb

p1tboqfb1#

nodejs不在apache或nginx上运行。在这些web服务器中,您可以做的大多数事情是设置一个反向代理。
nodejs有自己的web服务器。cpanel在这方面对您没有帮助,因为您只需要在服务器上安装nodejs(您必须具有ssh访问根),然后从那里运行它。您可以守护您的节点进程,以保持运行安装pm2或永远(npm包)。
下面是一个很好的答案(先搜索再提问,问题可能在那时就解决了)。
在cpanel宿主服务器上运行node.js
cpanel通常运行apache或其他在所有cpanel/unix帐户之间共享的web服务器。web服务器监听端口80。根据请求的url中的域名,web服务器使用“虚拟主机”来确定哪个cpanel/unix帐户应该处理请求,即在哪个主目录中查找要提供服务的文件和要运行的脚本。如果url仅包含ip地址,则cpanel必须默认为其中一个cpanel帐户。
通常,如果没有根访问权限,由cpanel帐户运行的作业无法侦听端口80。事实上,可用的端口可能非常有限。如果8080不起作用,你可以试试60000。要访问正在运行的node.js服务器,您需要有它监听的端口号。由于这是在该服务器上侦听该端口的唯一作业,因此您应该能够将浏览器指向任何cpanel帐户的域名,甚至服务器的ip地址,并将端口号添加到url中。但是,运行node.js作业的cpanel帐户通常使用域名,例如。http://cpaneldomainname.com:60000/ .
当然,端口80是web服务的默认端口,相对而言,很少有用户熟悉URL中可选的端口号。为了方便用户,可以使用apache将端口80上的代理请求“反向”到node.js进程正在侦听的端口。这可以在配置或.htaccess文件中使用apache的rewriterule指令来完成。这种请求的反向代理可以说还有其他好处,例如apache可能是面向公共internet的更安全、更可靠和更易管理的前端。
不幸的是,node.js的这种设置并没有得到所有web托管公司的认可。一家支持它的托管公司是a2hosting.com,即使它提供廉价的共享托管服务。他们的知识库中也有对设置过程的清晰书面描述。
最后,值得注意的是,cpanel的开发人员正在开发内置的node.js支持。”如果所有的星星都对齐,我们可能会在第68版“即2018年初看到这片土地。

参考文献

apache虚拟主机-http://httpd.apache.org/docs/2.4/vhosts/
apache重写规则指令-http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html
a2hosting.com关于配置node.js的知识库文章-https://www.a2hosting.com/kb/installable-applications/manual-installations/installing-node-js-on-managed-hosting-accounts
用于node.js支持的cpanel功能请求线程-https://features.cpanel.net/topic/nodejs-hosting

相关问题

如何在共享托管中托管node.js应用程序
为什么node.js不能在共享主机上运行?
值得指出的是,nodejs支持还没有到达cpanel(最早在2019年)

相关问题