是的,即使是最便宜的共享主机层也可以做到这一点。 @nebulr 说明是正确的。这是一个稍微更新和扩展的版本,适合像我这样的菜鸟。
(1) 在您的共享主机帐户上启用 SSH:
• 登录您的 GoDaddy 主机并打开 SSH 访问(在仪表板上,位于右下角的“设置”中)。记下 cPanel 登录用户名,如果您不记得,请更改密码。 请注意,您可能还需要在 CPanel 中的“安全”和“SSH 访问”下创建密钥。
(2)自行安装nodejs程序:
• 从https://nodejs.org/en/download/ 下载 Node.js 二进制文件特别是您需要 Linux x64 版本(直接链接https://nodejs.org/dist/v10.15.0/node-v10.15.0-linux-x64.tar.xz)
• 在您的计算机上解压缩此 .tar 文件并在里面查找 bin 文件夹(在 Mac 上,您可能需要像 The Unarchiver 这样的程序来解压缩它)。 bin 文件夹将有一个名为“node”的文件,大小约为 40Mb。这个“节点”文件是我们将在这个包中使用的唯一东西。
• 使用CPanel 文件管理器或FTP 程序,在/home/yourUserName/ 的服务器上创建一个名为“bin”的文件夹,并为其授予755 的权限。注意这不在@ 内987654327@.
• 将“节点”文件上传到/home/yourusername/bin/
(3)创建一个简单的nodejs脚本:
• 打开一个文本编辑器(如 Sublime)并创建一个名为“app.js”(或其他)的新文件:
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('NodeJS server running on Shared Hosting\n');
});
server.listen(port, hostname, () => {
console.log('Server running at http://${hostname}:${port}/');
});
请注意,这只是来自https://nodejs.org/en/docs/guides/getting-started-guide/的基本服务器应用程序
• 打开您的CPanel 文件管理器或FTP 程序,并将app.js 文件上传到/home/yourusername/public_html/
(4)修改.htaccess文件:
•使用您的 FTP 程序将这些行添加到 .htaccess 文件中:
RewriteEngine on
RewriteRule (.*) http://localhost:3000/$1 [P,L]
请注意,.htaccess 文件可能默认为空白。另请注意,如果您是勇敢的或 1337,您可以在 SSH 中使用 nano、vim 或 emacs 来编辑 .htaccess 文件。
(5)启动节点服务器:
• 通过打开 Putty (Windows) 或终端 (Mac) 并在命令行键入:ssh username@website.com(其中用户名是您的主机帐户的 cPanel 登录名)通过 SSH 连接到 godaddy 服务器
服务器应以username@website.com's password: 响应,这是您输入cPanel 登录密码的地方。
注意:如果这是您第一次通过 SSH 连接到服务器,您将收到一条消息:The authenticity of host 'X.X.X.X' can't be established. RSA key fingerprint is XXXX. Are you sure you want to continue connecting (yes/no)? 键入 yes 并继续。
• 输入cd public_html 导航到/home/yourUserName/public_html/。通过键入以下内容启动节点服务器脚本:node app.js &
几秒钟后,您应该会看到以下消息:Server running at http://127.0.0.1:3000/
(6) 看看:
• 打开网络浏览器并输入您网站的 URL。您应该会得到一个带有文本NodeJS server running on Shared Hosting 或您在上面app.js 的第9 行中输入的任何消息的白页。 请注意,您不能在共享主机帐户上使用 IP 地址,您需要使用域名。