在Ubuntu上安装最新版本的nginx
如果从Ubuntu的初始仓库中使用apt-get安装nginx,很遗憾地会安装上旧版本的nginx,因为这个过程比较慢。
我在2016年3月12日加入了使用ansible编写本文步骤的参考示例。
手动安装部分
有三种方法可以安装最新版本。
-
- 从源代码编译
-
- 从PPA安装
- 将官方nginx添加到仓库中
由于1需要进行许多配置和其他操作,所以最好使用2或3。此外,由于我对PPA中可能包含的内容一无所知,因此最终还是希望使用3的官方最新版本。
因此,这次我们将介绍一种以3种方式进行安装的方法。
# (1) nginxサイトが配布するPGPキーを追加
curl http://nginx.org/keys/nginx_signing.key | sudo apt-key add -
# (2) リポジトリを一覧に追加
VCNAME=`cat /etc/lsb-release | grep DISTRIB_CODENAME | cut -d= -f2` && sudo -E sh -c "echo \"deb http://nginx.org/packages/ubuntu/ $VCNAME nginx\" >> /etc/apt/sources.list"
VCNAME=`cat /etc/lsb-release | grep DISTRIB_CODENAME | cut -d= -f2` && sudo -E sh -c "echo \"deb-src http://nginx.org/packages/ubuntu/ $VCNAME nginx\" >> /etc/apt/sources.list"
# (3) アップデート後、nginxをインストール
sudo apt-get update
sudo apt-get install nginx
请根据下表参考,在添加(2)存储库的命令中根据您所使用的操作系统设置任意的操作系统代码名称,”trusty”一词。上述命令已被修复以自动获取操作系统代码名称。您无需担心操作系统版本,可以直接复制粘贴使用。
OSバージョンコード名10.04lucid12.04precise14.04trusty14.10Utopic15.04vivid15.10wily16.04xenial16.10Yakkety17.04Zesty
将以下内容用中文进行本地化重述,只需要给出一个选择:
Ansible编程
使用Ansible可以获取操作系统的信息,因此可以使用以下的YML文件来进行安装。请根据需要自行编辑ANYHOST部分。
Ansible真方便啊。
- hosts: ANYHOST
become: yes
vars:
nginx_pgp_url: http://nginx.org/keys/nginx_signing.key
nginx_repository_url: http://nginx.org/packages/ubuntu/
tasks:
- name : Add official nginx PGP key
apt_key: url={{nginx_pgp_url}} state=present
- name : Add official nginx repository
lineinfile : >
dest=/etc/apt/sources.list
line='{{item}} {{nginx_repository_url}} {{ansible_distribution_release}} nginx'
with_items:
- deb
- deb-src
- name : Run apt-get update
apt: update_cache=yes
- name : Install nginx
apt : name=nginx state=present