Center 6.2 Instalación de Linux PhP5.6.6 Código fuente
PHP ha incorporado PHP-FPM en el código central de PHP después de 5.3.3. Por lo tanto, PHP-FPM no necesita ser descargado e instalado por separado.
Para admitir PHP-FPM, solo necesita traer en la FPM de inicio al compilar el código fuente de PHP
1: Yum Instalación de la biblioteca de dependencia de PHP
yum install -y make cmake gcc gcc-c++ autoconf automake libpng-devel libjpeg-devel zlib libxml2-devel ncurses-devel bison libtool-ltdl-devel libiconv libmcrypt mhash mcrypt pcre-devel openssl-devel freetype-devel libcurl-devel
2: Descargar el código fuente PHP5.6
wget http://cn2.php.net/distributions/php-5.6.6.tar.gz
tar -zxvf php-5.6.6.tar.gz
cd ./php-5.6.6/
tres: instalación de configuración de PHP
# Configurar los parámetros de compilación PHP
./configure –prefix=/usr/local/php –with-mysql –with-mysqli –with-pdo_mysql –with-iconv-dir –with-zlib –with-libxml-dir –enable-xml –with-curl –enable-fpm –enable-mbstring –with-gd –with-openssl –with-mhash –enable-sockets –with-xmlrpc –enable-zip –enable-soap –with-freetype-dir=/usr/lib64
# comienza a compilar e instalar
make
make install
y luego instálelo en/usr/local/php directorio
4: Configurar PHP-FPM
Configuración de PHP-FPM
Primer inicio PHP-FPM:
/usr/local/php/sbin/php-fpm
[19-Apr-2018 16:02:08] ERROR: failed to open configuration file ‘/usr/local/php/etc/php-fpm.conf’: No such file or directory (2)
[19-Apr-2018 16:02:08] ERROR: failed to load configuration file ‘/usr/local/php/etc/php-fpm.conf’
[19-Apr-2018 16:02:08] ERROR: FPM initialization failed
Mensaje de error dice que no puede encontrar php-fpm.conf
al directorio de configuración de PHP
cd /usr/local/php/etc
hay un archivo php-fpm.conf.default, copia CP
cp php-fpm.conf.default php-fpm.conf
editar php-fpm.conf
Encuentra los siguientes elementos de configuración, la configuración es la siguiente
pid = run/php-fpm.pid
corre de nuevo
/usr/local/php/sbin/php-fpm
Error:
[19-Apr-2018 16:07:17] ERROR: [pool www] cannot get uid for user ‘nginx’
[19-Apr-2018 16:07:17] ERROR: FPM initialization failed
Los usuarios de Nginx no existen, así que crea usuarios de Nginx
useradd nginx
Empiece de nuevo
/usr/local/php/sbin/php-fpm
No hay error, lo que indica que la operación es exitosa
Verifique si es exitoso
ps aux|grep php-fpm
PHP-FPM Apareció el proceso:
root 15448 0.0 0.2 210972 4856 ? Ss 16:10 0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
www 15449 0.0 0.2 213056 4768 ? S 16:10 0:00 php-fpm: pool www
www 15450 0.0 0.2 213056 4768 ? S 16:10 0:00 php-fpm: pool www
root 15492 0.0 0.0 112648 964 pts/0 R+ 16:11 0:00 grep –color=auto php-fpm
5: Agregar al arranque y comenzar
El inicio del archivo de configuración es: /etc/rc.local
# vi /etc/rc.local
/usr/local/php/sbin/php-fpm # Agregar en
6: Algunos comandos de PHP-FPM
Después de la nueva expansión de instalación, necesitamos volver a PHP-FPM, lo que ha mejorado la expansión.
La forma más simple y grosera de Rephp-FPM es:
Encuentre el número de proceso de PHP-FPM primero, mate y luego comience con/usr/local/php/sbin/php-fpm.
De hecho, hay métodos más suaves, que es usar señales.
int, término termina inmediatamente
dejar de terminar suavemente
USR1 re -open el archivo de registro
USR2 Carga suavemente todos los procesos de los trabajadores y recarga el módulo de configuración y binario
Ejemplo:
php-fpm apagado: matar-INT `cat /usr/local/php/var/run/php-fpm.pid` php-fpm reiniciar: matar-USR2 `cat /usr/local/php/var/run/php-fpm.pid`
7: PHP de análisis de configuración de Nginx
La instalación de configuración de NGINX se refiere al artículo anterior:http://www.cnblogs.com/starlion/p/8875982.html
1. Ingrese el directorio NGINX
cd /usr/local/nginx
2, editar archivo de configuración
vi ./conf/nginx.conf
Encuéntralo debajo del servidor
location / { root html; index index.html index.htm index.php; #agregar index.php }
Eliminar el comentario anterior #
location ~ \.php$ { root /usr/local/nginx/html; #Configuración de ruta absoluta en HTML fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # Análisis de errores de PHP durante la verificación,/scripts debe reemplazarse con $ document_root, hay una explicación a continuación
include fastcgi_params;
}
3. Luego reinicie Nginx sin problemas
./sbin/nginx -s reload
no hay error, lo que indica que el reinicio es exitoso
8: Verifique si el PHP está configurado con éxito
editar VI index.php in/usr/local/nginx/html directorio
<?php echo phpinfo(); ?>
Ingrese http: // ip: 80/index.php en el navegador y luego cometer un error
File not found
Ver el registro de NGINX, el registro de configuración está en el directorio ./logs
Primero verifique el registro Access.log, hay el siguiente mensaje de error
FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream, client: ***.107.***.138, server: localhost, request: “GET / HTTP/1.1”, upstream: “fastcgi://127.0.0.1:9000”, host: “1**.24.**.115”
La siguiente información apareció en el error. Información de registro de registro
[error] 16403#0: *42 FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream, client: ***.107.***.138, server: localhost, request: “GET /index.php HTTP/1.1”, upstream: “fastcgi://127.0.0.1:9000”, host: “1**.24.**.115”
Según el FastCGI anterior enviado en Stderr: “Script primario desconocido”
Este es un error al configurar el script PHP al configurar el análisis NGINX del script PHP
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
modificar a las siguientes formas ($ document_root):
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
$ document_root representa el valor especificado en la solicitud actual en la instrucción raíz:
Después de la modificación, reinicie Nginx
./sbin/nginx -s reload
re -rehresh el navegador y aparece como se muestra en la figura a continuación, lo que indica que la configuración es exitosa
reimpreso de https://www.cnblogs.com/starlion/p/8884465.html