Table of Contents
回复内容:
Home Backend Development PHP Tutorial 如何让apache和nodejs共用80端口

如何让apache和nodejs共用80端口

Jun 06, 2016 pm 08:38 PM
apache ghost node.js 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>
Copy after login
Copy after login

加了上述站点后,我的所有请求都被转发到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>
Copy after login
Copy after login

加了上述站点后,我的所有请求都被转发到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>
Copy after login

请注意看这里:

<code>ProxyPass / http://127.0.0.1:9000/
ProxyPassReverse / http://127.0.0.1:9000/
</code>
Copy after login

是指将/转发到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>
Copy after login
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1666
14
PHP Tutorial
1273
29
C# Tutorial
1254
24
PHP and Python: Different Paradigms Explained PHP and Python: Different Paradigms Explained Apr 18, 2025 am 12:26 AM

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

PHP and Python: A Deep Dive into Their History PHP and Python: A Deep Dive into Their History Apr 18, 2025 am 12:25 AM

PHP originated in 1994 and was developed by RasmusLerdorf. It was originally used to track website visitors and gradually evolved into a server-side scripting language and was widely used in web development. Python was developed by Guidovan Rossum in the late 1980s and was first released in 1991. It emphasizes code readability and simplicity, and is suitable for scientific computing, data analysis and other fields.

The Continued Use of PHP: Reasons for Its Endurance The Continued Use of PHP: Reasons for Its Endurance Apr 19, 2025 am 12:23 AM

What’s still popular is the ease of use, flexibility and a strong ecosystem. 1) Ease of use and simple syntax make it the first choice for beginners. 2) Closely integrated with web development, excellent interaction with HTTP requests and database. 3) The huge ecosystem provides a wealth of tools and libraries. 4) Active community and open source nature adapts them to new needs and technology trends.

The Compatibility of IIS and PHP: A Deep Dive The Compatibility of IIS and PHP: A Deep Dive Apr 22, 2025 am 12:01 AM

IIS and PHP are compatible and are implemented through FastCGI. 1.IIS forwards the .php file request to the FastCGI module through the configuration file. 2. The FastCGI module starts the PHP process to process requests to improve performance and stability. 3. In actual applications, you need to pay attention to configuration details, error debugging and performance optimization.

What happens if session_start() is called multiple times? What happens if session_start() is called multiple times? Apr 25, 2025 am 12:06 AM

Multiple calls to session_start() will result in warning messages and possible data overwrites. 1) PHP will issue a warning, prompting that the session has been started. 2) It may cause unexpected overwriting of session data. 3) Use session_status() to check the session status to avoid repeated calls.

NGINX and Apache: Understanding the Key Differences NGINX and Apache: Understanding the Key Differences Apr 26, 2025 am 12:01 AM

NGINX and Apache each have their own advantages and disadvantages, and the choice should be based on specific needs. 1.NGINX is suitable for high concurrency scenarios because of its asynchronous non-blocking architecture. 2. Apache is suitable for low-concurrency scenarios that require complex configurations, because of its modular design.

Using Laravel: Streamlining Web Development with PHP Using Laravel: Streamlining Web Development with PHP Apr 19, 2025 am 12:18 AM

Laravel optimizes the web development process including: 1. Use the routing system to manage the URL structure; 2. Use the Blade template engine to simplify view development; 3. Handle time-consuming tasks through queues; 4. Use EloquentORM to simplify database operations; 5. Follow best practices to improve code quality and maintainability.

Composer: Aiding PHP Development Through AI Composer: Aiding PHP Development Through AI Apr 29, 2025 am 12:27 AM

AI can help optimize the use of Composer. Specific methods include: 1. Dependency management optimization: AI analyzes dependencies, recommends the best version combination, and reduces conflicts. 2. Automated code generation: AI generates composer.json files that conform to best practices. 3. Improve code quality: AI detects potential problems, provides optimization suggestions, and improves code quality. These methods are implemented through machine learning and natural language processing technologies to help developers improve efficiency and code quality.

See all articles