如何在 AWS EC2 Linux 2 上安装 NGINX [关闭]

Posted

技术标签:

【中文标题】如何在 AWS EC2 Linux 2 上安装 NGINX [关闭]【英文标题】:How to install NGINX on AWS EC2 Linux 2 [closed] 【发布时间】:2020-01-07 02:31:12 【问题描述】:

我是 AWS 新手,想了解应该在我的实例上安装哪个版本的 nginx。我找到了多种选择;

通过EPEL作为博客条目 亚马逊自己的 (?) 版本如 answer 2016 NGINX官方tutorial

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

【问题讨论】:

【参考方案1】:

可能更容易的替代安装方式(具有相当新的 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

【讨论】:

sudo amazon-linux-extras install -y nginx1 将从 extras 启用和安装包。【参考方案2】:

我个人会使用亚马逊自己的仓库。

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

【讨论】:

感谢 Mat,nginx1.12 是 AWS 变体,还是仅落后于当前 nginx 1.17? 它已经很老了,但是他们通过这个频道amazon-linux-extras list | grep nginx 提供的最新版本 如果您想使用最新版本,请使用 EPEL 路线。 ``` # 备份现有配置 mv /etc/nginx /etc/nginx-backup ``` 的所有内容保持不变 谢谢,我认为您的回答中值得注意 他们不再在amazon-linux-extras 输出中列出版本,而只是=stable。安装了,当前版本是1.18.0-1.amzn2.0.2

以上是关于如何在 AWS EC2 Linux 2 上安装 NGINX [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

我们如何在aws ec2 linux实例的不同端口安装多个apache服务器

在 AWS 中的 SUSE Linux EC2 实例上安装 SSM 代理和角色确保启动

如何将最新 (2020) Django 安装到 AWS EC2 Linux 2 实例并使用 Apache Hello World 服务

如何在 aws EFS 上挂载 aws EC2 文件作为持久卷?

在 AWS EC2 上安装 Ruby 2.0 和 Rails 4.0.0beta

如何在 aws ec2(linux 实例)上部署 Next js