Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 测试AWS弹性豆茎结垢_Python_Amazon Web Services_Mysql Python_Amazon Elastic Beanstalk - Fatal编程技术网

Python 测试AWS弹性豆茎结垢

Python 测试AWS弹性豆茎结垢,python,amazon-web-services,mysql-python,amazon-elastic-beanstalk,Python,Amazon Web Services,Mysql Python,Amazon Elastic Beanstalk,我已经在elastic beanstalk中设置了一个服务器。如果需要,应该将实例数从1增加到4。然而,我有一种潜在的怀疑,即当它启动一个新实例时,该实例将不会被正确配置,因为我无法在没有ssh的情况下安装Python的mySQL模块并手动设置它,如所示 所以我的第一个问题是,测试弹性豆茎是否正确伸缩的最佳方法是什么?如果启动了新实例,如何确保看到的是一个新实例,而不是手动配置的原始实例 我的第二个问题是,如果这是一个我怀疑的问题,我该如何解决它?我可以“克隆”我的工作实例并在需要时成功复制它们

我已经在elastic beanstalk中设置了一个服务器。如果需要,应该将实例数从1增加到4。然而,我有一种潜在的怀疑,即当它启动一个新实例时,该实例将不会被正确配置,因为我无法在没有ssh的情况下安装Python的mySQL模块并手动设置它,如所示

所以我的第一个问题是,测试弹性豆茎是否正确伸缩的最佳方法是什么?如果启动了新实例,如何确保看到的是一个新实例,而不是手动配置的原始实例

我的第二个问题是,如果这是一个我怀疑的问题,我该如何解决它?我可以“克隆”我的工作实例并在需要时成功复制它们吗?我该怎么做

非常感谢,亚历克斯

更新:在收到joker非常有用的建议后,我将其添加到
myapp.config
文件中:

container_commands:
    install_MySQL-python:
        command: /opt/python/run/venv/bin/easy_install MySQL-Python==1.2.3
如您所见,我遇到的问题是MySQL-Python无法使用
pip
正确安装,我不得不使用
easy\u install
。这意味着它无法通过用于所有其他python依赖项的
requirements.txt
文件安装。通过将上面添加的命令放入my
.ebextensions
文件夹中的配置文件,在启动实例时就可以完成此操作,而不必通过ssh连接到每个实例中

作为旁注,您不必在上面的命令中包含“sudo”,即使您在通过ssh实现相同功能时也需要这样做。事实上,一开始我把它放在那里,但它不起作用

非常感谢小丑。

亚历克斯

我认为你的怀疑是对的。对正在运行的EC2实例所做的任何配置更改都不会自动显示在新实例上

关于你的第一个问题:

测试系统如何在多服务器环境中工作的最简单方法可能是更改Elastic Beanstalk AWS控制台配置部分的自动缩放部分中的参数
最小实例数。例如,将此参数设置为2

(查看新服务器如何启动的另一种方法是简单地终止当前EC2实例。只需在正在运行的实例上选择操作<代码>停止。负载平衡器应该检测到这一点,并在运行状况从绿色变为红色后自动为您部署新实例。)

第二个问题:

解决这个问题的最好办法是。创建
.config
文件以设置所需的库并对新实例执行配置更改

祝你好运

亚历克斯

我认为你的怀疑是对的。对正在运行的EC2实例所做的任何配置更改都不会自动显示在新实例上

关于你的第一个问题:

测试系统如何在多服务器环境中工作的最简单方法可能是更改Elastic Beanstalk AWS控制台配置部分的自动缩放部分中的参数
最小实例数。例如,将此参数设置为2

(查看新服务器如何启动的另一种方法是简单地终止当前EC2实例。只需在正在运行的实例上选择操作<代码>停止。负载平衡器应该检测到这一点,并在运行状况从绿色变为红色后自动为您部署新实例。)

第二个问题:

解决这个问题的最好办法是。创建
.config
文件以设置所需的库并对新实例执行配置更改


祝你好运

太好了。配置文件是一种方法。非常感谢,太好了。配置文件是一种方法。谢谢。