백엔드 개발 PHP 튜토리얼 Nginx와 Apache 공유 포트 80의 구성 방법에 대한 자세한 설명

Nginx와 Apache 공유 포트 80의 구성 방법에 대한 자세한 설명

May 05, 2018 am 09:57 AM
apache nginx 포트

이 글에서는 주로 Nginx와 Apache 공유 포트 80의 구성 방법을 소개합니다. 물론 Nginx가 포트 80을 놓고 Apache와 경쟁하지 않도록 하려면 이 글의 마지막 부분에 Nginx 포트 수정 방법도 첨부합니다. 참고할 수 있습니다

전형적인 예 Nginx + Apache 응용 솔루션은 Nginx가 포트 80을 차지하고 정적 요청을 필터링한 다음 동적으로 Proxy를 Apache 포트 8080으로 요청하는 것일 수 있습니다. 프록시 역방향 프록시의 장점은 액세스할 때 항상 포트 80이며 방문자가 아무런 차이를 느끼지 못한다는 것입니다.

그러나 일부 응용 프로그램은 실제로 매우 "스마트"합니다. 그들은 Apache가 있는 포트가 8080임을 인식하고 모든 관련 하이퍼링크에 8080을 추가합니다. 이미 죽은 경우에도 정상적으로 액세스할 수 있나요? !

이 문제를 해결하는 방법이 있는데, 포트 80에서 Apache를 실행하는 것입니다. 동일한 서버에 Nginx와 Apache가 있고 두 개의 httpd 서비스가 있는데 둘 다 80인데 충돌이 없나요?

다음은 예시입니다.
Nginx.conf에서

server {
 listen 80;
 server_name www.webyang.net;
}
로그인 후 복사

구성을 수정합니다.

server {
 listen 192.168.3.3:80;  #指定Nginx只占用某个IP的80端口。
 listen 192.168.10.3:80;  #如果你服务器中有多个IP,还可以指定多个。
 server_name www.webyang.net;
}
로그인 후 복사

Nginx에 여러 가상 호스트가 있는 경우 각각을 이렇게 수정해야 합니다.

그런 다음 Apache의 httpd.conf 차례입니다.
원본

Listen 80
로그인 후 복사


Listen 127.0.0.1:80
로그인 후 복사

Nginx와 동일하게 Apache가 차지하는 IP 및 포트를 지정합니다.
저장하고 종료한 후 아파치를 다시 시작하면 적용됩니다.
아파치에 가상 호스트가 여러 개 있는 경우. 모두 포트 80에 있는 한 Nginx처럼 하나씩 수정할 필요가 없습니다.

예:

NameVirtualHost *:80
<VirtualHost *:80>
 ServerAdmin hello@abc.com
 DocumentRoot /data/web_server/admin
 ServerName www.webyang.net
</VirtualHost>
로그인 후 복사

모든 것이 괜찮을 것이라고 생각하시나요? 아니요.

이러한 아파치는 http://127.0.0.1:80을 통해서만 접근할 수 있으므로 포트 80을 점유한다는 것은 의미가 없습니다. Apache에는 8080을 사용하고 nginx에는 80을 사용하는 것이 좋습니다.
따라서 현재 서버에 여러 IP가 있는 경우 Apache를 127.0.0.1에 바인딩하는 것 외에도 다른 네트워크 카드의 IP를 바인딩하면 문제가 해결됩니다.

하지만 대부분의 사람들은 독립된 IP가 하나뿐이기 때문에 이 방법은 많은 사람들에게 신기루입니다.
아이디어 수정, apache는 여전히 포트 8080입니다. 하나의 nginx 도메인 이름의 conf 파일을 수정하세요

location / {
 try_files $uri @apache;
}
 
location @apache {
 internal;
 proxy_pass http://127.0.0.1:8080;
}
 
location ~ .*.(php|php5)?$ {
 proxy_pass http://127.0.0.1:8080;
}
로그인 후 복사

이때 도메인 이름의 모든 작업은 정적 파일을 포함하여 Apache로 이동됩니다.

이렇게 쓰는 분들도 많아요:

upstream zend {
 server 127.0.0.1:8080;
}
 
location / {
 proxy_pass  http://zend;
 proxy_redirect   off;
 proxy_set_header  Host $host;
 proxy_set_header  X-Real-IP $remote_addr;
 proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header   X-Scheme $scheme;
}
 
location ~ .*.(php|php5)?$ {
 proxy_pass  http://zend;
 proxy_redirect   off;
 proxy_set_header  Host $host;
 proxy_set_header  X-Real-IP $remote_addr;
 proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header   X-Scheme $scheme;
}
로그인 후 복사

대략 비슷해요.

Nginx 포트 수정
nginx.conf 파일 구현을 수정하세요. Linux에서 이 파일의 경로는 /usr/local/nginx/conf/nginx.conf이고 Windows에서는 설치 디렉터리 confnginx.conf입니다.

server {
 listen  80;
 server_name localhost;
 
 ……
}
로그인 후 복사

Change to

