Directorio de artículos
¿Sigues modificando manualmente las plantillas PHP para cada dominio de HestiaCP ? Este tutorial te guiará paso a paso para crear plantillas PHP-FPM personalizadas y aplicarlas a todos tus sitios web con un solo clic. Incluye código de configuración completo y scripts automatizados para ayudarte a evitar tareas repetitivas y optimizar el rendimiento del servidor.
¿Qué es el dolor? Es cuando estás modificando plantillas PHP para docenas de sitios web uno por uno en el panel HestiaCP, tienes los dedos entumecidos de tanto teclear, te duelen los ojos de tanto mirar, pero sabes en el fondo que es solo un trabajo repetitivo e interminable.
Los verdaderos maestros jamás perderían el tiempo en operaciones tan mecánicas.
Este artículo pretende solucionar completamente este problema, permitiéndole utilizar un script para realizar cambios por lotes con un solo clic y generar automáticamente informes de detección, llevando la eficiencia a un nuevo nivel.

⚠️ La plantilla PHP-FPM predeterminada de HestiaCP será sobrescrita.
En HestiaCP, la plantilla PHP-FPM predeterminada se sobrescribe durante las actualizaciones del sistema.
Esto significa que si modificas directamente la plantilla predeterminada, es posible que se borre en la próxima actualización.
Por lo tanto, la mejor práctica es copiar la plantilla predeterminada y crear una versión personalizada, por ejemplo:
custom-PHP8_4.tplcustom-PHP8_5.tpl
De esta forma, la configuración se conservará a largo plazo y no se sobrescribirá.
Según la documentación oficial de HestiaCP, el mecanismo de plantillas permite a los usuarios... /usr/local/hestia/data/templates/web/php-fpm/ Puedes crear y gestionar libremente plantillas personalizadas siguiendo esta ruta (Fuente: documentación oficial de HestiaCP).
🛠️ Preparando una plantilla personalizada
Debes copiar la plantilla predeterminada y modificar los parámetros.
Se recomienda seleccionar la última versión de PHP como sistema predeterminado en HestiaCP. Esto evitará que el sistema seleccione automáticamente una versión anterior tras una actualización automática.
Panel de inicio de sesión → Icono de engranaje en la esquina superior derecha → Configurar servidor → Versión de PHP del sistema (se recomienda la última versión)
Comando para copiar la plantilla predeterminada:
cp /usr/local/hestia/data/templates/web/php-fpm/default.tpl \ /usr/local/hestia/data/templates/web/php-fpm/custom-default-PHP.tpl cp /usr/local/hestia/data/templates/web/php-fpm/PHP-8_5.tpl \ /usr/local/hestia/data/templates/web/php-fpm/custom-PHP8_5.tpl cp /usr/local/hestia/data/templates/web/php-fpm/PHP-8_4.tpl \ /usr/local/hestia/data/templates/web/php-fpm/custom-PHP8_4.tpl
Puedes modificar la plantilla copiada:
- Toma de escuchaPara evitar conflictos entre diferentes versiones.
- Ruta de registro: Guarda los registros de cada versión de forma independiente.
- Configuración del número de procesoAjustar en función del tráfico del sitio.
De esta forma, cada sitio web puede funcionar en un entorno PHP adecuado.
El comando para modificar la plantilla del backend de PHP-FPM es el siguiente: v-change-web-domain-backend-tpl USER DOMAIN TPL.
Se puede ejecutar después de restaurar la plantilla de backend predeterminada del sistema. v-change-web-domain-backend-tpl admin chenweiliang.com default.
Ejecutar al especificar una versión particular o una plantilla personalizada. v-change-web-domain-backend-tpl admin chenweiliang.com PHP-8_5-custom.
📜 Script para cambiar de plantilla por lotes
Si tienes una docena o incluso decenas de sitios web, cambiar las plantillas una por una es un desastre.
La solución consiste en escribir un script de shell:
#!/bin/bash
# 批量切换站点到 PHP8.4 模板
sites_php84=("site1.com" "site2.com")
for domain in "${sites_php84[@]}"; do
v-change-web-domain-template admin $domain custom-PHP8_4.tpl
done
# 批量切换站点到 PHP8.5 模板
sites_php85=("site3.com" "site4.com")
for domain in "${sites_php85[@]}"; do
v-change-web-domain-template admin $domain custom-PHP8_5.tpl
done
说明:
adminEsa es una cuenta de usuario; debes reemplazarla con la tuya.site1.com,site2.comEl nombre de dominio que se va a cambiar es...v-change-web-domain-templateEs una herramienta de línea de comandos proporcionada por HestiaCP.
Este método permite realizar el cambio de lotes de una sola vez, evitando errores humanos.
🖥️ Confirma en el panel
Una vez completado el cambio, deberá iniciar sesión en el panel HestiaCP:
- Abierto Web → Editar dominio.
- Compruebe si se ha cambiado la plantilla PHP-FPM.
custom-PHP8_4.tpl或custom-PHP8_5.tpl.
Este paso implica una verificación manual para garantizar que el script se ejecute sin anomalías.
⚙️ Verifique que la configuración sea efectiva.
Tras el cambio de lote, también es necesario verificar el estado del servicio.
systemctl status php8.4-fpm
systemctl status php8.5-fpm
Si el servicio se está ejecutando con normalidad, significa que el cambio de plantilla se realizó correctamente.
Al mismo tiempo, visite el sitio para confirmar que no aparecen errores 500 ni pantallas en blanco.
📊 Script de detección automatizada
Para mejorar aún más la eficiencia, se puede escribir un script de detección automatizada.
Tras el cambio por lotes, comprobará en cada sitio si la plantilla correspondiente se ha aplicado correctamente y generará un informe.
#!/bin/bash
USER="admin"
sites_php84=("site1.com" "site2.com")
sites_php85=("site3.com" "site4.com")
for domain in "${sites_php84[@]}"; do
v-change-web-domain-template $USER $domain custom-PHP8_4.tpl
done
for domain in "${sites_php85[@]}"; do
v-change-web-domain-template $USER $domain custom-PHP8_5.tpl
done
REPORT="/root/hestia-template-report.txt"
echo "HestiaCP 模板检测报告 - $(date)" > $REPORT
echo "===================================" >> $REPORT
for domain in "${sites_php84[@]}" "${sites_php85[@]}"; do
TEMPLATE=$(v-list-web-domain $USER $domain | grep "TPL:" | awk '{print $2}')
echo "$domain 当前模板: $TEMPLATE" >> $REPORT
done
echo "✅ 检测完成,报告已生成:$REPORT"
Tras la ejecución, obtendrá un informe claro que enumera las plantillas actuales para cada sitio.
Este método permite confirmar claramente de un vistazo si el cambio se ha realizado correctamente.
📖 Cómo usar
Guarda el script:
nano /root/switch-and-check.shPega el contenido y guarda.
Otorgar permisos:
chmod +x /root/switch-and-check.shEjecute el script:
./root/switch-and-check.shVer el informe:
cat /root/hestia-template-report.txt
El informe mostrará el estado de la aplicación de la plantilla para cada sitio.
📌 Resumen
La mejor práctica para el cambio por lotes de plantillas PHP-FPM personalizadas es:
- Prepare una plantilla personalizada →
- Script de conmutación por lotes →
- Confirmación del panel →
- Informe de pruebas automatizadas.
Este enfoque no solo evita que las actualizaciones se sobrescriban, sino que también garantiza que varios sitios web funcionen de forma estable con diferentes versiones de PHP.
💡 Conclusión
En la era digital, la eficiencia es sinónimo de competitividad.
Si sigues modificando las configuraciones del sitio una por una, es como intentar competir con una computadora cuántica usando un ábaco.
Con los scripts por lotes y la detección automatizada, puedes convertir las tareas tediosas en operaciones de un solo clic, lo que te permitirá dedicar tu tiempo a cosas más valiosas.
Un verdadero maestro no es alguien que pueda escribir mucho código, sino alguien que pueda simplificar procesos complejos al extremo.
Así que tome medidas y aplique este conjunto de directrices operativas a sus servidores para elevar instantáneamente sus habilidades de operación y mantenimiento a un nivel completamente nuevo.
Este es el poder de la tecnología, y también la sabiduría de controlar un sistema.
Dominar sistemas complejos no reside en la fuerza bruta, sino en la sabiduría de la simplificación.
Aprende a ajustar con precisión pm.max_children,pm.start_servers,pm.max_requests Estos parámetros clave mejoran la estabilidad y la capacidad de carga simultánea.
👉Continúa leyendo: Método de configuración de parámetros de plantilla PHP-FPM de HestiaCP: ¿ Está sobrecargado HestiaCP PHP-FPM? ¿Las páginas web dinámicas muestran errores 500? ¡Este método de optimización mostrará resultados inmediatos! ▼
Haz clic para ver ahora. Tras aprender estas técnicas, podrás transformar tus operaciones y tareas de mantenimiento, pasando de la resolución reactiva de problemas a la optimización proactiva.
Esperamos que el artículo "HestiaCP Batch Automatic Switching of Custom PHP-FPM Templates: Say Goodbye to Manual Clicking One by One (with Script)" compartido en el blog de Chen Weiliang ( https://www.chenweiliang.com/ ) le sea útil.
No dudes en compartir el enlace de este artículo: https://www.chenweiliang.com/cwl-34438.html

