节点js应用程序在localhost上工作但不在实时服务器上工作

时间:2016-07-19 15:27:22

标签: node.js server ubuntu-14.04

我是一名php开发人员

我在apache上设置了虚拟主机

<VirtualHost sub.domain.com:80>

        ServerName sub.domain.com
        ServerAdmin localhost@domain.com
        DocumentRoot /var/www/subpart/html

        <Directory /var/www/subpart/html>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
                # Uncomment this directive is you want to see apa$
                # default start page (in /apache2-default) when y$
                #RedirectMatch ^/$ /apache2-default/
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

这是我的app.js文件

var express = require('express');
var bodyParse = require('body-parser');
var request = require('request');
var app = express();
// var select = require('./select');

app.set('port', 8080);

app.use(bodyParse.urlencoded({extended: false}));

app.use(bodyParse.json());

app.get('/', function(req, res) {
    res.send('yelo');
})
app.listen(app.get('port'), function() {
    console.log('running on port', app.get('port'))
})

当我运行nodemon app.js时,我可以在http:\\localhost:8080\上访问此应用程序,但同样的应用程序在上传到实时服务器时会出现奇怪的https:\\sub.domain.com:8080\,但无法连接错误

我不知道发生了什么,我是一个php开发人员而我所要做的只是在服务器上复制并粘贴文件,一切都有效,但我遇到了很多关于nodejs实现的问题

1 个答案:

答案 0 :(得分:0)

  1. 获取提供2个或更多IP地址的VPS。
  2. 从WHM cPanel中,找到菜单项Service Configuration,选择Apache Configuration,然后单击Reserved IPs Editor。
  3. 勾选您不希望Apache收听的IP地址,并将其写下来,以便您可以在下一步中使用它。单击“保存”。
  4. 安装Node.js,并创建如下服务器:

    {{1}}

    不要浪费你的时间,也不要听那些告诉你再次使用mod_rewrite代理Node.js的人。

    NodeJS不像mod-perl和mod-php那样以Apache模块的形式提供,因此无法在“Apache”之上运行节点。

    我希望此链接可以为您提供更多帮助:

    Running Node.js in apache?

    Apache and Node.js on the Same Server