Implementar el proyecto del sistema de gestión de bibliotecas

 

Implementar el proyecto del sistema de gestión de bibliotecas

 

 

Preparación de la implementación

Utilizará el siguiente software para implementar el proyecto de gestión de libros

  • nginx
  • uWSGI
  • CentOS7
  • Implementar archivos de proyectos de administración de bibliotecas
  • virtualenv
  • supervisor

MIÉRCOLES

El desarrollo del servidor web Python utiliza el protocolo WSGI (Interfaz de puerta de enlace del servidor web)

El proyecto web de Python generará un archivo wsgi.py de forma predeterminada y determinará el módulo de la aplicación.

El entorno de producción utiliza uWSGI, que implementa todas las interfaces WSGI, está escrito en lenguaje C y es un servidor web altamente eficiente.

uWSGI es un servidor HTTP con todas las funciones, que implementa el protocolo WSGI, el protocolo uwsgi, el protocolo http, etc. Lo que tiene que hacer es convertir el protocolo HTTP en un protocolo de red compatible con el idioma. Por ejemplo, el protocolo HTTP se convierte al protocolo WSGI para que Python se pueda utilizar directamente.

Nginx

Nginx se utiliza para su función de proxy inverso El proyecto se implementará en el servidor a través de Django + uWSGI + Nginx.

CentOS

1. Empaque la carpeta CRM del proyecto, archivo comprimido

2. Cargue archivos al servidor Centos a través de xftp, scp, lrzsz, etc.

Habilidades de uso de Linux

1. Opere su linxu con múltiples terminales a través de software como xshell o iTerm, de modo que al depurar uwsgi, nginx y el código del proyecto, pueda evitar cambiar de directorio y mejorar la eficiencia del trabajo.

2. Tenga en cuenta que si modifica el archivo de configuración del software de Linux, debe reiniciar el servicio para que surta efecto.

Virtualenv

Se recomienda crear un entorno de intérprete de Python limpio y aislado para evitar dependencias y conflictos de software.

Supervisor

Supervisor (http://supervisord.org/) es un servicio cliente / servidor desarrollado en Python, es una herramienta de gestión de procesos en sistemas Linux / Unix y no es compatible con sistemas Windows. Puede monitorear, iniciar, detener y reiniciar fácilmente uno o más procesos. Cuando un proceso es administrado por un supervisor, cuando un proceso se mata accidentalmente, supervisort lo volverá a extraer automáticamente después de que detecte que el proceso ha muerto. Es muy conveniente lograr la función de recuperación automática del proceso, ya no es necesario escribir un script de shell para controlarlo.

 

Iniciar implementación

1. Familiarizado con el funcionamiento de Linux

operación de comando básico de linux, omitir ...

 

2. Instalación del intérprete de python3

Blog de referencia: https://www.cnblogs.com/tiger666/articles/10312522.html

 

3. Configure la herramienta virtualenvwrapper para resolver problemas del entorno virtual

# Confirmar ~ / .bashrc virtualenvwrapper dispuesto dentro del perfil 
WORKON_HOME = ~ / Envs que 
VIRTUALENVWRAPPER_VIRTUALENV_ARGS = ' --no-Site-Packages ' 
VIRTUALENVWRAPPER_PYTHON = / opt / python36 / bin / a python3 
Source / opt / python36 / bin / a python3 

# Crear y activar un entorno virtual para el proyecto del sistema de gestión de libros 
mkvirtualenv book_manage_env

 

4. Instale y configure la base de datos MariaDB, cree datos de la base de datos y migre los datos importados al sistema de administración de la biblioteca.

(1) Instale e inicie la base de datos MariaDB

Bajo CentOS7, MariaDB es la base de datos mysql, pero el nombre del paquete es diferente

# Use yum para descargar e instalar mariadb 
yum install MariaDB MariaDB-Client-Server - el y- 

# start mariadb server 
systemctl start mysql

(2) Conectar y autorizar el acceso remoto del usuario root

# Utilice el cliente para vincular el servidor 
mysql mysql-uroot-- el p-landed en MariaDB Linux 

# Nota 1, base de datos linux, necesita configurar un enlace remoto a los privilegios del usuario root, la contraseña es qishi3q 
Conceder todos los privilegios a root @ * ON *. ' % ' IDENTIFICADO por ' qishi3q ' ;
 # autorizar todos los derechos, en todas las bibliotecas, todas las tablas para el usuario root en todos los hosts, configurar los permisos, la contraseña es qishi3q 
# actualizar la autorización del formulario 
flush privilegios; 

Nota 2, linux firewall y selinux Debe estar cerrado, de lo contrario el puerto 3306 de windows para enlazar a linux puede ser rechazado

(3) Importar los datos del proyecto de gestión de libros

 

En el servidor linux, mysql, la importación de datos del sistema de administración de bibliotecas 

# 1, la exportación e importación de datos mysql 
es este comando en linux / knock windows en 
mysqldump -u root -p --all-Databases>   book_manage.dump   

# 2 

.Sube este archivo de datos a la base de datos de linux # 3. En mysql de linux, importe este archivo de datos (necesita especificar la base de datos en el archivo de volcado: use szday58) 
mysql -u root -p </ opt / book_manage.dump
 # o ingrese mysql Para ingresar la base de datos, use el comando: 
source /opt/book_manage.dump

 

5. Ingrese al entorno virtual y ejecute el proyecto

La prueba utiliza el intérprete de linux python para ejecutar el proyecto y cambiar al proyecto para ejecutar (tenga en cuenta que el problema del módulo del intérprete debe resolverse para ejecutar el proyecto normalmente)

# 127.0.0.1 no funciona, solo se puede acceder desde esta máquina, si desea que todos accedan, debe usar 0.0.0.0 
python3 manage.py runserver 0.0.0.0:8000

Luego puede acceder a través del puerto IP plus. Si esta IP es la IP de mi servidor en la nube, entonces cuando vayamos a la entrevista, podemos llevar este proyecto al entrevistador y mostrarlo en la computadora. Es tan convincente ~

 

Easter egg : Ahora hay un problema. Solo podemos acceder al proyecto a través de 10.0.0.7:8000, pero el sitio web público no es así . Por ejemplo, se accede a Luffy School City a través del nombre de dominio, y también podemos resolver el Luffy School City. Se puede acceder a la IP del servidor del sitio web a través de la dirección, pero no se ha agregado ningún puerto porque el puerto predeterminado es 80

Aunque podemos cambiar directamente el puerto a 80 y no hay problema, entonces el problema está aquí: 

1 Django ejecuta la interfaz web de forma predeterminada utilizando el módulo independiente wsgiref, el rendimiento será relativamente bajo, ¿qué debo hacer?

uwsgi + django + nginx

2 Si queremos ejecutar otro proyecto para proporcionar servicios externos, ¿qué debemos hacer? El servidor solo tiene un puerto 80, como solucionarlo

nginx + uwsgi + supervisor + django

 

 




-Complete la instalación y configuración de nginx, comprenda cómo configurar nginx.conf -Complete el aprendizaje del comando uWSGI, use uWSGI para iniciar el proyecto de caballero, soporte multiproceso -Complete

nginx para procesar los archivos estáticos del proyecto de administración de libros

-El El efecto final

se puede encontrar visitando el puerto 80 de la página de administración de libros nginx y asegúrese de que la página del archivo estático sea normal

 

Supongo que te gusta

Origin blog.csdn.net/qq_45533926/article/details/111808714
Recomendado
Clasificación