Apache가 실행되는 동안 Nginx를 설치하는 방법은 무엇입니까?

Apache가 실행되는 동안 Nginx를 설치하는 방법은 무엇입니까?

Apache용 백엔드 프록시로 nginx를 설치하려고 하는데 다음 오류가 발생합니다.

=== Install Nginx from official repositories ===
Loaded plugins: fastestmirror, remove-with-leaves, tsflags, universal-hooks
nginx                                                                                                                                                                                                                  | 2.9 kB  00:00:00
Loading mirror speeds from cached hostfile
 * EA4: 85.13.201.2
 * base: mirror0.babylon.network
 * elrepo: elrepo.reloumirrors.net
 * epel: mirror0.babylon.network
 * extras: mirror0.babylon.network
 * ius: mirror.amsiohosting.net
 * updates: mirror0.babylon.network
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 1:1.8.1-1.el7.ngx will be installed
--> Processing Conflict: ea-apache24-2.4.18-1.1.x86_64 conflicts webserver
--> Finished Dependency Resolution
Error: ea-apache24 conflicts with 1:nginx-1.8.1-1.el7.ngx.x86_64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

나는 또한 이것을 얻는 데 도움이 되지 않는 --skip-broken을 시도했습니다.

root@panel [/]# yum install nginx --skip-broken
Loaded plugins: fastestmirror, remove-with-leaves, tsflags, universal-hooks
Loading mirror speeds from cached hostfile
 * EA4: 85.13.201.2
 * base: mirror0.babylon.network
 * elrepo: elrepo.reloumirrors.net
 * epel: mirror0.babylon.network
 * extras: mirror0.babylon.network
 * ius: mirror.amsiohosting.net
 * updates: mirror0.babylon.network
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 1:1.8.1-1.el7.ngx will be installed
--> Processing Conflict: ea-apache24-2.4.18-1.1.x86_64 conflicts webserver

어떤 도움이라도 환영합니다. CentOS 7을 실행 중입니다.

답변1

Provides:태그는 질문과 관련이 없습니다 ea-apache24-2.4.18-1.1.x86_64 conflicts webserver. ea-apache24 패키지에는 Conflicts: webserver이 문제를 일으키는 태그가 있습니다. 거의 모든 웹 서버가 기본적으로 나란히 설치될 수 있기 때문에 이것이 매우 현명하다고 생각하지 않습니다. 이러한 문제 없이 기본 CentOS 저장소에서 Apache를 얻을 수 있는데 왜 일부 외부 저장소에서 Apache를 설치하는지 잘 모르겠습니다.

답변2

귀하의 경우 소스에서 nginx를 빌드합니다.

이것의 장점은 에이전트로 실행하는 데 필요한 기능만 활성화할 수 있다는 것입니다.

단점도 있습니다. 보안 문제를 확인하는 것은 귀하의 책임이므로 nginx 정오표를 추적해야 합니다. 또한 init/systemd 시작 스크립트를 수동으로 작성해야 합니다(RPM에서 이러한 스크립트를 추출하여 필요에 따라 수정할 수 있음).

패키지 관리자를 통해 관리하는 기능을 유지하려면 언제든지 RPM으로 패키지할 수 있습니다. 이를 수행하기 위한 문서가 웹에 많이 있으며, 서버에 개발 환경이 부족한 경우를 대비해 다른 컴퓨터에서 빌드할 수 있도록 해줍니다.

그건 그렇고, 당신은 아마도 이것을 이미 알고 있을 것입니다. 그러나 Apache에는 프록시 기능도 있습니다. Apache(또는 nginx)를 100% 사용하는 것이 하나의 옵션일 수 있습니다.

답변3

전적으로아니요그것을 무시할 수 있습니다. 이것을 시도하지 마십시오 --skip-broken.

문제는 ea-apache24가 "webserver"와 명시적으로 충돌한다는 것입니다. httpd와 nginx는 모두 "웹 서버"를 제공합니다. 따라서 nginx는 설치를 거부합니다. 그렇게 하지 않고서는 이 문제를 해결할 수 있는 방법이 없습니다 rpm --force. 하지만 실패할 확률도 높습니다.

그렇게 하면 rpmdb 지옥이 발생합니다. 이 작업을 수행하지 말고 ea-apache24를 제거한 다음 nginx를 설치하는 것이 좋습니다.

관련 정보