Korzystam z AMI Amazon Linux i wykonuję pewne niestandardowe modyfikacje (dodano serwer ax2, itp.) I zapisuję go jako nowy AMI. Teraz, gdy chcę załadować AMI, uruchom ax2server (tzn. Serwer.axis2 powinien automatycznie się uruchomić po uruchomieniu instancji). Do tego użyłem skryptu init, jak poniżej i prowadził następującą komendę:Dodawanie skryptu uruchamiania usługi dla usługi Amazon linux AMI
chkconfig --add axisservice
Ale kiedy uruchomi nową instancję z mojego obrazu, axis2server nie jest podręczny.
Po uruchomieniu wystarczy tylko uruchomić skrypt /home/ec2-user/axis2-1.6.1/bin/axis2server.sh. Czy tu czegoś brakuje?
#! /bin/sh
# Basic support for IRIX style chkconfig
###
# chkconfig: 235 98 55
# description: Manages the services you are controlling with the chkconfig command
###
case "$1" in
start)
echo -n "Starting axisservice"
touch ~/temp.txt
cd /home/ec2-user/axis2-1.6.1/bin
./axis2server.sh &
echo "."
;;
stop)
echo -n "Stopping axisservice"
echo "."
;;
*)
echo "Usage: /sbin/service axisservice {start|stop}"
exit 1
esac
exit 0
przeszedłem https://help.ubuntu.com/community/CloudInit jak dobrze i zapewnia mechanizm o nazwie Skrypty użytkownika danych, gdzie użytkownik może uruchomić skrypt przy uruchamianiu skryptu.
$ euca-run-instances --key mykey --user-data-file myscript.sh ami-axxxx
Jest to opcja wiersza poleceń i czego chcę jest coś takiego, kiedy uruchomić instancję za pośrednictwem interfejsu użytkownika, skrypt powinien być started.Therefore, myślę, że powyższa opcja nie może być używana w moim przypadku. Proszę, popraw mnie jeśli się mylę.
Dzięki H.
Aby sprawdzić podstawy, czy skrypt ma odpowiednie uprawnienia do uruchomienia przy starcie? Czy próbowałeś uruchomić go ręcznie? – David
Znalazłeś rozwiązanie? Chcę również uruchomić serwer Redis i plik node.js, gdy moja instancja zostanie ponownie uruchomiona. Wygląda na to, że Amazon AMI nie ma tutaj zainstalowanego update-rc.d. – user482594