本篇文章给大家谈谈PHP网站和Nodejs应用程序在相同的VPS,以及php与nodejs的知识点,同时本文还将给你拓展Azure托管Reactjs和NodeJS应用程序、linux–允许node.j
本篇文章给大家谈谈PHP网站和Nodejs应用程序在相同的VPS,以及php与nodejs的知识点,同时本文还将给你拓展Azure托管React js和Node JS应用程序、linux – 允许node.js应用程序在端口80上运行、node.js – Amazon ELB背后的NodeJs应用程序抛出502、node.js – layout.ejs不适用于Heroku中的NodeJS应用程序等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:- PHP网站和Nodejs应用程序在相同的VPS(php与nodejs)
- Azure托管React js和Node JS应用程序
- linux – 允许node.js应用程序在端口80上运行
- node.js – Amazon ELB背后的NodeJs应用程序抛出502
- node.js – layout.ejs不适用于Heroku中的NodeJS应用程序
PHP网站和Nodejs应用程序在相同的VPS(php与nodejs)
是否有可能在同一个VPS上有多个PHP网站和Nodejs应用程序?
我有一个CentOS VPS的虚拟主机虚拟主机上的主机虚拟主机上的根访问..我使用端口80阿帕奇。
现在我想在同一个VPS上部署一个构build在mongoDB和Express框架上的nodejs应用程序。我已经安装了节点并且expression了。
我需要知道,如果它是一个很好的做法,在同一个VPS上托pipe节点应用程序..?
我应该使用什么路由..我应该使用Nginx作为前端代理的Apache和nodejs或我也可以使用Apache的路由我的节点应用程序的URL到节点的应用程序文件夹..?
我应该把哪个Python引导器放在.py头文件中?
Ubuntu上的Apache2configuration文件path。
PHP和Apache2中的奇怪行为:不同服务器中的不同输出
Windows上的Rsync类似的解决scheme?
检测为什么要从服务器上删除文件
如何在Linux中启用核心PHP扩展?
该页面没有正确redirect – HTTPS HTACCESS重写错误
承受发射日交通爆发的最佳做法
stream浪汉中带有简单LAMP的多个虚拟主机
将C#编译为CGI
如果服务器的负载较低,可以将apache和node.js结合使用
您可以使用Nginx或Apache的mod_proxy转发到您的node.js应用程序的Apache
<VirtualHost njapp1.domain.com>
ProxyRequest关闭
ProxyPreserveHost打开
ProxyPass / http:// localhost:9000
ProxyPassReverse / http:// localhost:9000
</虚拟主机>
为Nginx
server{ name njapp1.domain.com; location / { proxy_pass http://localhost:9000; proxy_set_header X-Real-IP $remote_addr; } }
Azure托管React js和Node JS应用程序
我假设您说免费课程是用于家庭目的的?
为了实现可伸缩性和可用性,我将采用3层体系结构,第一个轮胎是用于计算的东西(nodejs应用程序),部署在一个由最少两个实例组成的自动缩放组中,所有实例均位于Azure负载平衡器之后>
第二层是数据库,为此我将选择Azure数据库
最后,是您的React应用程序,如果它是静态生成的应用程序(如Gatsby),我会去Azure存储中的静态网站托管,否则最好将React服务器与Node.js放在同一Linux实例中应用,然后在负载均衡器中使用路径重定向来定位应用
PS:根据负载的不同,这将花费大量的金钱,但是您不必担心可伸缩性,也不再需要管理数据库。
linux – 允许node.js应用程序在端口80上运行
sudo setcap cap_net_bind_service=+ep /usr/local/bin/node
这将返回以下错误:
Failed to set capabilities on file `/usr/local/bin/node' (Invalid argument) The value of the capability argument is not permitted for a file. Or the file is not a regular (non-symlink) file
知道什么可能导致这个错误吗?
解决方法
sudo apt-get install libcap2-bin sudo setcap cap_net_bind_service=+ep `readlink -f \`which node\``
“which”命令显示shell命令的完整路径.
node.js – Amazon ELB背后的NodeJs应用程序抛出502
当我们联系亚马逊团队时,他们说这种情况正在发生,因为后端在5秒后关闭了与ELB的连接.
ELB将HTTP-502发送回您的客户,原因如下:
>尝试建立连接时,负载均衡器从目标接收到TCP RST.
>目标关闭了与TCP RST或TCP FIN的连接,而负载均衡器对目标有未完成的请求.
>目标响应格式错误或包含无效的HTTP标头.
>使用了新的目标群体,但目标尚未通过初步健康检查.目标必须通过一次健康检查才能被视为健康.
我们试图将应用程序的keep-alive / timeouts设置为大于ELB空闲超时(5分钟),因此ELB可以负责打开和关闭连接.但是,我们仍面临502错误.
JS:
var http = require( 'http' ); var express = require( 'express' ); var url = require('url'); var timeout = require('connect-timeout') const app = express(); app.get( '/health',(req,res,next) => { res.send( "healthy" ); }); app.get( '/api/test',next) => { var query = url.parse( req.url,true ).query; var wait = query.wait ? parseInt(query.wait) : 1; setTimeout(function() { res.send( "Hello!" ); },wait ); }); var server = http.createServer(app); server.setTimeout(10*60*1000); // 10 * 60 seconds * 1000 msecs server.listen(80,function () { console.log('**** STARTING SERVER ****'); });
解决方法
注意:这是在Node v8.0.0中添加的
此外,如果您仍然使用经典ELB,请考虑根据当前经验迁移到新的应用程序负载均衡器,这似乎为我们提供了很多改进.如果每个服务都有很多单独的ELB,您还可以节省一些钱.缺点可能是您的所有服务都出现了1点故障.但在AWS我们相信:)
node.js – layout.ejs不适用于Heroku中的NodeJS应用程序
var express = require('express'); var app = express.createServer( express.bodyParser() ); app.configure( function () { app.set('views',__dirname + '/views'); app.set('view engine','ejs'); app.use("/public",express.static(__dirname + '/public')); }); app.get('/',function (req,res) { res.render('index'); });
我在/ views文件夹中有一个index.ejs和layout.ejs:
layout.ejs:
<!doctype html> <html lang="en" manifest=""><head> <title>jQuery Plugin Demo</title> </head> <body> <div> <%- body %> </div> </body> </html>
index.ejs:
Hello world
index.ejs只呈现“Hello world”文本而没有周围的layout.ejs包装器. ejs正在运作.它能够找到正确的.ejs模板,但它只是忽略了布局.我也试过明确地将布局文件添加到应用程序..
app.set('view options',{ layout:'layout.ejs' });
所有这些在本地工作正常,但在Heroku上没有.这是我的package.json:
{ "name": "in1-test","version": "0.0.1","author": "Iatek","dependencies": { "express": ">=2.5.x","ejs": ">=0.7.x" },"engines": { "node": "0.6.x" } }
为什么布局上没有喜悦?谢谢
解决方法
要修复删除“> =”并指定本地版本中的快递版本.
我们今天的关于PHP网站和Nodejs应用程序在相同的VPS和php与nodejs的分享就到这里,谢谢您的阅读,如果想了解更多关于Azure托管React js和Node JS应用程序、linux – 允许node.js应用程序在端口80上运行、node.js – Amazon ELB背后的NodeJs应用程序抛出502、node.js – layout.ejs不适用于Heroku中的NodeJS应用程序的相关信息,可以在本站进行搜索。
本文标签: