如何让apache和nodejs共用80端口
我的服务器上用apache搭建了php的服务器,已经有程序在跑了,现在在玩 ghost,用的是nodejs。那么问题来了,如何让他们同用80端口。
SF上面已经有一篇文章:http://segmentfault.com/q/1010000000702092,但是不符合我的要求,设置后无法达到效果,所有请求都被转发了。网上找了其他的文章,都发现不能符合我的要求。
我用了反向代理来解决,但是发现所有请求都被转发了,这不是我想要的。
假设我的域名是www.hello.com
我想通过一个域名,一个ip地址,80端口,只需要改变访问的url就能指定到不同的web服务器(指的是apache和nodejs) 我要实现的效果是:
1、www.hello.com或者hello.com访问我的ghost博客站点
2、www.hello.com/wechat/wx.php 或 hello.com/wechat/wx.php访问我的php站点
现在说说我的服务器目录设置:
1、php站点根目录在 /usr/local/apache/htdocs/,下面有wechat这个目录,是我的微信公众号后台服务器;
2、ghost站点在 /usr/local/apache/htdocs/ghost/,已经用nodejs启动了它,端口是2386。
在新增ghost站点之前,www.hello.com/wechat/ 是可以正常访问php站点的。
我在httpd.conf中加了这个设置:
<code><virtualhost> ServerAdmin hello@foxmail.com ServerName www.hello.com ServerAlias hello.com ProxyRequests Off <proxy> Order deny,allow Allow from all </proxy> ProxyPass / http://localhost:2386/ max=20 ttl=120 retry=300 ProxyPassReverse / http://localhost:2386/ ErrorLog "/usr/local/apache/logs/proxy_error.log" </virtualhost></code>
加了上述站点后,我的所有请求都被转发到ghost站点去了,也就是www.hello.com/wechat/wx.php 也被 转发到了 http://localhost:2386/,提示找不到网页404错误。
请问我要如何设置才能让php的请求不被反向代理转发?谢谢!
回复内容:
我的服务器上用apache搭建了php的服务器,已经有程序在跑了,现在在玩 ghost,用的是nodejs。那么问题来了,如何让他们同用80端口。
SF上面已经有一篇文章:http://segmentfault.com/q/1010000000702092,但是不符合我的要求,设置后无法达到效果,所有请求都被转发了。网上找了其他的文章,都发现不能符合我的要求。
我用了反向代理来解决,但是发现所有请求都被转发了,这不是我想要的。
假设我的域名是www.hello.com
我想通过一个域名,一个ip地址,80端口,只需要改变访问的url就能指定到不同的web服务器(指的是apache和nodejs) 我要实现的效果是:
1、www.hello.com或者hello.com访问我的ghost博客站点
2、www.hello.com/wechat/wx.php 或 hello.com/wechat/wx.php访问我的php站点
现在说说我的服务器目录设置:
1、php站点根目录在 /usr/local/apache/htdocs/,下面有wechat这个目录,是我的微信公众号后台服务器;
2、ghost站点在 /usr/local/apache/htdocs/ghost/,已经用nodejs启动了它,端口是2386。
在新增ghost站点之前,www.hello.com/wechat/ 是可以正常访问php站点的。
我在httpd.conf中加了这个设置:
<code><virtualhost> ServerAdmin hello@foxmail.com ServerName www.hello.com ServerAlias hello.com ProxyRequests Off <proxy> Order deny,allow Allow from all </proxy> ProxyPass / http://localhost:2386/ max=20 ttl=120 retry=300 ProxyPassReverse / http://localhost:2386/ ErrorLog "/usr/local/apache/logs/proxy_error.log" </virtualhost></code>
加了上述站点后,我的所有请求都被转发到ghost站点去了,也就是www.hello.com/wechat/wx.php 也被 转发到了 http://localhost:2386/,提示找不到网页404错误。
请问我要如何设置才能让php的请求不被反向代理转发?谢谢!
用nginx 可以做到..
在你的node外面使用nginx php用php-fpm和nginx通信,利用url规则转发完全满足你的需求。话说回来Apache的反向代理其实也可以,只是不如nginx简单好用速度快。还有在使用反向代理的时候node肯定不是和nginx同一个端口的啦。
<code><virtualhost> ServerName www.test.com ProxyRequests Off <proxy> Order deny,allow Allow from all </proxy> ProxyPass / http://127.0.0.1:9000/ ProxyPassReverse / http://127.0.0.1:9000/ </virtualhost> </code>
请注意看这里:
<code>ProxyPass / http://127.0.0.1:9000/ ProxyPassReverse / http://127.0.0.1:9000/ </code>
是指将/
转发到http://127.0.0.1:9000/
也就是将所有的请求都转到9000
端口了。
试下这样子是否ok。
<code>ProxyPass / http://127.0.0.1:2386/ ProxyPassReverse / http://127.0.0.1:2386/ ProxyPass /wechat/wx.php http://localhost:80/ ProxyPassReverse /wechat/wx.php http://localhost:80/ </code>

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP et Python ont chacun leurs propres avantages et choisissent en fonction des exigences du projet. 1.Php convient au développement Web, en particulier pour le développement rapide et la maintenance des sites Web. 2. Python convient à la science des données, à l'apprentissage automatique et à l'intelligence artificielle, avec syntaxe concise et adaptée aux débutants.

