So aktualisieren Sie Nginx von 1.6.3 auf 1.8.x unter CentOS 6

So aktualisieren Sie Nginx von 1.6.3 auf 1.8.x unter CentOS 6

Ich verwende CentOS 6, nginx 1.6.3

$nginx -v
nginx version: nginx/1.6.3

Und ich möchte nginx auf 1.8 aktualisieren, weil dieadd_header [immer] Direktivewird gebraucht

Ich folgtehttps://webtatic.com/packages/nginx18/um das Upgrade durchzuführen, habe aber den folgenden Fehler erhalten

$yum list nginx*
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: mirrors.service.networklayer.com
 * epel: free.nchc.org.tw
 * extras: mirrors.service.networklayer.com
 * updates: mirrors.service.networklayer.com
 * webtatic: uk.repo.webtatic.com
Installed Packages
nginx16.x86_64       1.6.3-1.w6       @webtatic
Available Packages
nginx18.x86_64       1.8.0-1.w6       webtatic

Wenn ich laufe yum install -y nginx18, gibt es

Transaction Check Error:
  file /usr/sbin/nginx from install of nginx18-1.8.0-1.w6.x86_64 conflicts with file from package nginx16-1.6.3-1.w6.x86_64
  file /usr/lib64/perl5/vendor_perl/auto/nginx/nginx.so from install of nginx18-1.8.0-1.w6.x86_64 conflicts with file from package nginx16-1.6.3-1.w6.x86_64
  file /usr/lib64/perl5/vendor_perl/nginx.pm from install of nginx18-1.8.0-1.w6.x86_64 conflicts with file from package nginx16-1.6.3-1.w6.x86_64
  file /usr/share/man/man3/nginx.3pm.gz from install of nginx18-1.8.0-1.w6.x86_64 conflicts with file from package nginx16-1.6.3-1.w6.x86_64

Error Summary

Kann mich jemand freundlicherweise durch die richtigen Schritte zum Upgrade von nginx von 1.6.3 auf 1.8 unter CentOS 6 führen? Idealerweise ohne yum remove-ing nginx16 und anschließende Installation von nginx18, was zu Serverausfallzeiten führen würde.

Antwort1

Da das Nginx-Paket nicht dafür ausgelegt ist, mehrere Versionen gleichzeitig zu installieren, müssen Sie die alte Version deinstallieren und die neue installieren:

$ yum remove nginx16
$ yum install nginx18

Alternativ können Sie versuchen

 $ yum install yum-plugin-replace
 $ yum replace nginx16 --replace-with=nginx18
 $ service nginx restart

Aber testen Sie es besser zuerst auf einem Testserver.

verwandte Informationen