Soy relativamente nuevo en el mundo de la administración / administración del servidor web de línea de comandos de Unix.
Muchos hosts con opciones de administración del panel de control le permiten cambiar cómo se ejecuta PHP con una opción simple.
Las opciones más comunes son:
- módulo apache
- Aplicación CGI
- Aplicación FastCGI
Mi pregunta es simplemente, ¿cómo se cambia esto a través de la línea de comando? Sé que hay muchos archivos de configuración para apache.
Lo más parecido que he encontrado es esta pregunta , sin embargo, la estructura del directorio no parece coincidir con mi sistema operativo (Ubuntu 12.04).
Estoy bastante desconcertado porque parece que no hay una guía clara que pueda encontrar que detalla este proceso para algo que parece ser tan común. Perdóname si esto existe ... si es así, por favor apúntame en la dirección correcta.
fuente
Respuestas:
Gracias por las respuestas anteriores me dieron la mayor parte del camino, pero para que las cosas funcionaran tuve que combinar instrucciones de algunos lugares, así que pensé en escribir un conjunto completo de comandos.
FYI, estoy ejecutando Ubuntu 14.04, Apache 2.4, y también tenía modphp ejecutándose de forma predeterminada, las instrucciones anteriores también omitieron la necesidad de deshabilitar modphp.
También encontré que http://blog.starcklin.com/2013/08/install-mod-fastcgi-and-php5-fpm-on-ubuntu/ es muy informativo y directo.
Simplemente ejecute los siguientes comandos en un terminal uno tras otro.
Primero instale los paquetes necesarios (omito php5 ya que esto supone que ya está instalado, agréguelo nuevamente para la primera instalación). También tenga en cuenta que desde Apache 2.4 en adelante puede usar el evento-mpm en lugar de trabajador, consulte http://www.vps.net/blog/2013/04/08/apache-mpms-prefork-worker-and-event/ . Mi ejemplo muestra trabajador, pero solo reemplaza la palabra trabajador con evento si prefieres usar eso.
Ahora habilite las modificaciones que necesita y desactive las que no.
Cree el archivo php5.fcgi y otorgue permiso al servidor web para usarlo.
Crear una configuración global para php5-fpm
pegue lo siguiente (usaremos un socket en lugar de una dirección IP)
Habilite la configuración php5-fpm
Reiniciar apache y fpm
Según otras instrucciones, pegue lo siguiente en un nuevo archivo php explorable en su servidor web.
Abra el archivo que acaba de editar en un navegador web. Si ve "FPM / FastCGI" junto a la API del servidor, ¡ahora está sirviendo PHP con FastCGI!
fuente
Finalmente encontré un buen tutorial orientado a hacer precisamente esto. Voy a describir los pasos que tomé ya que tenía mi pila LAMP instalada, pero el tutorial completo se puede encontrar aquí .
Nota para lo nuevo:
En el tutorial, comienza cambiando al usuario raíz con:
En mi caso, simplemente prefijo esos comandos en
sudo
lugar de cambiar de usuario, por lo que documentaré mis pasos de esa manera.Empezar
Paso uno: Instale el Apache Worker MPM (Módulos de procesamiento múltiple)
Esto reemplaza el prefork que había instalado, que es el predeterminado al instalar Apache.
Paso 2: instale PHP5 y los módulos necesarios
En este punto, puede obtener un error al instalar 'libapache2-mod-fastcgi':
Esta parte no está en el tutorial anterior
Para conciliar esto, el
multiverse
repositorio debe agregarse a las fuentes apt.Para hacer esto:
A lo que adjunté las siguientes líneas:
precise
en este caso se refiere a mi versión de Ubuntu " Precise Pangolin ".Así que ahora, guarde esos cambios y regrese a la terminal:
y otra vez:
que ahora (debería) funcionar.
Ahora habilite estos módulos de Apache:
reiniciar apache
Paso 3: configuración de Apache
Para hacer que Apache funcione con PHP-FPM, necesitamos la siguiente configuración:
Puede ponerlo en la configuración global de Apache (por lo que está habilitado para todos los vhosts), por ejemplo en
/etc/apache2/conf.d/php5-fpm.conf
(este archivo no existe, por lo que debe crearlo), o puede colocarlo en cada vhost que debería usar PHP-FPM.Elijo ir a la ruta global, entonces:
pegue en el bloque de código anterior y guarde, salga. Este nuevo archivo se cargará automáticamente mediante la configuración predeterminada de Apache que carga todos los archivos en el
/etc/apache2/conf.d/
directorio.reiniciar Apache:
Ahora cree el siguiente archivo PHP en la raíz del documento
/var/www
:Añadir:
guardar la salida.
Ahora llamamos a ese archivo en un navegador (por ejemplo
http://your-server-ip/info.php
)En la API del servidor en la parte superior, debería ver
FPM/FastCGI
.¡Éxito!
Para obtener más información sobre cómo cambiar PHP-FPM para usar un socket Unix en lugar del puerto TCP predeterminado o cómo configurarlo para hosts virtuales individuales en lugar de todos ellos, consulte el tutorial de origen vinculado en la parte superior.
fuente
Require all granted
cosa solo es necesaria desde Apache 2.4. Si lo pongo en el archivo de configuración con Apache 2.2, falla.En Ubuntu 14.04 después de seguir los pasos de la respuesta aceptada, edite /etc/apache2/conf-available/php5-fpm.conf
Luego ejecuta
fuente
En caso de que alguien esté haciendo esto en Ubuntu 16.04 y haya bajado de php 7 a php 5.6 (Ondrej), debe reemplazar algunas líneas (según la respuesta de JDawgg):
sudo apt-get install libapache2-mod-fastcgi php5-fpm para:
sudo a2dismod php5 mpm_prefork para:
sudo nano /etc/apache2/conf-available/php5-fpm.conf para:
El proceso de instalación de php5.6-fpm ya creó el archivo, por lo que no es necesario crear uno. Sin embargo, eliminé todo el texto existente en ese archivo ya que estaba destinado a mod_php5.
Cambié la ruta de /var/run/php5-fpm.sock a /var/run/php/php5.6-fpm.sock ya que el archivo estaba ubicado allí.
sudo a2enconf php5-fpm para:
sudo service apache2 restart && sudo service php5-fpm restart a:
Espero que esto ayude a otros novatos como yo :)
fuente