cPanel面板如何安装Node.js程序(旧)?

转载 老薛主机帮助中心  2019年01月04日 16:29:52  阅读 788 次
©老午博客,本站使用的是:老薛主机,建议使用老薛主机终身7折优惠码:boke112

目前老薛主机所有虚拟主机、弹性主机套餐都将支持 Node.js(需要开通 SSH 权限,具体可以咨询老薛主机的在线客服)。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,简单的说就是运行在服务端的 JavaScript,比如 Ghost 博客等程序就是基于 Node.js 构建的。今天这个教程就是教大家如何快速、轻松的在 cPanel 虚拟主机上安装 Node.js 环境,如果你仍然需要帮助,可以随时通过在线客服或工单的方式联系我们。

PS:本文属于旧版的cPanel面板安装Node.js程序教程,建议按新版教程『老薛主机cPanel面板如何安装和使用Node.js程序(新)』进行安装和使用Node.js程序,新版教程不成功的情况下再参照本文教程进行安装和使用。

cPanel面板如何安装Node.js程序(旧)? 老薛主机教程 第1张

安装 Node.js 和 npm

这里有几个简单的步骤来安装 Node.js 和 npm(Node.js 的包管理器),执行以下步骤即可安装。

使用 SSH 登录你的帐户(如果你的帐户没有开通 SSH 权限,请联系我们的在线客服)。

登录 SSH 之后,执行以下命令:

cd ~

wget https://nodejs.org/dist/v7.9.0/node-v7.9.0-linux-x64.tar.gz

上面的命令下载的是 v7.9.0 版本,如果你需要安装其他版本,可以在这里找到下载地址:https://nodejs.org/dist/,请下载 Linux x64 版本,tar.gz 格式的压缩包。

输入以下命令解压 Node.js 文件:

tar xzf node-v7.9.0-linux-x64.tar.gz

为了节省空间,可以将下载压缩包删除了:

rm node-v7.9.0-linux-x64.tar.gz -f

将解压出来的文件夹重命名为 nodejs:

mv node-v7.9.0-linux-x64 nodejs

现在安装 node 和 npm 二进制文件:

mkdir ~/bin

cp nodejs/bin/node ~/bin

cd ~/bin

ln -s ../nodejs/lib/node_modules/npm/bin/npm-cli.js npm

cd ~

npm install -g npm

到这里,Node.js 和 npm 都已经成功的在你的账户下安装,可以输入以下命令进行验证:

node --version

npm --version

命令已经安装在你账户下的 ~/bin 目录中,默认情况下,你可以在帐户中的任何目录运行 node 和 npm。

如何启动 Node.js 程序

现在已经安装好了 Node.js,就可以运行 Node.js 程序了。但是,具体的步骤取决于程序的配置。

方法1:使用 npm

有很多第三方程序以及生产环境下的程序(比如 Ghost)可以使用 npm 程序启动,输入以下命令:

nohup npm start --production &

使用 nohup 后台命令可以确保即使你退出当前终端会话,程序也将继续运行。

使用这个方法启动,应用程序必须有一个有效的 package.json 文件,package.json 文件中包含 npm 程序读取的项目元数据,以确定如何启动应用程序,管理其依赖关系等等。

方法2:直接运行 node

对于一些简单的程序,或者任何没有 package.json 文件的程序,你可以直接运行对应的 node 可执行文件,例如:

nohup node app.js &

但是,你将无法使用 npm 来管理这个程序。

同样的,使用 nohup 后台命令可以确保即使你退出当前终端会话,程序也将继续运行。

如何停止 Node.js 程序

只需要执行以下命令,即可停止 Node.js 程序:

pkill node

以上命令执行后将立即停止所有正在运行的 Node.js 程序。

将 Node.js 程序集成到 Web 服务器

既然已经在虚拟主机上成功运行了 Node.js 程序,根据你正在运行的 Node.js 程序的类型,你可能希望能够使用 Web 浏览器访问它,为此,你需要为 Node.js 程序选择一个未使用的端口进行监听,然后定义 Rewrite 规则,将访客重定向到 Node.js 程序。以下步骤将演示如何执行此操作:

在虚拟主机的 public_html 目录下新建一个 .htaccess 文件(如果是附加域或者子域,请把.htaccess文件放到对应的网站根目录),将以下代码添加到这个文件中(如果你使用 cPanel 面板的文件管理器,需要点击右上角的设置,勾选显示隐藏文件才能看到点开头的文件):

DirectoryIndex disabled

RewriteEngine On

RewriteRule ^$ http://127.0.0.1:XXXXX/ [P,L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ http://127.0.0.1:XXXXX/$1 [P,L]

将上面两行 RewriteRule 后面的 XXXXX 替换为你的 Node.js 程序监听的端口。在虚拟主机上运行 Node.js,你必须选择一个未使用的端口,并且端口号必须在 49152 ~ 65535 之间(部分服务器开启了防火墙,无法使用自定义的端口,具体需要咨询我们的客服)。

正常情况下,保存好 .htaccess 文件之后,你的网站的访客将被重定向到在指定端口上侦听的 Node.js 应用程序。

如果你的程序无法启动,可能是你选择的端口已经被使用,可以检查应用程序日志中的错误代码,比如 EADDRINUSE,表示端口正在使用。如果是这样,请选择其他端口号,并更新应用程序的配置和 .htaccess 文件,然后重试。

您可能感兴趣的文章

腾讯云双11活动,云服务器1核2G 88元/年,2核4G3M 688元/3年,更有千元代金券礼包免费领!
文章标签: ,  
本文地址:http://www.laow.wang/252.html
温馨提示:文章内容系作者个人观点,不代表老午博客对观点赞同或支持。
版权声明:本文为转载文章,来源于 老薛主机帮助中心 ,版权归原作者所有,如有侵权请留言告知,谢谢合作!
©老午博客,本站推荐使用:阿里云 服务器等云产品,免备案主机建议使用:老薛主机