Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 9400|Respuesta: 9

Despliega el foro de Discuz usando la instalación de Docker

[Copiar enlace]
Publicado el 28-11-2021 19:21:35 | | | |
Prepárate para migrar el foro a una aplicación de entorno Docker; para facilitar la migración posterior, simplemente introduce algunos comandos para migrar los datos anteriores del foro al nuevo servidor. Este artículo utiliza Docker para crear un nuevo foro de Discuz y tantear el terreno.

Para el tutorial sobre cómo instalar Docker en un entorno Linux, por favor consulta lo siguiente:

Instalar contenedores Docker en CentOS 7
https://www.itsvse.com/thread-9999-1-1.html

Problema de conflicto de paquetes en Docker al instalar CentOS 8
https://www.itsvse.com/thread-10115-1-1.html
Instala la aplicación MySQL

Instala la versión 5.7.34 de MySQL Database con el siguiente comando:

Una vez completada la ejecución, puedes acceder al puerto IP:3306 de la máquina anfitriona, y tanto la cuenta como la contraseña son :root

Instala la app phpMyAdmin

phpMyAdmin es una herramienta de software libre escrita en PHP diseñada para gestionar la administración de MySQL a través de la web. phpMyAdmin soporta una amplia gama de operaciones con MySQL y MariaDB. Las operaciones frecuentes (gestión de bases de datos, tablas, columnas, relaciones, índices, usuarios, permisos, etc.) pueden realizarse a través de la interfaz de usuario, mientras que puedes seguir ejecutando cualquier sentencia SQL directamente.

El comando es el siguiente:

Una vez completada la ejecución, puedes acceder a la IP:8081 del host a través de un navegador e introducir la cuenta y la contraseña MySQL, como se muestra en la figura siguiente:



Instala la app Redis

Como Discuz puede configurar parte del contenido para almacenar en caché en redis, mejorando así la velocidad de acceso y el rendimiento, es muy útil para los webmasters que lo necesiten, instalar la app de redis con el siguiente comando:

Instalar el servicio FTP

Discuz puede subir archivos adjuntos a servidores remotos mediante protocolo FTP, los archivos adjuntos de foros (imágenes) pueden accederse mediante nombres de dominio de segundo nivel, y los nombres de dominio de segundo nivel pueden acelerarse mediante CDN para mejorar la velocidad de carga de los sitios web.

Crea un nuevo directorio /data/wwwroot/ftp_data para almacenar el contenido adjunto y utiliza el siguiente comando:

El comando para instalar el servicio FTP usando Docker es el siguiente:

La cuenta FTP y la contraseña son: dz_itsvse/a123456

Nota: Asegúrate de establecer el parámetro LOCAL_UMASK, si no.nginx informará de un error 403 sin permiso al acceder

Sube el programa Discuz a la máquina anfitriona

Crea un nuevo directorio /data/wwwroot/discuz y guárdalo en el programa del sitio, con el siguiente comando:

Después de subir, como se muestra a continuación:



Instala la app php-fpm

Crea una nueva carpeta de configuración php en la máquina anfitriona y el comando es el siguiente:

Por primera vez¡Puedes usar el archivo adjunto de mi publicación, no hace falta que lo hagas!Necesitas iniciar un contenedor php-fpm y usar el comando cp docker para copiar la configuración al directorio de mapeo del host con el siguiente comando:

Inicia una app php-fpm usando docker

Después de iniciar el contenedor, necesitas entrar dentro del contenedor para instalar algunas extensiones php, como: GD, mysql, redis, etc.; de lo contrario, no podrás conectarte a la base de datos, usar la caché Redis, procesar imágenes, etc.

Utiliza el siguiente comando para entrar en el contenedor:


Introduce el contenedor y ejecuta el siguiente comando:

Para información sobre la instalación de extensiones de GD y Redis, consulte los siguientes artículos:

Instala la extensión GD basada en la imagen php:5.6.40-fpm de Docker
https://www.itsvse.com/thread-10175-1-1.html

Instala la extensión Redis basada en la imagen php:5.6.40-fpm de Docker
https://www.itsvse.com/thread-10176-1-1.html
Después de instalar la extensión, necesitas reiniciar el contenedor php5-fpm para que haga efecto.

Vuelve a entrar en el contenedor de php5 fpm,Modificar los usuarios y grupos atribuibles en el directorio /data/wwwroot/discuz, de lo contrario no se leerá ni ejecutará con php-fpm! ¡La página se quedará en blanco! El comando es el siguiente:

En el directorio /data/wwwroot/discuz, crea un nuevo archivo phpinfo.php con el siguiente comando:

php.ini Los ajustes de optimización más importantes son los siguientes:


