web-dev-qa-db-ja.com

Ubuntu 14.04でnginxを更新する

私のサーバーでは、_nginx -v_はnginx version: nginx/1.4.6 (Ubuntu)を返します。非常に古いため、最新の安定したバージョンに更新することにしました。

次に、私は この答え に従いました:

_Sudo apt-get update
Sudo apt-get install nginx
_

それは与えます:

_Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  nginx-common nginx-core
Suggested packages:
  fcgiwrap nginx-doc
The following packages will be upgraded:
  nginx nginx-common nginx-core
3 upgraded, 0 newly installed, 0 to remove and 311 not upgraded.
Need to get 349 kB of archives.
After this operation, 3,072 B of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 http://mirrors.digitalocean.com/ubuntu/ trusty-updates/main nginx-common all 1.4.6-1ubuntu3.7 [19.0 kB]
Get:2 http://mirrors.digitalocean.com/ubuntu/ trusty-updates/main nginx all 1.4.6-1ubuntu3.7 [5,352 B]
Get:3 http://mirrors.digitalocean.com/ubuntu/ trusty-updates/main nginx-core AMD64 1.4.6-1ubuntu3.7 [325 kB]
Fetched 349 kB in 0s (431 kB/s)
Preconfiguring packages ...
(Reading database ... 111751 files and directories currently installed.)
Preparing to unpack .../nginx-common_1.4.6-1ubuntu3.7_all.deb ...
Unpacking nginx-common (1.4.6-1ubuntu3.7) over (1.4.6-1ubuntu3.5) ...
Preparing to unpack .../nginx_1.4.6-1ubuntu3.7_all.deb ...
Unpacking nginx (1.4.6-1ubuntu3.7) over (1.4.6-1ubuntu3.5) ...
Preparing to unpack .../nginx-core_1.4.6-1ubuntu3.7_AMD64.deb ...
Unpacking nginx-core (1.4.6-1ubuntu3.7) over (1.4.6-1ubuntu3.5) ...
Processing triggers for ufw (0.34~rc-0ubuntu2) ...
Processing triggers for ureadahead (0.100.0-16) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up nginx-common (1.4.6-1ubuntu3.7) ...
Setting up nginx-core (1.4.6-1ubuntu3.7) ...
Setting up nginx (1.4.6-1ubuntu3.7) ...
_

ただし、_nginx -v_は引き続きnginx version: nginx/1.4.6 (Ubuntu)を返します。

構成ファイルを変更せずにnginxを安全に更新する方法を知っている人はいますか?運用中のサーバーにあるので、細心の注意を払いたい...

10
SoftTimur

ファーストラン

Sudo apt-get install software-properties-common python-software-properties

次に、nginxの安定したリポジトリを追加します。

Sudo add-apt-repository ppa:nginx/stable

次に実行します

Sudo apt-get update

そして

Sudo apt-get install nginx

21
Oliver

2019年の更新:Ppaソリューションを使用してNginxを1.14.xにアップグレードできます。 Nginxを最新の安定したバージョンまたはメインラインバージョンにアップグレードするには、Nginxをアンインストールしてから document に従って再インストールする必要があります。

// Uninstall Nginx
Sudo apt-get remove nginx

//Then, install Nginx following document: http://nginx.org/en/linux_packages.html#Ubuntu
Sudo apt install curl gnupg2 ca-certificates lsb-release
echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx"| Sudo tee /etc/apt/sources.list.d/nginx.list
curl -fsSL https://nginx.org/keys/nginx_signing.key | Sudo apt-key add -
Sudo apt update
Sudo apt install nginx
6
shaochuancs

最新のUbuntu 14.04にはnginx-1.4.6が付属しており、nginxを最新の安定バージョンにアップグレードすることをお勧めします。アップグレードする有効な理由の1つは、http/2のサポートである可能性があります。これは、 nginx-1.9.5 の後に公式に利用可能になります。

安全なアップグレードのためにここに回答を投稿して、将来誰かを助けることができるようにしてください。

Nginxをインストールする最も推奨される方法は、そのppaを使用することです。可能であれば、nginxを停止してから新しいものをインストールしてください。また、行った可能性のある構成のバックアップを取ることは常に良い考えです。最良の場合のバックアップ/etc/nginx安全な場所。ただし、必要となる最も重要なバックアップファイルはnginx.confで、これは確かに新しい構成で上書きされます。また、nginx署名鍵を追加することを忘れないでください。詳細 こちら

cd /tmp
Sudo add-apt-repository ppa:nginx/stable
wget Sudo add-apt-repository ppa:nginx/stable
Sudo apt-key add nginx_signing.key
rm nginx_signing.key
Sudo apt-get update
Sudo cp -r /etc/nginx nginx-bkp
Sudo service stop nginx 
Sudo apt-get install nginx

Nginxのアップグレード中に、以下の質問が表示されます。最初にnginx.confのバックアップを取っていることを確認してから、Yと回答してください。最初にDとの違いを確認してから、Yを使用します。 enter image description here

私の場合、アップグレード後にnginxが起動に失敗したため、nginx.confでカスタムログ形式を定義しました。私がしなければならなかったのは、/etc/nginx/nginx.confを開いて、すべてが再び機能するようにカスタムログ形式を提供することだけでした。

その後、nginxのバージョンを確認して起動します

> Sudo nginx -v 
nginx version: nginx/1.12.2
> Sudo service nginx start
2
Ankit Kulkarni