GVKun编程网logo

如何在同一台服务器上使用nginx将php和nodejs应用程序一起configuration(两台nginx服务用同一个域名)

17

如果您想了解如何在同一台服务器上使用nginx将php和nodejs应用程序一起configuration的相关知识,那么本文是一篇不可错过的文章,我们将对两台nginx服务用同一个域名进行全面详尽的

如果您想了解如何在同一台服务器上使用nginx将php和nodejs应用程序一起configuration的相关知识,那么本文是一篇不可错过的文章,我们将对两台nginx服务用同一个域名进行全面详尽的解释,并且为您提供关于Angular2应用程序的configuration – nginx和docker、Apache 和 Node.js 在同一台服务器上、Apache和Yeoman在同一台服务器上构buildNodeJS应用程序…虚拟主机?、ClientCnxn: SASL configuration failed: javax.security.auth.login.LoginException: No JAAS configuration ??的有价值的信息。

本文目录一览:

如何在同一台服务器上使用nginx将php和nodejs应用程序一起configuration(两台nginx服务用同一个域名)

如何在同一台服务器上使用nginx将php和nodejs应用程序一起configuration(两台nginx服务用同一个域名)

我有一个Ubuntu的VPC。 我有一个nodejs应用程序运行在一些文件夹中。 我有一个PHP应用程序运行在Apache / var / www。 我想要的是configurationNginx,以便当用户来到mydomain.com,他/她被redirect到我的节点应用程序运行在端口3000上,当用户访问mydomain.com/docs时,他/她被redirect到我的PHP在端口80上的Apache上运行的应用程序。

server { listen 80; root /var/www; location / { try_files $uri $uri/ /index.html; } location ~.PHP$ { fastcgi_split_path_info ^(.+.PHP)(/.+)$; fastcgi_pass unix:/var/run/PHP5-fpm.sock; fastcgi_index index.PHP; include fastcgi_params; } location /doc/ { alias /usr/share/doc/; autoindex on; allow 127.0.0.1; deny all; } location ~/.ht { deny all; } }

我的nodejs应用程序的conf文件是:

upstream app_somedomain { server 127.0.0.1:3000; } server { listen 0.0.0.0:80; server_name mydomain.com mydomain; root /some/path; index index.html index.htm index.PHP index.js; 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_somedomain/; proxy_redirect off; } }

我第一次使用Nginx。 我仍然无法理解如何做到这一点。 至于在如何将我的nodejs应用程序运行在端口3000上我的域名和mydomain /文档到我的PHP应用程序。

谢谢。

在PHP中parsingHTTP_RANGE头

SVN导入:“错误:无法打开请求的SVN文件系统”

Apache多个DocumentRoot

如何以编程方式比较两个基于视觉差异的PDF?

问题安装OpenNLP

Django静态文件托pipe一个Apache

www-data下的apache2多个实例

设置默认的Apache RewriteRule条目

url重写的build议,请

在apache中build立一个基本的web代理

Angular2应用程序的configuration – nginx和docker

Angular2应用程序的configuration – nginx和docker

我有一个REST后端服务位于一些服务器和前端应用程序的angular度。 我正在使用Angular CLI来构build应用程序。 我的后端服务器的位置位于环境文件中。 我的应用程序的要求是,我提供了两个docker图像。 一个与我的后端服务器(Java的春季启动应用程序)和第二个是与ng build myApp命令的静态HTML生成。 然后,我将内容od dist目录复制到docker映像上的相应目录中,如此处所示的Nginx docker映像 。

问题是,后端和前端可能在不同的服务器上工作。 有什么办法可以configuration我的前端应用程序,我可以更改后端服务器的位置,每个容器的开始?

在Windows上与Docker联网

WidNows上的Postgresql泊坞窗容器

Nginx作为docker上游代理与地图

在Docker Container中运行命令

运行泊坞窗容器上的错误500

我知道这是一个古老的问题,但是我面对同样的问题,花了一段时间才解决。 这可以帮助那些来自搜索引擎的人。

我找到了两个解决方案(我选择了第二个)。 两者都允许您在docker中使用环境变量来配置您的API URL。

解决方案1(“客户端”):env.js asset + sed

这个想法是让你的Angular客户端从你的HTTP服务器加载一个env.js文件。 这个env.js将包含API URL,并且在你的容器启动时将会被修改。 这是你在问题评论中讨论的内容。

在角度应用资源文件夹中添加一个env.js (angular-cli的src/assets ):

var MY_APP_ENV = { apiUrl: 'http://localhost:9400',}

在你的index.html ,你将加​​载你的env:

<head> <Meta charset="utf-8"> <base href="/"> <script src="env.js"></script> </head>

在你的environment.ts中,你可以使用这个变量:

declare var MY_APP_ENV: any; export const environment = { production: false,apiUrl: MY_APP_ENV.apiUrl };

在你的Nginx Dockerfile中:

FROM Nginx:1.11-alpine copY tmp/dist /usr/share/Nginx/html copY run.sh /run.sh CMD ["sh","/run.sh"]