Le PHP reste important dans le développement Web moderne, en particulier dans la gestion de contenu et les plateformes de commerce électronique. 1) PHP a un écosystème riche et un fort soutien-cadre, tels que Laravel et Symfony. 2) L'optimisation des performances peut être obtenue via Opcache et Nginx. 3) PHP8.0 introduit le compilateur JIT pour améliorer les performances. 4) Les applications natives dans le cloud sont déployées via Docker et Kubernetes pour améliorer la flexibilité et l'évolutivité.

Pour configurer un répertoire CGI dans Apache, vous devez effectuer les étapes suivantes: Créez un répertoire CGI tel que "CGI-Bin" et accorder des autorisations d'écriture Apache. Ajoutez le bloc directif "Scriptalias" dans le fichier de configuration Apache pour mapper le répertoire CGI à l'URL "/ cgi-bin". Redémarrez Apache.

PHP est un langage de script largement utilisé du côté du serveur, particulièrement adapté au développement Web. 1.Php peut intégrer HTML, traiter les demandes et réponses HTTP et prend en charge une variété de bases de données. 2.PHP est utilisé pour générer du contenu Web dynamique, des données de formulaire de traitement, des bases de données d'accès, etc., avec un support communautaire solide et des ressources open source. 3. PHP est une langue interprétée, et le processus d'exécution comprend l'analyse lexicale, l'analyse grammaticale, la compilation et l'exécution. 4.PHP peut être combiné avec MySQL pour les applications avancées telles que les systèmes d'enregistrement des utilisateurs. 5. Lors du débogage de PHP, vous pouvez utiliser des fonctions telles que error_reportting () et var_dump (). 6. Optimiser le code PHP pour utiliser les mécanismes de mise en cache, optimiser les requêtes de base de données et utiliser des fonctions intégrées. 7

Les étapes pour démarrer Apache sont les suivantes: Installez Apache (Commande: Sudo apt-get install Apache2 ou téléchargez-le à partir du site officiel) Start Apache (Linux: Sudo SystemCTL Démarrer Apache2; Windows: Cliquez avec le bouton droit sur le service "APACHE2.4" et SELECT ") Vérifiez si elle a été lancée (Linux: SUDO SYSTEMCTL STATURE APACHE2; (Facultatif, Linux: Sudo SystemCTL

PHP est toujours dynamique et occupe toujours une position importante dans le domaine de la programmation moderne. 1) La simplicité de PHP et le soutien communautaire puissant le rendent largement utilisé dans le développement Web; 2) sa flexibilité et sa stabilité le rendent exceptionnelle dans la gestion des formulaires Web, des opérations de base de données et du traitement de fichiers; 3) PHP évolue et optimise constamment, adapté aux débutants et aux développeurs expérimentés.

PHP et Python ont chacun leurs propres avantages et conviennent à différents scénarios. 1.PHP convient au développement Web et fournit des serveurs Web intégrés et des bibliothèques de fonctions riches. 2. Python convient à la science des données et à l'apprentissage automatique, avec une syntaxe concise et une bibliothèque standard puissante. Lors du choix, il doit être décidé en fonction des exigences du projet.

Pour supprimer une directive de nom de serveur supplémentaire d'Apache, vous pouvez prendre les étapes suivantes: Identifier et supprimer la directive supplémentaire de serveur. Redémarrez Apache pour que les modifications prennent effet. Vérifiez le fichier de configuration pour vérifier les modifications. Testez le serveur pour vous assurer que le problème est résolu.