Contenedor PHP-FPM por defectoAjuste php-fpmLos parámetros, así como la configuración para establecer el php.ini (zona horaria, límite máximo de subida de archivos, etc.), pueden referirse a:

[Práctica] Consulta la información de estado de php-fpm a través de Nginx
https://www.itsvse.com/thread-10180-1-1.html

Nginx reverse proxy php-fpm

Instalé el servicio nginx directamente en la máquina anfitriona, y no lo instalé usando docker; puedes referirte a la instalación de la siguiente manera:

Instalar el servicio nginx con el código fuente de CentOS
https://www.itsvse.com/thread-10058-1-1.html
La configuración principal de nginx.conf es la siguiente:

Prueba de acceso al navegador:http://dev.itsvse.com:8099/phpinfo.php, como se muestra en la figura siguiente:



Empieza a instalar Discuz

Lo anterior son todas las preparaciones: prepara mysql, ftp, redis, nginx, php-fpm, etc., y luego comienza la instalación real, accede a:http://dev.itsvse.com:8099/, como se muestra en la figura siguiente:



Configura una conexión a una base de datos MySQL como se muestra en la siguiente figura:



La instalación está completa, como se muestra a continuación:



Configura el conector remoto para la prueba, como se muestra a continuación:



Comprueba si la marca de agua en la imagen es normal, como se muestra a continuación:



Modifica la configuración /data/wwwroot/discuz/config/config_global.php para usar caché Redis y configúrala de la siguiente manera:



Inicia sesión en el contenedor Redis y comprueba si los datos están almacenados en caché, como se muestra en la siguiente imagen:



Publica para comprobar si la función de conexión remota funciona correctamente, como se muestra en la figura de abajo:




phpconfig.zip El archivo es el siguiente:

Turistas, si queréis ver el contenido oculto de esta publicación, por favorRespuesta


(Fin)





Anterior:[Práctica] Consulta la información de estado de php-fpm a través de Nginx
Próximo:Spring Boot obtiene a todos los usuarios del dominio AD (LDAP).
 Propietario| Publicado el 29-11-2021 17:58:10 |
Cierra el mensaje php X-Powered-By
https://www.itsvse.com/thread-2092-1-1.html
 Propietario| Publicado el 3-12-2021 13:27:16 |
Entidad de solicitud de Resolve 413 demasiado grande



El cuerpo de la solicitud por defecto en Nginx es 1M, edita el archivo de configuración nginx.conf y añade la siguiente configuración a http{}:



 Propietario| Publicado el 13-11-2022 14:39:13 |
phpmyadmin Puedes especificar el host MySQL en las variables de entorno PMA_host. También puedes usar PMA_PORT el puerto del servidor especificado en caso de que no sea el puerto predeterminado:


El host 'xxx' no puede conectarse a este servidor MySQL
https://www.itsvse.com/thread-7735-1-1.html
Publicado el 31-05-2023 16:51:50 |
Motivo para estudiar este artículo: Requiere el foro de despliegue de Docker de la máquina intranet. Necesito mirar la línea de comandos.
Además: gracias al autor por publicarlo.
Publicado el 14-6-2023 16:25:45 |
¿Por qué no puedo introducir la página correspondiente cuando uso mi IP y añadir el número de puerto para reportar el error 502?
Es la primera vez que uso Docker, así que no lo conozco muy bien. Por favor, gracias.
Publicado el 16-6-2023 13:26:28 |
Almarc Publicado el 14-6-2023 a las 16:25
¿Por qué no puedo introducir la página correspondiente cuando uso mi IP y añadir el número de puerto para reportar el error 502?
Es la primera vez que uso Docker, así que no lo conozco muy bien. Por favor, gracias. ...

El problema es que es necesario usar herramientas para acceder a MySQL, yo pensaba que era navegación web directa.
Además, se reporta un error al instalar php-rpm, como se muestra en la figura de abajo; por favor, pregunta al maestro de altar cómo solucionarlo:
ERROR: failed to open configuration file '/usr/local/etc/php-fpm.conf': No such file or directory (2)
ERROR: failed to load configuration file '/usr/local/etc/php-fpm.conf'
ERROR: FPM initialization failed
Gracias
Publicado el 26-3-2024 17:20:18 |
El tutorial es bueno
 Propietario| Publicado el 27-03-2024 08:27:39 |
Prompts de actualización del repositorio Debian con un error 404
https://www.itsvse.com/thread-10698-1-1.html
 Propietario| Publicado el 20-9-2025 21:08:42 |
PHP-FPM para cerrar la salida del registro de solicitudes, edito: /php-fpm.d/www.conf
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com