我尝试在新的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 update
和yum 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/。