Je l'ai recherché en 2014 et j'ai personnellement dit qu'il s'agissait du paramètre du serveur API Python.
Mettez nginx sur le devant et utilisez gunicorn pour que le serveur d'applications inverse le proxy.
C'est un peu vieux, mais j'ai décidé de cela en me référant à instagram. INGÉNIERIE INSTAGRAM
Un mémo lors du réglage sur AWS EC2.
Installé à l'aide de pip sur virtualenv. J'utilise virtualenv parce que je n'aime pas que yum reste bloqué quand je joue avec Python sur le système d'exploitation, et je veux augmenter la version de Python.
Je ne suis pas très familier avec cela, mais je me suis inscrit pour upstart.
Décrivez le fichier de paramètres suivant.
/etc/init/myapp.conf
description "[APP NAME] API Server"
start on runlevel [2345]
stop on runlevel [016]
respawn
script
su - www
/home/www/[APP NAME]/virtualenv/bin/gunicorn -b 127.0.0.1:8000 -w 4 -u www --chdir /home/www/[APP NAME]/server/python --log-file /home/www/[APP NAME]/logs/error_log --pythonpath /home/www/[APP NAME]/server/python server:application
end script
Au moment de centos7, upstart n'est pas inclus, alors réglez-le sur systemctl. Vous pouvez le trouver sur le site Gunicorn, y compris le fichier de configuration.
Référence: Deploying Gunicorn --Gunicorn 19.3.0 documentation
Installez avec yum.
fichier de configuration nginx.
/etc/nginx/nginx.conf
user www;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
sendfile on;
keepalive_timeout 65;
include /etc/nginx/conf.d/*.conf;
index index.html;
upstream app_server {
server 127.0.0.1:8000 fail_timeout=0;
}
server {
listen 80;
server_name [DOMAIN];
root /home/www/[APP NAME]/server/html;
access_log /var/log/nginx/[APP NAME].access.log main;
location / {
try_files $uri @proxy_to_app;
}
location @proxy_to_app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://app_server;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}
Les principaux paramètres sont les deux suivants.
Recommended Posts