在不使用localhost的情况下在服务器上部署节点添加

时间:2016-11-28 16:51:47

标签: javascript node.js express

我有一个节点应用程序,我试图在我的服务器上部署。我在公共文件夹和index.html文件中有一个app.js文件。如果我在命令行中导航到该项目并运行node app.js,它将在localhost:8888上运行该应用并显示index.html文件。

现在我已经将其上传到我的服务器了,我想知道我需要做什么,并在我的app.js文件中更改(如果有的话),以便我可以访问该网站而无需访问localhost:8888,而是实际的网址。

我尝试了http://162.xx.xxx.xxx/folderName/app/public:8888,但这不起作用。

var express = require('express')
var app = express();
app.use(express.static(__dirname + '/public'))

app.get('/', function (req, res) {
  res.send('Hello World!')
})

app.listen(8888, function () {
  console.log('Example app listening on port 8888!')
});

2 个答案:

答案 0 :(得分:0)

将端口号从8888更改为80,然后在浏览器中使用服务器的地址。例如,域名为“mysite.com”,IP地址为“123.45.678”。

如果该服务器上有其他站点,则无法在端口80上运行它。(端口80是网站使用的默认端口。)您需要使用其他端口。所以,假设您保留8888 - 地址为yoursite.com:8888

答案 1 :(得分:0)

“服务器”这个词在软件开发中有两个主要含义。

它可以表示“在网络上侦听的软件”或“运行该类软件的计算机”。

因此,将JavaScript程序上传到您的服务器的远程计算机,您需要完成与在您自己的计算机上完全相同的操作。

即。您需要在服务器上获取终端并运行node app.js

然后会在http://your.example.com:8888/

处提供

(更高级的用途包括使用像forever或system.d这样的软件作为后台进程自动运行。)

如果您使用的术语服务器具有其他含义(即您的意思是“Apache HTTP”或“IIS”或类似内容),那么您就不走运了。

将Node用于服务器端代码意味着运行用JavaScript编写的服务器。

要将其与Apache等组合使用,您可以:

  1. 运行节点服务器而不是Apache
  2. 在另一个端口上运行节点服务器并明确指向该端口的某些服务
  3. 在不同的端口上运行节点服务器,并使用像ProxyPass这样的方式向其发送Apache中继请求