server {
 listen  81;
 server_name localhost;
 
 location / {
 root html;
 index index.html index.htm;
 }
 ……
}
로그인 후 복사

물론 8080, 8081 등으로 변경할 수 있습니다. 81일 필요는 없지만 iptable이 포트에 대한 액세스를 허용하는지 확인하세요.

위치 구성을 확인하세요.

root html; #根目录,相对于安装目录 
index index.html index.htm; #默认主页
로그인 후 복사

기본적으로 Nginx를 통해 액세스할 수 있는 설치 디렉터리의 html 폴더에 파일을 넣습니다.

관련 권장 사항:

Nginx와 Apache의 비교

위 내용은 Nginx와 Apache 공유 포트 80의 구성 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

WordPress 사이트 파일 액세스가 제한됩니다. 도메인 이름을 통해 .txt 파일에 액세스 할 수없는 이유는 무엇입니까? WordPress 사이트 파일 액세스가 제한됩니다. 도메인 이름을 통해 .txt 파일에 액세스 할 수없는 이유는 무엇입니까? Apr 01, 2025 pm 03:00 PM

WordPress 사이트 파일 액세스가 제한됩니다. 최근 .txt 파일에 액세스 할 수없는 이유를 문제 해결하십시오. 미니 프로그램 비즈니스 도메인 이름을 구성 할 때 일부 사용자는 문제가 발생했습니다.

동일한 서버에서 NGINX 구성을 통해 PHP5.6 및 PHP7이 공존하는 방법은 무엇입니까? 동일한 서버에서 NGINX 구성을 통해 PHP5.6 및 PHP7이 공존하는 방법은 무엇입니까? Apr 01, 2025 pm 03:15 PM

같은 시스템에서 여러 PHP 버전을 동시에 실행하는 것은 특히 다른 프로젝트가 다른 버전의 PHP에 의존 할 때 일반적인 요구 사항입니다. 똑같은 방법 ...

H5 프로젝트를 실행하는 방법 H5 프로젝트를 실행하는 방법 Apr 06, 2025 pm 12:21 PM

H5 프로젝트를 실행하려면 다음 단계가 필요합니다. Web Server, Node.js, 개발 도구 등과 같은 필요한 도구 설치. 개발 환경 구축, 프로젝트 폴더 작성, 프로젝트 초기화 및 코드 작성. 개발 서버를 시작하고 명령 줄을 사용하여 명령을 실행하십시오. 브라우저에서 프로젝트를 미리보고 개발 서버 URL을 입력하십시오. 프로젝트 게시, 코드 최적화, 프로젝트 배포 및 웹 서버 구성을 설정하십시오.

램프 아키텍처에서 Node.js 또는 Python 서비스를 효율적으로 통합하는 방법은 무엇입니까? 램프 아키텍처에서 Node.js 또는 Python 서비스를 효율적으로 통합하는 방법은 무엇입니까? Apr 01, 2025 pm 02:48 PM

많은 웹 사이트 개발자는 램프 아키텍처에서 Node.js 또는 Python 서비스를 통합하는 문제에 직면 해 있습니다. 기존 램프 (Linux Apache MySQL PHP) 아키텍처 웹 사이트 요구 사항 ...

Gitee Pages 정적 웹 사이트 배포 실패 : 단일 파일 문제를 해결하고 해결하는 방법 404 오류? Gitee Pages 정적 웹 사이트 배포 실패 : 단일 파일 문제를 해결하고 해결하는 방법 404 오류? Apr 04, 2025 pm 11:54 PM

GiteEpages 정적 웹 사이트 배포 실패 : 404 오류 문제 해결 및 해결시 Gitee ...

PC 및 모바일 측면에서 동일한 페이지를 공유하고 캐시 문제를 처리하는 방법은 무엇입니까? PC 및 모바일 측면에서 동일한 페이지를 공유하고 캐시 문제를 처리하는 방법은 무엇입니까? Apr 01, 2025 pm 01:57 PM

PC 및 모바일 측면에서 동일한 페이지를 공유하고 캐시 문제를 처리하는 방법은 무엇입니까? Baota 배경, PC 측면을 만드는 방법 및 ...

셀레늄으로 로그인 한 후 404 오류를 리디렉션하는 이유는 무엇입니까? 그것을 해결하는 방법? 셀레늄으로 로그인 한 후 404 오류를 리디렉션하는 이유는 무엇입니까? 그것을 해결하는 방법? Apr 01, 2025 pm 10:54 PM

솔루션 시뮬레이션 로그인을 위해 Selenium을 사용할 때 시뮬레이션 로그인 후 404 오류 리디렉션에 대한 솔루션은 종종 어려운 문제가 발생합니다. � ...

Dockerfile에서 여러 서비스를 효율적으로 시작하는 방법은 무엇입니까? Dockerfile에서 여러 서비스를 효율적으로 시작하는 방법은 무엇입니까? Apr 01, 2025 pm 02:15 PM

Dockerfile에서 CMD 명령의 효율적인 사용에 대해 많은 새로운 Docker 사용자가 CMD를 사용하고 있습니다 ...

See all articles