我已经在服务器上设置了Node.js和Nginx。现在,我想使用它,但是在开始之前,有两个问题:
一个。为每个需要它的网站创建一个单独的HTTP服务器。然后在程序开始时加载所有JavaScript代码,因此该代码将被解释一次。
b。创建一个处理所有Node.js请求的单个Node.js服务器。这将读取请求的文件并评估其内容。因此,每个请求都会解释文件,但是服务器逻辑要简单得多。
我尚不清楚如何正确使用Node.js。
Nginx充当前端服务器,在这种情况下,它将代理请求发送到node.js服务器。因此,您需要为节点设置一个Nginx配置文件。
这是我在Ubuntu框中完成的操作:
yourdomain.com
在/etc/nginx/sites-available/
以下位置创建文件:
vim /etc/nginx/sites-available/yourdomain.com
在其中您应该具有以下内容:
# the IP(s) on which your node server is running. I chose port 3000.
upstream app_yourdomain {
server 127.0.0.1:3000;
keepalive 8;
}
# the nginx server instance
server {
listen 80;
listen [::]:80;
server_name yourdomain.com www.yourdomain.com;
access_log /var/log/nginx/yourdomain.com.log;
# pass the request to the node.js server with the correct headers
# and much more can be added, see nginx config options
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://app_yourdomain/;
proxy_redirect off;
}
}
如果您还希望nginx(> = 1.3.13)也处理websocket请求,请在该location /
部分中添加以下行:
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
完成此设置后,必须启用上面的配置文件中定义的站点:
cd /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/yourdomain.com yourdomain.com
在以下位置创建您的节点服务器应用程序并在以下位置/var/www/yourdomain/app.js
运行它localhost:3000
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(3000, "127.0.0.1");
console.log('Server running at http://127.0.0.1:3000/');
测试语法错误:
nginx -t
重新启动nginx:
sudo /etc/init.d/nginx restart
最后启动节点服务器:
cd /var/www/yourdomain/ && node app.js
现在,您应该在yourdomain.com上看到“ Hello World”
关于启动节点服务器的最后一点说明:您应该对节点守护程序使用某种监视系统。有一个关于upstart和monit的很棒的教程。
12.现在怎么办? 阅读本教程可能让你对使用 Python 更感兴趣了——你应该会渴望将 Python 应用于解决实际问题。你应该到哪里去了解更多 Python 的内容呢? 本教程是 Python 文档集的一部分。文档集中的一些其它文件有: Python 标准库: 你应该浏览本手册,它给出了标准库中关于类型、 函数和模块的完整(虽然简洁)的参考资料。标准的 Python 发布包含大量 的附加模块。
问题内容: 我有一个特殊的URI方案,这给我带来了麻烦。我需要运行nodejs来提供以下服务: 我有这项工作没有问题,可以用来提供子域。但是,一旦URI类似于以下内容,我就需要提供静态内容和php: 这是我服务器上的某个目录。从该url下来的所有内容(例如)都将像您的典型目录方案一样工作。通常,我会将典型的proxy_pass传递给在某个端口上运行的节点,但是正如您在此处看到的那样,我需要node
本文向大家介绍Nginx+CI框架出现404错误怎么解决,包括了Nginx+CI框架出现404错误怎么解决的使用技巧和注意事项,需要的朋友参考一下 最近刚学ci框架,做了个简单的项目,在本地搭服务器的环境都调通了,但是部署到远程服务器时: http://example.com/(index.php)/ 可以访问(为配置的默认controller-class) http://example.com/
百度了好久没一个有效的
无论是ajax get请求,还是link方式: 都发现报跨域,这是什么问题? 这台服务器换过IP,换IP后,导致服务器上某些程序异常,大部分都卸载重装了,nginx也重装了,以前也没遇到这种问题。 不知道是nginx缺少什么配置,还是换IP导致的服务器环境有问题了? 有没有大神知道如何解决?
我正在尝试使用Node.js来读取凤凰频道使用npm包凤凰频道。凤凰频道是在websockets之上复用的。我在我的phoenix服务器前面使用的是NGINX代理,所以对于NGINX来说,它只是一个websocket。 凤凰频道在网页上运行良好,正如您在此处看到的(您将在网页中看到数据)。 它也可以从我的内部网络上的nodejs正常工作: 但是,如果我用域名替换显式IP: PORT地址,并从外部运