我尝试在新的Amazon Linux上安装最新版本的Nginx(> = 1.9.5),以使用http2。我按照此处描述的说明操作-> http://nginx.org/en/linux_packages.html

我使用以下内容创建了一个回购文件/etc/yum.repos.d/nginx.repo:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1

如果我运行yum updateyum install nginx,我会得到:
nginx x86_64 1:1.8.1-1.26.amzn1 amzn-main 557 k
看来它仍然可以从amzn-main存储库中获取。如何安装较新版本的Nginx?

-编辑-
我在nginx.repo文件中添加了“priority = 10”,现在我可以使用yum install nginx安装1.9.15,结果如下:
Loaded plugins: priorities, update-motd, upgrade-helper
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 1:1.9.15-1.el7.ngx will be installed
--> Processing Dependency: systemd for package: 1:nginx-1.9.15-1.el7.ngx.x86_64
--> Processing Dependency: libpcre.so.1()(64bit) for package: 1:nginx-1.9.15-1.el7.ngx.x86_64
--> Finished Dependency Resolution
Error: Package: 1:nginx-1.9.15-1.el7.ngx.x86_64 (nginx)
           Requires: libpcre.so.1()(64bit)
Error: Package: 1:nginx-1.9.15-1.el7.ngx.x86_64 (nginx)
           Requires: systemd
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

最佳答案

如果您使用的是AWS Linux2,则必须从AWS“其他存储库”中安装nginx。要查看可用软件包的列表:

# View list of packages to install
amazon-linux-extras list

您会看到类似于以下内容的列表:
0  ansible2   disabled  [ =2.4.2 ]
1  emacs   disabled  [ =25.3 ]
2  memcached1.5   disabled  [ =1.5.1 ]
3  nginx1.12   disabled  [ =1.12.2 ]
4  postgresql9.6   disabled  [ =9.6.6 ]
5  python3   disabled  [ =3.6.2 ]
6  redis4.0   disabled  [ =4.0.5 ]
7  R3.4   disabled  [ =3.4.3 ]
8  rust1   disabled  [ =1.22.1 ]
9  vim   disabled  [ =8.0 ]
10  golang1.9   disabled  [ =1.9.2 ]
11  ruby2.4   disabled  [ =2.4.2 ]
12  nano   disabled  [ =2.9.1 ]
13  php7.2   disabled  [ =7.2.0 ]
14  lamp-mariadb10.2-php7.2   disabled  [ =10.2.10_7.2.0 ]

使用amazon-linux-extras install命令安装它,例如:
sudo amazon-linux-extras install nginx1.12

更多详细信息在这里:https://aws.amazon.com/amazon-linux-2/faqs/

10-08 05:23
查看更多