Es gibt einen Fall, in dem Sie die in Coud9 verwendete Kolben-App auf EC2 ausführen und den Vorgang überprüfen möchten. Lassen Sie das Verfahren zu diesem Zeitpunkt als Referenz.
Dieser Vorgang wird voraussichtlich in 60 Minuten abgeschlossen sein.
Apache Httpd ist standardmäßig in Cloud 9 installiert. Daher wird nur die Einstellung für den automatischen Start eingegeben.
--Überprüfen Sie den aktuellen Status der Starteinstellungen
$ sudo chkconfig --list httpd
--Auto Start Einstellung
$ sudo chkconfig httpd on
--Überprüfen Sie die Einstellungen
$ sudo chkconfig --list httpd
--Installieren Sie apache-dev und gcc
$ sudo yum -y install httpd24-devel
$ sudo yum -y install gcc
--Pip-Versions-Upgrade
Die ursprünglich in Cloud 9 enthaltene Version von pip ist alt. Aktualisieren Sie sie daher.
$ sudo pip install --upgrade pip
Ich habe auf den folgenden Artikel verwiesen. Wenn Sie den von Anfang an in Cloud 9 integrierten Pip aktualisieren Wenn Sie den Hash nicht aktualisieren, wird eine Fehlermeldung angezeigt, dass der Befehl nicht gefunden werden kann. Führen Sie daher die folgenden Schritte aus. Referenz: https://qiita.com/kantoku_305/items/6e22e86bba266a650415
$ hash -r
--Installation von mod-wsgi
$ pip install mod-wsgi
--Überprüfen Sie die Importreferenz
Gehen Sie von hier aus wie folgt vor, um den Speicherort für mod-wsgi zu ermitteln.
$ python -c "import sys; print(sys.path)"
['', '/usr/lib64/python3.6', '/usr/lib64/python3.6/lib-dynload', '/home/ec2-user/.local/lib/python3.6/site-packages', '/usr/local/lib64/python3.6/site-packages', '/usr/local/lib/python3.6/site-packages', '/usr/lib64/python3.6/dist-packages', '/usr/lib/python3.6/dist-packages']
--Suchen Sie mit dem Befehl find
$ find /usr/lib64/python3.6 -name mod_wsgi
$ find /home/ec2-user/.local/lib/python3.6/site-packages -name mod_wsgi
/home/ec2-user/.local/lib/python3.6/site-packages/mod_wsgi
Dadurch wird es in "/home/ec2-user/.local/lib/python3.6/site-packages/mod_wsgi" geändert. Es stellte sich heraus, dass es gespeichert war. Danach wird der Speicherort von mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so mit einem absoluten Pfad verwendet Notieren Sie sich Folgendes. 「/home/ec2-user/.local/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so」
$ pip install flask
--Erstellen eines Kolbenmoduls
$ vi ~/environment/flask/main.py
↓ Das Folgende ist der Inhalt der Datei
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, Flask!"
if __name__ == "__main__":
app.run()
--Erstellen einer Einstellungsdatei für wsgi
$ vi ~/environment/flask/adapter.wsgi
↓ Das Folgende ist der Inhalt der Datei
# coding: utf-8
import sys
sys.path.insert(0, '/var/www/cgi-bin/flask')
from main import app as application
--Erstellen Sie ein Verzeichnis für den Kolben an einem Ort, auf den in Cloud9 leicht zugegriffen werden kann
$ mkdir ~/environment/flask
--Erstellen Sie das Apache-Dokumentstammverzeichnis
$ sudo mkdir /var/www/cgi-bin/flask
$ mkdir ~/environment/flask/tools
$ vi ~/environment/flask/tools/deploy.sh
↓ Das Folgende ist der Inhalt der Datei
sudo cp -ra /home/ec2-user/environment/flask/* /var/www/cgi-bin/flask
sudo service httpd restart
Führen Sie die Shell nach dem Erstellen aus und platzieren Sie das Modul.
$ sh ~/environment/flask/tools/deploy.sh
--Erstellen Sie eine Apache-Konfigurationsdatei
$ sudo vi /etc/httpd/conf.d/flask.conf
↓ Inhalt der Datei
LoadModule wsgi_module /home/ec2-user/.local/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so
<VirtualHost *:80>
ServerName flask
DocumentRoot /var/www/cgi-bin/flask
WSGIScriptAlias / /var/www/cgi-bin/flask/adapter.wsgi
<Directory "/var/www/cgi-bin/flask/">
options -Indexes +FollowSymLinks +ExecCGI
</Directory>
</VirtualHost>
sudo service httpd restart
EC2-Dashboard> Wählen Sie EC2 für Cloud9> Sicherheitsgruppe> Eingehend
EC2-Dashboard> Wählen Sie EC2 für Cloud9> Öffentliche IP prüfen und Greifen Sie über Ihren Browser auf "http: // [Public IP] /" zu.
Es reicht aus, wenn "Hallo, Flasche!" Wie unten gezeigt angezeigt wird.
Wenn ein Fehler auftritt, überprüfen Sie das Apache-Protokoll (unter var / log / httpd). Auf Fehler prüfen.
Bis zu diesem Zeitpunkt konnte ich die Kolben-App auf Cloud9 ausführen und über den Browser überprüfen.