我正在将我的应用程序转换为node.js集群,我希望这会提高我的应用程序的性能。 目前,我正在将应用程序部署到2个EC2 t2.medium实例。 我有Nginx作为代理和ELB。 这是我的快速集群应用程序,这是相当标准的文档。 var bodyParser = require('body-parser'); var cors = require('cors'); var cluster = require('cluster'); var debug = require('debug')('expressapp'); if(cluster.isMaster) { var numWorkers = require('os').cpus().length; debug('Master cluster setting up ' + numWorkers + ' workers'); for(var i = 0; i < numWorkers; i++) { cluster.fork(); } cluster.on('online', function(worker) { debug('Worker ' + worker.process.pid […]
作为我的标题,这里是位于conf.d / api-server.conf中的configuration文件 server { listen 80; server_name api.localhost; location / { add_header 'Access-Control-Allow-Origin' 'http://api.localhost'; add_header 'Access-Control-Allow_Credentials' 'true'; add_header 'Access-Control-Allow-Headers' 'Authorization,Accept,Origin,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range'; add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,PUT,DELETE,PATCH'; if ($request_method = 'OPTIONS') { add_header 'Access-Control-Max-Age' 1728000; add_header 'Content-Type' 'text/plain charset=UTF-8'; add_header 'Content-Length' 0; return 204; } proxy_redirect off; proxy_set_header host $host; proxy_set_header X-real-ip $remote_addr; proxy_set_header X-forward-for $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:3000; […]
我想用nginx在phusion乘客上执行一个简单的node-http-proxy示例。 你可以在https://github.com/nodejitsu/node-http-proxyfind这个例子代码。 var http = require('http'), httpProxy = require('http-proxy'); // // Create your proxy server // httpProxy.createServer(9000, 'localhost').listen(8000); // // Create your target server // http.createServer(function (req, res) { res.writeHead(200, { 'Content-Type': 'text/plain' }); res.write('request successfully proxied!' + '\n' + JSON.stringify(req.headers, true, 2)); res.end(); }).listen(9000); 如果我执行此代码,我得到以下错误。 App 28096 stderr: /usr/share/passenger/helper-scripts/node-loader.js:157 App 28096 stderr: throw new […]
我从中国的networking原因下载了Google Web字体的.woff文件。 以前,我试过@font-face在Github Pages上 ,它的工作原理。 但是这一次我花了一个小时才发现哪里坏了。 我使用Node来为mime提供静态文件, content-type看起来是application/x-font-woff ,而我在CoffeeScript中的代码是: exports.read = (url, res) -> filepath = path.join __dirname, '../', url if fs.existsSync filepath file_content = fs.readFileSync filepath, 'utf8' show (mime.lookup url) res.writeHead 200, 'content-type': (mime.lookup url) res.end file_content else res.writeHead 404 res.end() 由于Github Pages上的.woff的content-type是application/octet-stream ,所以我只是将代码中的那条代码分解出来,使之相同。但是它仍然失败: exports.read = (url, res) -> filepath = path.join __dirname, '../', […]
我使用socket.io与多个节点,socket.io-redis和nginx。 我遵循这个指南: http : //socket.io/docs/using-multiple-nodes/ 我想要做的:在一个函数(服务器站点),我想通过socketid查询这个套接字连接或断开连接 我尝试了io.of('namespace').connected[socketid] ,它只适用于当前进程(这意味着它只能检查当前进程)。 任何人都可以帮助我? 感谢提前。
我们有一个前端应用程序。 它是用Angular(html + css + javascript)编写的,需要由一个web服务器(nginx)托pipe。 Angular与一个将与后端进行通信的NodeJs服务器进行通信。 现在我们必须在Docker中运行这个。 我们要使用2个Docker容器:一个使用nodejs,一个使用nginx,让它们一起工作 那么是否可以在一个仓库中编写2个dockerfiles? 主要思想是有一个nodejs的dockerfile,它也在运行bower install,npm install,…看起来像这样: # Create app directory RUN mkdir -p /usr/src/www WORKDIR /usr/src/www RUN npm install -g bower RUN npm install -g gulp # Install app dependencies COPY . /usr/src/www/ RUN bower install RUN npm install RUN gulp build EXPOSE port CMD [ "node", "server.js" […]
我想在Windows上安装Nginx,并运行两个节点应用程序。 我怎样才能做到这一点? 我试过下载Nginx 1.6.3,但是我没有发现与Windows上运行相关的东西。 只是为了Linux。 我认为应该有一些节点模块。 任何build议将是有用的!
我有一个nginx和节点的问题,因为当我想要得到用户的节点的ip,在我的本地主机工作好(没有使用nginx),但在我的服务器不工作,因为它应该。 我正在研究并看到节点no是第一个接收到ip,是nginx和nginx发送请求后的节点。 那么节点收到的ip就是我的服务器,而不是用户的ip。 看看configuration服务器nignx: location / { proxy_pass https://fotogena.co:8000; <-nginx send req to node proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_connect_timeout 1000; proxy_send_timeout 1500; proxy_read_timeout 2000; } 我使用“req.connection.remoteAddress”知道用户的IP,控制台显示我的服务器的IP地址。 有人知道如何解决这个问题? 感谢:D ———– 2016年4月20日——– 我可以解决这个问题,在nginx文件设置这一行 proxy_set_header X-Real-IP $remote_addr; 和node.js req.headers['x-forwarded-for']
我想用来自同一个域的nginx来托pipe2个不同的节点应用程序,并且遇到一些麻烦。 我想拥有: mydomain.com指向节点应用程序firstApp和otherapp.mydomain.com指向节点应用程序 现在,我可以访问firstApp ,但是我无法通过otherapp.mydomain.com访问其他帐户。 firstApp的configuration如下所示: upstream firstApp{ server 127.0.0.1:8123; } server{ server_name mydomain.com; access_log /var/log/nginx/me.log; 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://firstApp/; proxy_redirect off; } } 我的其他configuration看起来像这样: upstream otherapp{ server 127.0.0.1:8124; } server{ server_name otherapp.mydomain.com; access_log /var/log/nginx/me.log; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header […]
在我的服务器上运行nginx(nginx / 1.1.19)上的socket.io时出现错误 WebSocket握手期间出错:“连接”标题值不是“升级”:保持活动状态 我的网站的conf文件是: server{ listen 80; server_name lalala.com; access_log /home/hao/sites/reactjsweekly/accesss.log; error_log /home/hao/sites/reactjsweekly/error.log; 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://127.0.0.1:3002/; proxy_redirect off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } 在后端的socket.io: var server = http.createServer(app).listen(app.get('port'), function(){ console.log('Express server listening on port ' […]