Proyecto Flask de implementación del servidor en la nube de Alibaba
Cuando ejecutamos hello.py a continuación, utilizamos el servidor que viene con flask para completar el inicio del servicio web. En el entorno de producción, el servidor que viene con flask no puede cumplir con los requisitos de rendimiento. Usamos Gunicorn como contenedor wsgi para implementar el programa flask. Gunicorn (Green Unicorn) es un servidor HTTP Python WSGI. Portado del proyecto Unicorn de Ruby. El servidor Gunicorn es compatible con varios frameworks web y es muy sencillo de implementar y liviano en términos de consumo de recursos. Gunicorn se inicia directamente con comandos y no requiere escribir archivos de configuración. Es mucho más fácil que uWSGI.
Distinguir varios conceptos:
WSGI: El nombre completo es Web Server Gateway Interface (interfaz de puerta de enlace del servidor web. Es una especificación que es un enlace entre servidores web y aplicaciones web). interfaz. Actúa como un puente entre el servidor web y el marco de la aplicación web.
uwsgi: es un protocolo de transmisión utilizado para definir el tipo de información transmitida.
uWSGI: Es un servidor web que implementa WSGI del protocolo uwsgi.
Nuestro método de implementación: nginx gunicorn flask
En desarrollo web, el método de implementación es más o menos similar. En pocas palabras, el proxy front-end utiliza Nginx principalmente para realizar descargas, reenvíos, equilibrio de carga y compartir la presión sobre el servidor. Nginx es fácil de implementar, consume menos memoria y tiene un bajo costo. Nginx se puede utilizar como proxy directo y proxy inverso.
Proxy de reenvío: La solicitud se envía desde la LAN a través del servidor proxy y luego llega al servidor en Internet.
Características: El servidor no sabe quién es el cliente real.
Proxy inverso: la solicitud se envía desde Internet, primero ingresa al servidor proxy y luego se reenvía al servidor en la LAN.
Características: El cliente no sabe quién es el servidor real.
Diferencia: El objeto del proxy de reenvío es el cliente. El objeto del proxy inverso es el servidor.
Ver opciones de línea de comando: después de instalar gunicorn con éxito, puede ver la información de uso de gunicorn a través de la línea de comando.
Ejecutar directamente:
Especificar el proceso y número de puerto: -w: indica el proceso (trabajador). -b: indica la dirección IP vinculante y el número de puerto (vinculación). --access-logfile: indica la ruta del archivo de registro especificado
Se ejecuta como un demonio en segundo plano:
Alibaba Cloud Server se instala en el directorio /user/sbin/ mediante default Ingrese al directorio e inicie ngnix:
Configurar Nginx en Ubuntu también es muy simple. No cambie el nginx.conf predeterminado, simplemente reemplace el archivo /etc/nginx/sites-available/default.
Cree un nuevo archivo predeterminado y agregue el siguiente contenido:
Reinicie nginx después de que se complete la modificación.
Otra forma de configurar Nginx en Ubuntu es ir a la carpeta /etc/nginx/conf.d y crear un nuevo archivo xxx.conf (xxx puede ser el nombre del proyecto, siempre y cuando sea un .conf), escriba el siguiente contenido:
Cuando necesite monitorear solicitudes https, escriba el siguiente contenido: