标签: amazon-linux-2

如何在 AWS EC2 Linux 2 上安装 NGINX

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

  • 通过EPEL作为博客条目
  • 亚马逊自己的 (?) 版本作为这个答案
  • 2016 NGINX官方教程

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

nginx amazon-ec2 amazon-web-services amazon-linux-2

28
推荐指数
2
解决办法
5万
查看次数

nodejs-16 与 libuv 的依赖问题

这是我在尝试运行时在 Amazon Linux 2 实例上得到的结果yum update

您建议我使用--skip-broken还是等到 AWS 推出修复程序?

--> Processing Dependency: libuv >= 1:1.42.0 for package: 1:nodejs-16.13.2-8.el7.x86_64
--> Finished Dependency Resolution
Error: Package: 1:nodejs-16.13.2-8.el7.x86_64 (epel-testing)
           Requires: libuv >= 1:1.42.0
           Installed: 1:libuv-1.39.0-1.amzn2.x86_64 (@amzn2-core)
               libuv = 1:1.39.0-1.amzn2
           Available: 1:libuv-1.23.2-1.amzn2.0.2.i686 (amzn2-core)
               libuv = 1:1.23.2-1.amzn2.0.2
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
Run Code Online (Sandbox Code Playgroud)

amazon-linux-2

16
推荐指数
3
解决办法
7378
查看次数

我的 Elastic Beanstalk for AL2 中的环境变量在哪里?

我正在用来elastic beanstalk部署Django应用程序。我想SSHEC2实例上执行一些 shell 命令,但环境变量似乎不存在。我通过 AWS GUI(配置 -> 环境属性)指定了它们,它们似乎在我的应用程序启动期间工作。

我尝试通过以下方式激活和停用虚拟环境:

source /var/app/venv/*/bin/activate
Run Code Online (Sandbox Code Playgroud)

是否有一些环境(或我可以运行的脚本)来访问设置了所有属性的环境?否则,我几乎无法运行任何命令,python3 manage.py ...因为没有配置设置模块(我知道如何手动指定它,但我的应用程序需要大约 7 个变量才能工作)。

django amazon-elastic-beanstalk amazon-linux-2

13
推荐指数
2
解决办法
8763
查看次数

命令 01_migrate 在 Amazon Linux 2 AMI 上失败

我有一个部署到 Elastic Beanstalk Amazon Linux 2 AMI 的 Django 项目。我安装了 PyMySQL 以连接到数据库,并将这些行添加到 settings.py 中,如下所示;

import pymysql

pymysql.version_info = (1, 4, 6, "final", 0)
pymysql.install_as_MySQLdb()
Run Code Online (Sandbox Code Playgroud)

而且我还有一个用于迁移数据库的 .config 文件;

container_commands:
  01_migrate:
    command: "django-admin.py migrate"
    leader_only: true
option_settings:
  aws:elasticbeanstalk:application:environment:
    DJANGO_SETTINGS_MODULE: mysite.settings
Run Code Online (Sandbox Code Playgroud)

通常,我mysqlclient在我的 Linux AMI 上使用这个 .config 文件,但它在 Linux 2 AMI 上不起作用,所以我安装了 PyMySQL。现在,我正在尝试部署项目的更新版本,但出现如下错误;

Traceback (most recent call last):
  File "/opt/aws/bin/cfn-init", line 171, in <module>
    worklog.build(metadata, configSets)
  File "/usr/lib/python2.7/site-packages/cfnbootstrap/construction.py", line 129, in build
    Contractor(metadata).build(configSets, self)
  File "/usr/lib/python2.7/site-packages/cfnbootstrap/construction.py", line 530, in build
    self.run_config(config, worklog) …
Run Code Online (Sandbox Code Playgroud)

django pymysql amazon-elastic-beanstalk amazon-linux amazon-linux-2

10
推荐指数
2
解决办法
2089
查看次数

如何在 Amazon Linux 2 上安装较新版本的 R

无论出于何种原因,亚马逊将 R 移至所谓的“Extras Library”,因此您无法sudo yum install -y R再使用 R 安装。相反,你必须这样做sudo amazon-linux-extras install R3.4。结果,当最新的稳定版本是3.6.1时,我只能安装R 3.4.3,而且很多R库甚至无法安装,因为版本太低。有没有什么好的、干净的方法来安装最新版本的 R 并跳过 Amazon 的包管理器?谢谢!

r amazon-ec2 amazon-linux-2

9
推荐指数
2
解决办法
7624
查看次数

如何在亚马逊Linux 2上安装snap

如何在我的 amazon linux 2 上安装 snap?

我浏览了网络上的一些链接:

我似乎找不到在我的 amazon linux 2 机器上安装 snap 的正确说明。我以前做过,但我忘了我是怎么做的。

amazon-workspaces amazon-linux-2

8
推荐指数
1
解决办法
1万
查看次数

在 AWS Linux 2 上运行的 NGINX 配置中访问 Elastic Beanstalk 环境属性

我之前在 AWS Linux AMI 上有过这个工作,但在 AWS Linux 2 上没有运气。

我需要在 EB 应用程序部署期间从 Nginx 配置文件访问我的环境属性。它是一个单实例节点服务器。

我使用 AWS Linux AMI 是这样做的,并且没有问题:

.ebextensions/00_options.config

option_settings:
   aws:elasticbeanstalk:application:environment:
      DOMAIN: socket.example.com
      MASTER_DOMAIN: https://example.com
      etc..
Run Code Online (Sandbox Code Playgroud)

.ebextensions/10_proxy.config

... some configs ...

files:

  /etc/nginx/conf.d/proxy.conf:
    mode: "000644"
    owner: root
    group: root
    content: |

      upstream nodejs {
          server 127.0.0.1:8081;
          keepalive 256;
      }

      map $http_origin $cors_header {
          hostnames;
          default "";
          `{"Fn::GetOptionSetting": {"Namespace": "aws:elasticbeanstalk:application:environment", "OptionName": "MASTER_DOMAIN"}}` "$http_origin";
      }

      server {

          listen 80;
          listen 8080;

          server_name `{"Fn::GetOptionSetting": {"Namespace": "aws:elasticbeanstalk:application:environment", "OptionName": "DOMAIN"}}`;

          location ~ /.well-known { …
Run Code Online (Sandbox Code Playgroud)

nginx environment-variables amazon-web-services amazon-elastic-beanstalk amazon-linux-2

7
推荐指数
1
解决办法
1089
查看次数

为什么在 amazonlinux2 ami 上找不到 aws cli?

我用于 Docker 主机的 AmazonLinux2 AMI 似乎没有安装 AWS CLI。日志中有来自尝试运行aws命令的用户数据脚本的错误:

/var/lib/cloud/instance/scripts/part-001: line 7: aws: command not found
Run Code Online (Sandbox Code Playgroud)

然后我使用 SSH 连接到实例进行健全性检查,并且aws肯定找不到:

[ec2-user@ip-X-X-X-X ~]$ cat /etc/os-release 
NAME="Amazon Linux"
VERSION="2"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2"
PRETTY_NAME="Amazon Linux 2"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
HOME_URL="https://amazonlinux.com/"
[ec2-user@ip-X-X-X-X ~]$ aws --version
-bash: aws: command not found
Run Code Online (Sandbox Code Playgroud)

我认为所有 AmazonLinux AMI 上都默认安装了 AWS CLI?我不记得以前需要自己安装它。

本文甚至说 CLI v1 已默认安装在 AmazonLinux2 上:

AWS 文档链接

那么,怎么可能在这个库存 AMI 上找不到它呢?是否只有部分 AmazonLinux2 AMI 预装了 CLI?作为参考,我正在使用此 AMI:

amzn2-ami-minimal-hvm-2.0.20200917.0-x86_64-ebs (ami-0a6993b2978bd23cb)

amazon-ec2 amazon-web-services aws-cli amazon-linux-2

7
推荐指数
1
解决办法
5426
查看次数

适用于亚马逊 Linux 的 python3.8 开发包

我正在构建基于 amazonlinux:2.0.20210126.0 的 docker 映像,我的软件需要编译并需要 Python.h 和其他开发资源。我在我的 docker 文件中安装 python3.8:

RUN amazon-linux-extras enable python3.8
RUN yum install -y python3.8
Run Code Online (Sandbox Code Playgroud)

但在 amazonlinux 存储库上找不到任何 python3.8 的开发包。尝试寻找 python3.8-devel 或 libpython3.8-dev 但没有成功。

有人对 amazonlinux 有过类似的经历吗?

docker python-3.8 amazon-linux-2

7
推荐指数
1
解决办法
8869
查看次数

在 Elastic Beanstalk 中升级到 Linux2 时 get-config 键发生变化

我正在将 Elastic Beanstalk 部署升级到 Linux2。多个.ebextensions脚本在新部署中失败。看来 的用法get_config已经改变。

旧脚本变量:

EB_APP_USER=$(/opt/elasticbeanstalk/bin/get-config container -k app_user)
EB_APP_DEPLOY_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k app_deploy_dir)
EB_APP_PID_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k app_pid_dir)
EB_SCRIPT_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k script_dir)
EB_SUPPORT_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k support_dir)
Run Code Online (Sandbox Code Playgroud)

我能够在https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/custom-platforms-scripts.html找到前两个的替代品

新的脚本变量:

EB_APP_USER=$(/opt/elasticbeanstalk/bin/get-config platformconfig -k AppUser)
EB_APP_DEPLOY_DIR=$(/opt/elasticbeanstalk/bin/get-config platformconfig -k AppDeployDir)
Run Code Online (Sandbox Code Playgroud)

我找不到替代品

  • app_pid_dir
  • script_dir
  • support_dir

有人知道我应该用什么吗?

amazon-elastic-beanstalk amazon-linux-2

6
推荐指数
1
解决办法
729
查看次数