2017-11-18 235 views
0

我正在设置节点js项目来访问API。访问API时获取404

目录树视图

└── html 
    └── perb 
     ├── bin 
     ├── models 
     ├── node_modules 

项目树状视图

enter image description here

但最终得到了404 但是,当我试图通过本地主机访问,这是工作的罚款。

本地主机地址:本地主机:3000 /教练/ logintrainer

服务器地址: IP_ADDRESS/PERB /教练/ logintrainer

于斌/ WWW文件

监听端口是3000

var port = normalizePort(process.env.PORT || '3000'); 
app.set('port', port); 

但我试图将其更改为80和8080也没有帮助。

我使用的Apache2服务器,并设置为(https://www.1and1.com/cloud-community/learn/application/misc/set-up-a-nodejs-app-for-a-website-with-apache-on-ubuntu-1604/

任何帮助将得到高度赞赏。

+0

检查服务器日志。确保你真的打你的应用程序,因为你可能不是。 Apache httpd需要知道如何重定向到您的Node应用程序的端口。你可能想要使用像[Passenger](https://www.phusionpassenger.com)这样的工具来为你做这件事。这是处理端口映射和进程管理的Apache'httpd'的附加组件。 – tadman

+0

当我检查pm2日志时,它没有打到服务器。 @tadman –

+0

当你说你在“ip_address”击中它时,你的意思是127.0.0.1还是别的?如果它是192.东西,你可能正在阅读另一个教程,假设你有另一个代理设置,你没有 – Asthmatic

回答

1

在您在教程中设置了文件,您可以设置代理的IP指向你想打的不是本地主机

<Location /nodejs> 
    ProxyPass http://127.0.0.1:8080 
    ProxyPassReverse http://127.0.0.1:8080 
</Location> 
+0

所以我需要将127.0.0.1:8080更改为常规IP地址,即.34。什么? –

+0

是的,它不知道在IP上听你试图打它,因为你从来没有告诉它在那里听 – Asthmatic

+0

Nops它不工作。 –