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この問題を引き起こすタグがあります。ほとんどすべてのWebサーバーが基本的に並べてインストールできるため、これは非常に賢いとは思いません。これらの問題なしに、デフォルトのCentOSリポジトリからApacheを入手できますが、なぜ一部の外部リポジトリからApacheをインストールするのかわかりません。

答え2

あなたの場合は、ソースからnginxをビルドします。

これの利点は、エージェントとして実行するために必要な機能のみを有効にできることです。

欠点もあります。セキュリティ上の問題を特定するのはあなたの責任であるため、nginx正誤表を追跡する必要があります。また、init / systemd起動スクリプトを手動で作成する必要があります(RPMからこれらのスクリプトを抽出して必要に応じて変更できます)。

パッケージマネージャを介して管理する機能を維持するには、いつでもRPMでパッケージできます。これを行うための文書がたくさんあり、サーバーに開発環境が不足している場合に備えて、他のコンピューターでビルドできるようにします。

ところで、あなたはおそらくこれをすでに知っているでしょう。しかし、Apacheにはプロキシ機能もあります。 Apache(またはnginx)を100%使用することは1つのオプションかもしれません。

答え3

完全にいいえそれを無視できます。これを試さないでください--skip-broken

問題は、ea-apache24が「webserver」と明示的に競合することです。 httpdとnginxはどちらも「Webサーバー」を提供します。したがって、nginxはインストールを拒否します。そうしないと、この問題を解決する方法はありませんrpm --force。しかし、失敗する可能性も高いです。

そうすると、rpmdb地獄が発生します。これを行わずにea-apache24をアンインストールしてからnginxをインストールすることをお勧めします。

関連情報