我是 AWS 的新手,并试图了解我应该在我的实例上安装哪个版本的 NGINX。我找到了多种选择;
在我的开发环境(Centos VM)上,我使用了sudo yum install nginx
. 尝试了 EPEL 路线后,我没有得到相同的设置,特别是启用/可用的站点不是作为设置的一部分创建的。我想使用需要这些的nginxconfig.io 。我应该使用哪个版本的 NGINX?
我是 AWS 的新手,并试图了解我应该在我的实例上安装哪个版本的 NGINX。我找到了多种选择;
在我的开发环境(Centos VM)上,我使用了sudo yum install nginx
. 尝试了 EPEL 路线后,我没有得到相同的设置,特别是启用/可用的站点不是作为设置的一部分创建的。我想使用需要这些的nginxconfig.io 。我应该使用哪个版本的 NGINX?
另一种安装方法可能更容易(有一个相当新的 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
我个人会使用亚马逊自己的回购。
Amazon repo 提供的版本相对较旧(1.12.2
在撰写本文时)。查看 Amazon 存储库有权运行的版本
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
设置为您启用/可用的所有站点。