首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx w/ Express & Forever -无法获取/

Nginx w/ Express & Forever -无法获取/
EN

Stack Overflow用户
提问于 2014-02-25 05:36:05
回答 1查看 2.3K关注 0票数 0

我查看了这个question,但没有任何帮助。我正在尝试将localhost:3000配置为代理到端口80。下面是我的nginx配置(位于sites-enabledsites-available中):

代码语言:javascript
复制
server {
    listen 0.0.0.0:80;
    server_name fit-forms;
    access_log /var/log/nginx/fit-forms.log;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header HOST $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://localhost:3000;
        proxy_redirect off;
    }
}

当我访问IP (这是在DigitalOean上)时,我得到Cannot GET /。没有显示任何静态文件。下面是我的快速代码:

代码语言:javascript
复制
var express = require('express'),
  livereload = require('connect-livereload'),
  config = require('./config'),
  app = express(),
  env = app.get('env'),
  port = process.env.PORT || config.serverPort || 3000;

if (env === 'development') {
  app.use(livereload());
  app.use(express.logger('dev'));
  app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
}

app.use(express.compress());
app.use(express.urlencoded());
app.use(express.json());

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

app.listen(port);
console.log('Express server (' + env + ') running on port ' + port);

我想我的nginx配置是缺少的..

EN

回答 1

Stack Overflow用户

发布于 2014-02-27 19:25:11

我也遇到过同样的情况。

关键字在下面的值中:

代码语言:javascript
复制
__dirname + '/public'

只需尝试输出它,例如

代码语言:javascript
复制
res.send(__dirname + '/public')

您可能会看到问题的根源。

在我的例子中,nodejs应用程序的类别和public_html目录处于同一级别,并且nodejs脚本无法找到它。

所以我这样改变了它:

代码语言:javascript
复制
__dirname + '/../public'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21999530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档