run.sh脚本是sed魔法发生的地方:

#!/bin/sh # API /bin/sed -i "s|http://localhost:9400|${MY_API_URL}|" /usr/share/Nginx/html/env.js Nginx -g 'daemon off;'

在您的角度服务中,使用environment.apiUrl连接到API(您需要导入环境,请参阅Angular 2文档)。

解决方案2(纯服务器端):Nginx代理配置+ envsubst

我对之前的解决方案不满意,因为API URL需要从主机的角度来看,它不能在我的docker-compose设置中使用另一个容器主机名。

所以我想:很多人使用Nginx作为代理服务器,为什么不用这种方式代理/api到我的其他容器。

Dockerfile:

FROM Nginx:1.11-alpine copY tmp/dist /usr/share/Nginx/html copY frontend.conf.template /etc/Nginx/conf.d/frontend.conf.template copY run.sh /run.sh CMD ["/bin/sh","/run.sh"]

frontend.conf.template:

server { listen 80; server_name myserver; # API server location /api/ { proxy_pass ${MY_API_URL}/; } # Main location / { root /usr/share/Nginx/html; index index.html index.htm; try_files $uri$args $uri$args/ /index.html; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/Nginx/html; } }

run.sh:

#!/bin/sh # Substitute env vars envsubst '$MY_API_URL' < /etc/Nginx/conf.d/frontend.conf.template > /etc/Nginx/conf.d/default.conf # Start server Nginx -g 'daemon off;'

envsubt允许你用一个类似shell的语法来替换字符串中的环境变量。

然后使用/api/xyz从Angular应用程序连接到API。

我认为第二个解决方案更清洁。 API URL可以是docker-compose设置中的API docker容器名称,这很好。 客户端不参与,它是透明的。 但是,这取决于Nginx。

Apache 和 Node.js 在同一台服务器上

Apache 和 Node.js 在同一台服务器上

我想使用Node,因为它速度很快,使用与我在客户端使用的语言相同的语言,并且根据定义它是非阻塞的。但是我雇来编写文件处理程序(保存、编辑、重命名、下载、上传文件等)的人,他想使用
apache。所以,我必须:

  1. 说服他使用 Node(他在这方面几乎没有放弃)

  2. 弄清楚如何在节点或节点中上传、下载、重命名、保存等文件

  3. 我必须在同一台服务器上安装 apache 和 node。

哪种情况最有利,我该如何实施?

Apache和Yeoman在同一台服务器上构buildNodeJS应用程序…虚拟主机?

Apache和Yeoman在同一台服务器上构buildNodeJS应用程序…虚拟主机?

我一直试图在我的apache服务器上添加一个NodeJS应用(由Yeoman – angular-fullstack生成器构build)。 我发现这个其他回答的问题: 同一台服务器上的Apache和Node.jsbuild议使用这样的ProxyPass:

ProxyPass /node http://localhost:8000/

我遇到的问题是,我的应用程序从index.html开始,包含一些带有href的文件。 由于这些hrefs不是这样开始的

href="/node/..."

它们不被Proxypassredirect,从而导致404错误。

我不能只改变所有的hrefs:这意味着我需要在我的3环境中重新开始:开发,生产和testing,即使我这样做,每次我都会使用Grunt来testing我的应用程序,它无论如何自动重build我的index.html。 (此外,这并不能解决所有问题,当我这样做的时候出现了一些问题)

用量angular器如何设置Internet Explorer的configuration?

meteor,Angular路线,Nginx和SSL – 如何路由/重写path到另一台服务器

WSS://my.domain.com/sockjs/362/4q059yw7/websocket

AngularJS:无法加载模板

如何运行Ionic永久服务?

我唯一能做的就是使用这样的ProxyPass:

ProxyPass / http://localhost:8000/

在那里它可以工作,绝对没有问题,就像我实际上使用本地服务器上的应用程序一样。

唯一剩下的问题是我需要在我的服务器上有两个环境,用于生产和testing,而我不能做

ProxyPass / http://localhost:8000/ ProxyPass / http://localhost:8001/

这显然是行不通的,因为一切都会被redirect到8000端口,所以任何事情都可以到达第二线。

所以,我只剩下两个select:

要么find另一种解决scheme,而不是使用“/”作为redirect到本地主机:8000的标准,将以相同的方式工作(我没有发现任何工作)

或者使用虚拟主机…还有另一个问题:我真的不能解决networking问题,据我所知,在同一台机器上有几个虚拟主机,我需要几个CNAMES(每个虚拟主机一个),但我不知道如何列出/添加CNAMES(我的服务器在Windows Server 2008上运行,无法访问万维网),我的“pipe理工具”中没有任何“DNS”应用程序,米应该按照这个: https : //technet.microsoft.com/en-gb/library/cc753579.aspx

任何帮助将非常欢迎提前致谢!

编辑:我真的认为我的解决scheme是抽动我的Apacheconfiguration。 任何人都可以用来处理服务器configuration帮助我吗? :/

在Nginx中不能直接访问angular路由

处理从Nginx到Unicorn(AngularJS to Rails API)的HTTP请求时,只能在Chrome中发生大的延迟

AngularJS应用程序中的资源脚本是相对的还是绝对的?

两个文档根与Nginx和fastcgi

seleniumwebdriverexceptionSessionNotFound在Windows 7 64

似乎我所缺少的是一个

<base href="/node/">

标签(甚至不知道它,和Yeoman创建它)

我仍然有一个问题:

Socket.io …我真的没有在这里得到我自己的问题:它在node_modules(这是正常的,因为我需要在我的服务器和我的客户端),但试图包括它,因为我之前使用基础href失败。 我甚至不知道它是如何工作的:(index.html:) <script src="socket.io-client/socket.io.js"></script>这似乎不正确的知道我的项目文件夹是这样的:

[项目根]

-客户

–index.html

-node_modules

–socket.io客户端

— socket.io.js

总结

以上是小编为你收集整理的Apache和Yeoman在同一台服务器上构buildNodeJS应用程序…虚拟主机?全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

ClientCnxn: SASL configuration failed: javax.security.auth.login.LoginException: No JAAS configuration ??

ClientCnxn: SASL configuration failed: javax.security.auth.login.LoginException: No JAAS configuration ??

 zookeeper.ClientCnxn: SASL configuration failed: javax.security.auth.login.LoginException: No JAAS configuration section named ''Client'' was found in specified JAAS configuration file: ''/etc/kafka/kafka_client_jaas.conf''. Will continue connection to Zookeeper server without SASL authentication, if Zookeeper server allows it.
20/04/07 18:23:56 INFO zookeeper.ClientCnxn: Opening socket connection to server master/192.168.7.202:2181
20/04/07 18:23:56 INFO zookeeper.ClientCnxn: Socket connection established, initiating session, client: /192.168.7.202:44298, server: master/192.168.7.202:2181
20/04/07 18:23:56 INFO zookeeper.ClientCnxn: Session establishment complete on server master/192.168.7.202:2181, sessionid = 0x171294ab3f2fdb6, negotiated timeout = 60000
20/04/07 18:23:57 INFO session.SessionState: Created HDFS directory: /tmp/hive/hbase/6629ad1f-0cf2-4565-a8f7-e79c794805bb
20/04/07 18:23:57 INFO session.SessionState: Created local directory: /tmp/root/6629ad1f-0cf2-4565-a8f7-e79c794805bb
20/04/07 18:23:57 INFO session.SessionState: Created HDFS directory: /tmp/hive/hbase/6629ad1f-0cf2-4565-a8f7-e79c794805bb/_tmp_space.db
20/04/07 18:23:57 INFO lineage.NavigatorQueryListener: Failed to generate lineage for successful query execution.
org.apache.spark.sql.AnalysisException: java.lang.ExceptionInInitializerError: null;
    at org.apache.spark.sql.hive.HiveExternalCatalog.withClient(HiveExternalCatalog.scala:108)
    at org.apache.spark.sql.hive.HiveExternalCatalog.databaseExists(HiveExternalCatalog.scala:216)
    at org.apache.spark.sql.internal.SharedState.externalCatalog$lzycompute(SharedState.scala:114)
    at org.apache.spark.sql.internal.SharedState.externalCatalog(SharedState.scala:102)
    at org.apache.spark.sql.hive.HiveSessionStateBuilder.org$apache$spark$sql$hive$HiveSessionStateBuilder$$externalCatalog(HiveSessionStateBuilder.scala:39)
    at org.apache.spark.sql.hive.HiveSessionStateBuilder$$anonfun$1.apply(HiveSessionStateBuilder.scala:54)
    at org.apache.spark.sql.hive.HiveSessionStateBuilder$$anonfun$1.apply(HiveSessionStateBuilder.scala:54)
    at org.apache.spark.sql.catalyst.catalog.SessionCatalog.externalCatalog$lzycompute(SessionCatalog.scala:90)
    at org.apache.spark.sql.catalyst.catalog.SessionCatalog.externalCatalog(SessionCatalog.scala:90)
    at org.apache.spark.sql.query.analysis.QueryAnalysis$.hiveCatalog(QueryAnalysis.scala:63)
    at org.apache.spark.sql.query.analysis.QueryAnalysis$.getLineageInfo(QueryAnalysis.scala:88)
 

我们今天的关于如何在同一台服务器上使用nginx将php和nodejs应用程序一起configuration两台nginx服务用同一个域名的分享就到这里,谢谢您的阅读,如果想了解更多关于Angular2应用程序的configuration – nginx和docker、Apache 和 Node.js 在同一台服务器上、Apache和Yeoman在同一台服务器上构buildNodeJS应用程序…虚拟主机?、ClientCnxn: SASL configuration failed: javax.security.auth.login.LoginException: No JAAS configuration ??的相关信息,可以在本站进行搜索。

本文标签: