问题标签 [amazon-linux-2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 无法启动Unicorn(EC2×Nginx×Unicorn)
概述
我在 myRailsApp 上使用 AWS(EC2)+Nginx+Uniconr 制作生产环境。我完成了与 EC2 和 Nginx 设置、独角兽设置的连接。但我不能开始独角兽。
我试过独角兽版本下来(5.5.1→5.4.1)
我是初学者,我尝试了三天。但我不知道。你能帮我么?
独角兽版本 5.4.1
$ unicorn_rails -c /var/www/rails/myapp/config/unicorn.conf.rb -D -E 生产日志
systemctl 状态 nginx
java - AWS EC2 Amazon Linux 2 如何在启动时运行 Java
我一直在互联网上寻找解决方案,但我似乎无法正确解决。
我有一个命令,我想在我的 AWS EC2 服务器启动时启动。
java -Xmx1740M -Xms1740M -jar /home/ec2-user/server.jar nogui
我尝试了“更改用户数据”设置和 bash 脚本,但无济于事。
node.js - 将 Lambda 函数更新到新的运行时。为什么 cURL 不再在 AWS Lambda 上的节点 10 中工作?
这是我的 Lambda 函数中引发错误的行:
我正在尝试将我的 Lambda 函数从节点 8 升级到节点 10 或节点 12,因为 Lambda 上的节点 8 将在 2019 年 12 月结束时被弃用(所以我将无法更新它)。但是,当我深入研究 CloudWatch 日志时,我看到了以下错误:
bin/sh: curl: command not found
当我更新我的 Lambda 函数以运行时,which curl
我得到了一个类似的错误:
bin/sh: which: command not found
根据此处的文档,我知道 Node 8+、Python 3.8+ 和 Java 11+ 正在使用新的 AWS Lambda Runtime、Amazon Linux 2。
任何帮助表示赞赏。
amazon-web-services - 在 Amazon linux 2 中使用 Nodejs10 在 lambda 上的 Openssl
亚马逊 Linux 2 拉姆达
我无法在带有 node10.x 运行时的 lambda 中通过控制台调用执行 OpenSSL。AWS 将保留对 node8.10 的支持,我有一个无服务器平台,它使用 OpenSSL 和 node8.10 的控制台调用
我的代码与下一个类似
回应总是command not found: openssl
我做了接下来的测试
- 搜索 openssl ,
which openssl
但没有成功。 - 搜索 openssl ,
find / openssl
但 Amazon Linux 2 没有此命令。 - 搜索 openssl 导航了一些目录但没有成功。
node.js - ec2 实例上的 Nginx 不提供静态文件
什么工作
我在 AWS EC2 实例上启动并运行了 MERN 堆栈仪表板。
- Ec2 实例位于ec2...aws.com
- React 应用程序在端口5004上提供服务。
- 节点应用程序在端口5003上运行。
改变了什么
当我在 GoDaddy 设置域以
从somebusiness.com转发(带屏蔽)到ec2.....aws.com时,问题就开始了。
首先,我设置NGINX反向代理来服务/作为我的反应应用程序(前端)和/api作为我的节点应用程序(后端)
(稍后你会在下面找到 nginx 代码)
http://somebusiness.com/ <- 打开 React 应用程序并正常工作
http://somebusiness.com/api/heartbeat <- 没有按我的预期工作(心跳只是检查应用程序是否存在的端点)但是出于某种原因,它不返回应用程序/JSON,而是在某种框架内返回具有正确“真实 URL”的文本/HTML 网页:
框架中的实际 URL 是按预期工作的 URL:
http://ec2-...aws.com/api/heartbeat <-工作正常
我认为GoDaddy与此有关,因为在 GoDaddy 上我可以指定此转发的标题、描述和关键字。所以作为后端,我不得不使用http://ec2-...aws.com/api/作为我的后端 URL,现在还可以(这是我目前的次要问题,因为它使用起来很方便后端的域名也是如此)
主要问题
如果我向
http://ec2.....aws.com:5003/uploads/avatars/user1.jpg
发送请求,
则图像加载正常。
因此,如果我向http://ec2.....aws.com/api/uploads/avatars/user1.jpg发送请求,则未加载
图像。
回顾一下:http://ec2-...aws.com/api/对路由和请求工作正常,但对提供静态文件不工作。这让我相信我的 nginx 设置是错误的,我花了无数个小时尝试各种不同的设置。在这里,我展示了我离开的地方:
寻求帮助的源代码和代码
由于我使用的是Amazon Linux 2,因此我使用它的工具来安装nginx1并设置反向代理。当我在我的其他 VPS 上使用 NGINX 时,它的结构有点不同(启用站点和站点可用文件夹)。但是在这个 nginx 上,只有我进行设置的nginx.conf文件。(我想这没有什么区别,只是想注意一下)
我的node.js项目文件夹结构是这样的
...
controllers/
models/
static/ -pictures
/
--logo.png
uploads/ -avatars
/
--user1.jpg
--user2.jpg
--...
r - 如何在 Amazon Linux 2 上安装更新版本的 R
无论出于何种原因,亚马逊将 R 移至所谓的“附加库”,因此您无法再使用安装sudo yum install -y R
R。相反,您必须这样做sudo amazon-linux-extras install R3.4
。结果,我只能在最新的稳定版本是3.6.1的时候安装R 3.4.3,而且因为版本太低,所以甚至无法安装很多R库。有没有什么好的和干净的方法来安装最新版本的 R 并跳过亚马逊的包管理器?谢谢!
linux - 如何更新到 Amazon Linux 2 ECS 优化容器实例?
自从我开始使用 AWS ECS 以来,我一直遵循AWS ECS 参考架构。此参考架构使用 Amazon Linux,我想更新到 Amazon Linux 2,但我不确定我需要做什么才能成功完成此转换。
这个参考架构的 GitHub 存储库上有一个问题,但尽管有几个人寻求帮助,但几个月来它没有得到任何关注。据我了解,以下是使用 Amazon Linux 2 ECS 优化的 AMI 时需要解决的一些问题:
sysvinit
Amazon Linux 2 不再支持;systemd
应改为使用。- Amazon Linux 2 存储
journald
云当前不支持的 docker 日志(在此处描述)
我有一个用于学习 CloudFormation 和 AWS 的开源项目;这是描述我尝试更新的 ECS 集群和容器实例的文件的链接。ecs-cluster.yaml
我听说有些人正在使用带有 ECS 的 Amazon Linux 2,我也想更新,因为对 Amazon Linux (1) 的支持将在大约 6 个月后结束。有谁知道为了将 Amazon Linux 2 与 ECS 一起使用,我还需要考虑哪些其他因素?调试此问题非常耗时,我不确定应该尝试哪些选项和配置。
node.js - chrome-aws-lambda Amazon linux 2 出现错误:套接字挂断
背景:我有这个代码在 AWS linux AMI 中工作,节点 8 用于 lambda。由于亚马逊在 lambda 中停止了节点 8,我一直在努力过渡到现在使用亚马逊 linux 2 的节点 10。自从升级以来,我一直无法克服错误:套接字挂起问题。
版本集
- 节点 v10.18.1
- 铬-aws-lambda 2.0.2
- 傀儡师 2.0.0
- Amazon Linux 第 2 版 (Karoo)
代码片段:
错误:错误发生在 await puppeteer.launch
amazon-web-services - Amazon Linux 2 OpenVPN 客户端包不可用?
当我尝试sudo yum install openvpn
在刚刚创建的 Amazon Linux 2 实例上运行时,我收到了消息
我需要添加一个包存储库吗?我在任何地方都没有提到需要这样做。
php - 尝试从 PHP git pull 时出现 known_hosts 文件权限问题
我正在尝试设置一个简单的 PHP 脚本,git pull
当您转到我设置的 AWS Amazon Linux 2 AMI 测试 Web 服务器上的特定 URL 时,它可以执行此操作。
我在尝试这样做时遇到了一些问题,此后一直在关注这篇文章以尝试解决问题:https ://jondavidjohn.com/git-pull-from-a-php-script-not-so-simple /
我被困在作者说要运行的步骤上sudo -u www git pull
。
在我的系统中,apache
我们需要为 Apache 用户git pull
添加必要的 SSH 密钥信息,但它不起作用。当我尝试运行以下内容时:
我收到以下错误:
我不知道这是否是一个问题,但..ssh
下没有目录/usr/share/httpd
。下有一个known_hosts
文件~/.ssh
,所以也许这是我需要担心的文件?我不太确定。
这很像是权限错误(错误消息暗示了很多),但我真的不确定需要更改哪个文件以及如何更改。任何建议将不胜感激。谢谢你。