Мне нужно установить python3 и django через пользовательские данные на экземплярах EC2. Я знаю, что могу сделать это с помощью Cloudformation или непосредственно в EC2, но мне нужно установить и развернуть его с помощью пользовательских данных. Я создаю VPC и autoscaler, но мне нужно автоматизировать установку и развертывание python3 и django автоматически.
Вот что у меня есть, но, похоже, оно не работает.
UserData="""#!/bin/bash
yum install httpd php php-mysql -y
echo y | sudo yum install python36 python36-virtualenv python36-pip
sudo pip install --upgrade pip
python3 -m venv venv
source ./venv/bin/activate
pip install django
pip install --upgrade pip
yum update -y
service httpd start
chkconfig httpd on
adduser Eteram
Я пытался заключить их в двойные кавычки, но все еще не работает.
Я в основном пытаюсь установить python3 и django и развернуть тестовое приложение, чтобы иметь возможность перейти к URL администратора django.
Если я запускаю вышеупомянутые команды на EC2, он работает нормально. Но когда я включаю его в данные пользователя, после того, как я вхожу в EC2 и проверяю журнал инициализации облака, я вижу следующее:
/var/lib/cloud/instance/scripts/part-001: line 3: echo y | sudo yum install python36 python36-virtualenv python36-p
ip: command not found
/var/lib/cloud/instance/scripts/part-001: line 4: sudo pip install --upgrade pip: command not found
/var/lib/cloud/instance/scripts/part-001: line 5: python3 -m venv venv: command not found
/var/lib/cloud/instance/scripts/part-001: line 6: source ./venv/bin/activate: No such file or directory
/var/lib/cloud/instance/scripts/part-001: line 7: pip install django: command not found
/var/lib/cloud/instance/scripts/part-001: line 8: pip install --upgrade pip: command not found