如何在AWS EC2 Linux 2上安装NGINX

时间:2019-09-04 08:20:01

标签: amazon-web-services nginx amazon-ec2 amazon-linux-2

我是AWS的新手,试图了解我应该在实例上安装哪个版本的NGINX。我发现了多种选择;

  • 通过EPEL作为博客条目
  • Amazon自己的(?)版本为answer
  • 2016年NGINX官方tutorial

在开发环境(Centos VM)上,我使用了sudo yum install nginx。尝试过EPEL路线后,我没有得到相同的设置,特别是未将启用/可用的站点创建为设置的一部分。我想使用nginxconfig.io,需要这些。我应该使用哪个版本的NGINX?

2 个答案:

答案 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提供的配置设置了所有为您启用/可用的站点。