--Je veux créer et publier un serveur Web avec Python --Je souhaite créer un serveur API qui utilise le deep learning
J'ai fait beaucoup de recherches pour construire un serveur API en utilisant Flask dans Hackason, donc je l'ai résumé depuis le début.
#Installez apache2#
$ sudo apt install apache2 apache2-dev
#Installation de Python#
$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
#Le dernier paramètre affiché~/.Décrit en bashrc
#Afficher les versions anaconda installables
$ pyenv install -l | grep anaconda
#Installer anaconda
$ pyenv install anaconda3-5.3.1
#Activer anaconda
$ pyenv global anaconda3-5.3.1
#Créer un environnement pour anaconda
$ conda create -n <hoge> python=3.6
$ conda activate <hoge>
# flask, mod_installation wsgi
$ conda install flask
$ pip install mod_wsgi
Créez un répertoire flask_app
sous` / var / www / ʻet placez les fichiers suivants.
/var/www/flask_app/app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, Flask!"
if __name__ == "__main__":
app.run(host='0.0.0.0')
/var/www/flask_app/adapter.wsgi
import sys
sys.path.insert(0, '/var/www/flask_app')
from app import app as application
/etc/apache2/conf-available/flask.conf
LoadModule wsgi_module /home/<user>/.pyenv/versions/anaconda3-5.3.1/envs/<hoge>/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so
WSGIPythonHome /home/<user>/.pyenv/versions/anaconda3-5.3.1/envs/<hoge>/
<VirtualHost *:80>
ServerName <server-ip>:80
DocumentRoot /var/www/flask_app
WSGIDaemonProcess flask_app user=<user> group=<user> threads=5
WSGIScriptAlias / /var/www/flask_app/adapter.wsgi
<Directory "/var/www/flask_app/">
WSGIProcessGroup flask_app
WSGIApplicationGroup %{GLOBAL}
WSGIScriptReloading On
Require all granted
</Directory>
</VirtualHost>
Ce qui précède n'est qu'un exemple.
Veuillez compléter les parties de «
Si vous exécutez la commande suivante après avoir activé l'environnement dans lequel flask est installé, le répertoire dans lequel le package est installé apparaîtra.
$ python -c "import sys; print(sys.path)"
Recherchez mod_wsgi dedans et vérifiez le chemin. Ne vous y trompez pas lorsque vous complétez des onglets
$ ls /home/<user/.pyenv/versions/anaconda3-5.3.1/envs/<hoge>/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so
$ sudo a2enconf flask
$ sudo systemctl restart apache2.service
Accédez à http: // <serveur-ip>
avec un navigateur. (Notez que ce n'est pas https)
Si «Hello, Flask!» S'affiche, cela signifie que l'opération réussit.
--Vérifiez si le port 80 de la machine virtuelle est ouvert --Il devrait être possible de définir à partir de la console du serveur
$ sudo systemctl status apache2.service
$ sudo tail /var/log/apache2/error.log
Future work