我一直在使用 AWS EC2 Linux 执行无头 Firefox/Selenium 任务。我使用http://itsallabtamil.blogspot.com/2013/02/setting-up-chrome-firefox-ec2-selenium-java.html中的说明构建了它,后者又使用此脚本在 AWS EC2 上获取 GTK+ 和 Firefox Linux http://joekiller.com/2012/06/03/install-firefox-on-amazon-linux-x86_64-compiling-gtk/
昨天,我更新了所有软件包“sudo yum update”,但我无法再运行 Firefox!在过去的 12 个小时里,我一直在用头撞墙,但无法解决。基本上,如果我开始说 Xvfb:
Xvfb :1 -screen 0 1280x768x24
Run Code Online (Sandbox Code Playgroud)
然后尝试通过执行以下操作来启动 Firefox
firefox
export DISPLAY=:1
Run Code Online (Sandbox Code Playgroud)
在另一个终端中,我在 Xvfb 的终端中收到以下错误:
Xvfb: symbol lookup error: Xvfb: undefined symbol: pixman_glyph_cache_create
Run Code Online (Sandbox Code Playgroud)
带有 Firefox 的终端说:
Xlib: extension "RANDR" missing on display ":1".
firefox: Fatal IO error 11 (Resource temporarily unavailable) on X server :1.
Run Code Online (Sandbox Code Playgroud)
经过几个小时的谷歌搜索,我发现第一行是一个警告,可以忽略,但我假设第二行必须连接到未定义的符号错误。我尝试从头开始重建实例(注意,需要在脚本中更新 Fox 的 URL) - 同样的错误。
任何帮助将不胜感激!
我正在尝试在 EC2 实例上挂载 EFS 文件系统。这是我在做什么:
ssh -i "MyKeyPair.pem" ec2-user@ec2-52-39-14-85.us-west-2.compute.amazonaws.com。然后我切换到超级用户和根目录。 sudo mount -t nfs4 -o nfsvers=4.1 $(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone).fs-7cb147d5.efs.us-west-2.amazonaws.com:/ /var/www/html 该命令在 2-3 分钟内什么都不做,然后给我这个错误:
mount.nfs4: Connection timed out
我查找了 EFS 的故障排除指南,其中建议:
我已允许以下类型的入站连接到我的默认组和另一个安全组:TCP、HTTP、HTTPS、SSH。
我用于 EFS 的 VPC 是默认的,对于 EC2,我同时使用自定义安全组和默认安全组(我已经编辑了两者以接受来自 TCP、HTTP、HTTPS、SSH 的入站连接)
目前,按照正常程序,我们在云网络的每个公共子网中都有一个堡垒服务器,我们尝试通过以下配置访问它 -
Host webserverA
User myuser
Hostname 192.168.1.10
ForwardAgent yes
Port 22
ProxyCommand ssh -q bastionA nc %h %p
IdentityFile ~/webserver.pem
Run Code Online (Sandbox Code Playgroud)
有没有办法让我将此模型扩展到拥有另一个堡垒服务器?
堡垒B -> 堡垒A -> 网络服务器A ?
原因是我想将其视为信任链。当发生相当糟糕的事件时删除某些内容。
CoT 我的意思是,如果一组用户离开,我们可以更改第一组密钥,以便我们可以阻止他们进一步访问。
我在 Mac OS X 和Amazon EC2实例之间使用了公钥身份验证,因此我可以从命令行输入以下内容,它可以工作:
ssh root@[IPAddressOfEC2Instance]
Run Code Online (Sandbox Code Playgroud)
奇怪的是,我似乎无法在 Finder 中使用“连接到服务器”来安装实例。
我尝试在“连接到服务器”对话框中输入以下服务器地址:
ftps://[IPAddressOfEC2Instance]
ftps://root@[IPAddressOfEC2Instance]
Run Code Online (Sandbox Code Playgroud)
但我得到的只是
您输入了无效的用户名或密码。请再试一次。
EC2 实例上的 root 用户的密码为空,我想知道是否与此有关。但是,我无法更改 root 用户的密码。
我可以使用SFTP客户端连接到机器,但我无法使用“连接到服务器”来安装它。它要求输入用户名和密码(对于注册用户),并且它不接受它是 root/[blank]。另一个选项是“访客”,它会在 Finder 中显示一个空文件夹。
ssh使用默认的ec2-user. 我正在尝试列出默认 postgresql 目录的内容:
里面有什么?
$ ls /var/lib/pgsql9/
ls: cannot open directory /var/lib/pgsql9/: Permission denied
Run Code Online (Sandbox Code Playgroud)
好的。谁拥有这个?
$ ls -l /var/lib | grep pgsql
drwx------ 4 postgres postgres 4096 Jun 22 16:06 pgsql9
Run Code Online (Sandbox Code Playgroud)
啊。傻我。
$ sudo -u postgres ls /var/lib/pgsql9/
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes …Run Code Online (Sandbox Code Playgroud) 我们正在使用 AWS ElasticBeanstalk 为我们的 Ruby on Rails 应用程序提供服务,并且最近启用了自动扩展。Auto Scaling 按预期工作,但有一小段时间,在 Auto Scaling 之后,一些新实例会导致502 Bad Gateway返回错误。
几分钟后,实例开始按预期工作。我不确定是什么导致了这种情况,我不知道该怎么做才能防止这种情况发生。
我的预感是,在 RoR 应用程序运行之前,该实例已在 ELB 上投入使用,但 nginx 不知道这一点。我能做些什么来检查和防止它吗?
我正在尝试在 EC2 微型实例上安装 software-properties-common 并收到以下错误:
$ sudo yum install software-properties-common
Loaded plugins: priorities, update-motd, upgrade-helper
amzn-main/latest | 2.1 kB 00:00
amzn-updates/latest | 2.3 kB 00:00
No package software-properties-common available.
Run Code Online (Sandbox Code Playgroud)
尝试安装 python-software-properties(不同操作系统版本的相同包)的结果相同。
所以我猜测amzn-updates和amzn-main包存储库不包含这些包中的任何一个,我可能需要添加一个存储库?
多逛逛后会回来报告。同时,欢迎输入更多内容。
我需要将文件从我的本地机器复制到 Amazon AWS Ubuntu 机器。
首先我试过这个:
scp -i learndeepai.pem sb_code.zip ubuntu@34.211.158.***
Run Code Online (Sandbox Code Playgroud)
一旦我执行这个,没有什么特别的事情发生,没有错误,我又回到了命令行,所以显然没有发生上传。当我尝试运行此命令时,实例正在运行,因此它应该能够连接到它。
然后我尝试了这个:
pscp scp -i learndeepai.pem sb_code.zip ubuntu@34.211.158.***
Run Code Online (Sandbox Code Playgroud)
这次得到了回应:
More than one remote source not supported
Run Code Online (Sandbox Code Playgroud)
如何将我的 zip 文件上传到我的 AWS 实例,似乎没有任何效果。我在 Windows 10 上并安装了 PuTTY scp。
我使用http://cmder.net/作为我的控制台
linux 新手,我刚刚安装了 AWS CLI 以及 Python3 和 boto3,但是当我尝试运行 AWS CLI 时出现此错误。
fdostuni@PG022:~$ sudo ./aws/install
You can now run: /usr/local/bin/aws --version
fdostuni@PG022:~$ aws --version
Traceback (most recent call last):
File "/usr/bin/aws", line 19, in <module>
import awscli.clidriver
File "/usr/lib/python3/dist-packages/awscli/clidriver.py", line 36, in <module>
from awscli.help import ProviderHelpCommand
File "/usr/lib/python3/dist-packages/awscli/help.py", line 23, in <module>
from botocore.docs.bcdoc import docevents
ImportError: cannot import name 'docevents' from 'botocore.docs.bcdoc' (/home/fdostuni/.local/lib/python3.8/site-packages/botocore/docs/bcdoc/__init__.py)
Run Code Online (Sandbox Code Playgroud) 我想为我现有的 Rails 应用程序设置 Elastic Beanstalk。
我成功地制作了示例 foo 应用程序。
这些是我的问题
我需要从我的 git 存储库而不是从我部署的本地路径进行部署。我如何为示例 foo 应用程序执行此操作。
git aws.push 命令似乎部署在新的 ec2 实例上。但是,它没有将更改推送到我的 git 存储库。在执行 git aws.push 之前,我应该单独执行 git push 吗?请注意,当我执行 git status 时,我的分支领先 1 个提交。aws 是否维护一个单独的 git 存储库?我怎样才能让它改用我的 git 存储库?
[mymac:~/Projects/new/foo(master)]$ git aws.push
Counting objects: 4949, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1115/1115), done.
Writing objects: 100% (4949/4949), 14.11 MiB | 1.90 MiB/s, done.
Total 4949 (delta 3800), reused 4944 (delta 3798)
remote:
To https://AKIAJZT3WFY2WLO6CHQQ:20121127T030627Zf56675b2f4c9c731ca6f51b11d36a438e8bcee25c5171061ce5ac681495318c9@git.elasticbeanstalk.ap-southeast-1.amazonaws.com/v1/repos/617069/commitid/39396162666436346439656465313537613561343561626465643931393366623762386265303138/environment/6170692d656e76
* [new branch] …Run Code Online (Sandbox Code Playgroud) amazon-ec2 ×5
linux ×4
ssh ×4
cloud ×1
command-line ×1
deployment ×1
firefox ×1
macos ×1
mount ×1
networking ×1
nginx ×1
permissions ×1
putty ×1
python ×1
rails ×1
scp ×1
sudo ×1
windows ×1
xvfb ×1