我正在学习angularJS书籍中的教程,并且必须设置服务器。这是server.js文件:
var express = require('express');
var app = express();
app.use('/', express.static('./'));
app.listen(80);
我收到此错误:
$ node server.js
events.js:154
throw er; // Unhandled 'error' event
^
Error: listen EACCES 0.0.0.0:80
我已经知道,错误EACCES意味着我没有访问端口80的权限,但是我不知道如何解决此问题。任何帮助,不胜感激!
如果需要在端口80上运行服务器,则应使用反向代理(如nginx),该代理将在特权端口上使用系统帐户运行,并将请求代理到在非特权端口(>
1024)上运行的Node.js服务器。
在开发环境中运行时,您可以自由地以root身份运行(即sudo node server.js
),但这在生产环境中非常危险。
这是一个示例nginx配置,它将查看请求是否针对文件系统中存在的文件,如果不存在,则将该请求代理到运行在端口9000上的Node.js服务器
upstream yournodeapp {
server localhost:9000 fail_timeout=0;
keepalive 60;
}
server {
server_name localhost;
listen 80 default_server;
# Serve static assets from this folder
root /home/user/project/public;
location / {
try_files $uri @yournodeapp;
}
location @yournodeapp {
proxy_pass http://yournodeapp;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
问题内容: 应用程序可以在localhost上正常运行,但是当它连接到服务器时会出错。 我通过端口22连接服务器 这是错误 任何帮助! -更新- 我跑 结果: 但是我跑 什么也没显示。 任何帮助。这是服务器故障吗? 跑步 跑步 问题答案: 您正在使用一个已使用的端口。您必须更改端口,或者必须终止正在监听端口的进程。打开终端并输入(示例):或或和的过程。 如何更改total.js中的侦听 端口 ?
问题内容: 我一直在使用OpenShift和node.js和socket.io。我的代码是: 我的代码说它返回端口8080。但是,我收到此错误: 我怎样才能解决这个问题?我找不到其他解决方案。 问题答案: 您还需要在监听中指定绑定到您的OPENSHIFT_NODEJS_IP,因为默认情况下它尝试绑定到0.0.0.0,这是不允许的。 就像是:
Listener架构概述 Listener Listener.DrainType (Enum) Filter FilterChainMatch FilterChain Listener Listener proto { "name": "...", "address": "{...}", "filter_chains": [], "use_original_dst": "{...}
问题内容: 如果我使用端口80运行服务器,并且尝试使用xmlHTTPrequest,则会出现此错误: 如果我要在端口80上运行服务器时发出请求,为什么nodejs会出现问题?对于网络浏览器来说,这不是问题:在服务器运行时,我可以在Internet上冲浪。 服务器是: 并要求: 问题答案: 表示试图将服务器绑定到的端口号已被使用。 因此,在您的情况下,必须已经在端口80上运行了服务器。 如果在此端口
说明 要使用 SQL 监听功能,必须先开启,并且不推荐在生产环境使用。 开启方式是在配置文件中的 beans 中加入: 'DbQueryLog' => [ 'enable' => true, ] 事件 SQL 执行 事件名:IMI.DB.EXECUTE 每一个 SQL 语句执行后都会触发该事件。 示例: <?php namespace Imi\Test\Component\Db\Lis
如果开启数据库的调试模式的话,你可以对数据库执行的任何SQL操作进行监听,使用如下方法: Db::listen(function ($sql, $time, $explain) { // 记录SQL echo $sql . ' [' . $time . 's]'; // 查看性能分析结果 dump($explain); }); 默认如果没有注册任何监听操作的话,这些