我是AWS的新手,试图了解我应该在实例上安装哪个版本的NGINX。我发现了多种选择;
在开发环境(Centos VM)上,我使用了sudo yum install nginx
。尝试过EPEL路线后,我没有得到相同的设置,特别是未将启用/可用的站点创建为设置的一部分。我想使用nginxconfig.io,需要这些。我应该使用哪个版本的NGINX?
答案 0 :(得分:24)
另一种安装方式可能更容易(具有Nginx的最新版本):
$ sudo amazon-linux-extras list | grep nginx
38 nginx1=latest disabled [ =stable ]
$ sudo amazon-linux-extras enable nginx1
38 nginx1=latest enabled [ =stable ]
Now you can install:
$ sudo yum clean metadata
$ sudo yum -y install nginx
$ nginx -v
nginx version: nginx/1.16.1
答案 1 :(得分:5)
我个人将使用亚马逊自己的存储库。
Amazon存储库提供的版本相对较旧(在撰写本文时为1.12.2
)。查看亚马逊仓库可以运行的版本
amazon-linux-extras list | grep nginx
如果您想要更高的版本,请考虑使用EPEL。
关于配置,最好的选择是将所需的配置显式提供给服务器。
使用现成的工具可以使您正常运行。但是,当Nginx更新时,您会面临发生变化的风险。明确提供您自己的配置可让您更好地控制正在运行的内容。
最简单的方法可能是将nginxconfig.io
生成的配置上传到S3。
然后在创建EC2实例以下载配置时通过用户数据添加脚本。
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html
像这样...
#!/bin/bash
# Install Nginx
amazon-linux-extras install nginx1.12
# Back up existing config
mv /etc/nginx /etc/nginx-backup
# Download the configuration from S3
aws s3 cp s3://{my_bucket}/nginxconfig.io-example.com.zip /tmp
# Install new configuration
unzip /tmp/nginxconfig.io-example.com.zip -d /etc/nginx
nginxconfig.io
提供的配置设置了所有为您启用/可用的站点。