Configuración básica de PHP 7 y Nginx en Ubuntu 16.04 Linux

Configuración básica de PHP 7 y Nginx en Ubuntu 16.04 Linux

Nginx está adelantando rápidamente a Apache como el servidor web favorito. Para aplicaciones web integradas en idiomas como Rails y Python, es prácticamente omnipresente, pero es un poco más lento en el mundo de PHP. Parte de la razón de eso es la facilidad con que PHP y Apache van juntos. Sin embargo, PHP y NGINX pueden cooperar casi tan fácilmente, y con la liberación de PHP 7, combinar los dos puede ser una opción bastante rápida.

Los paquetes

Lo primero es lo primero. Actualice Ubuntu y obtenga los paquetes NGINX y PHP.

# sudo apt-get update && sudo apt-get -y actualización # sudo apt-get -y install nginx php7.0 php7.0-FPM

Cuando la instalación está terminada, todos los paquetes deben estar en su lugar y en realidad ejecutar. Para asegurarse de que este sea el caso, puede verificar que tanto Nginx como los servicios PHP-FPM se ejecutan en Systemd.

# SUDO SYSTEMCTL ESTADO NGINX # SUDO SYSTEMCTL ESTADO PHP7.0-FPM

Si Systemd confirma que ambos servicios se están ejecutando, el servidor debería estar activo y debería poder ver la página de bienvenida Nginx predeterminada navegando a hostil en el navegador.

Configuración

Por supuesto, eso no está listo para alojar nada. Se necesita algo de configuración para apuntar a Nginx a algún contenido real y mejorar la seguridad. El directorio raíz para los archivos de configuración de NGINX se encuentra en /etc/nginx. Afortunadamente, ya hay valores predeterminados de Ubuntu que hacen que el proceso de configuración sea mucho más fácil.

Nginx.confusión

El archivo de configuración principal para NGINX es nginx.confusión. Ábralo en el editor de texto de tu elección. Requerirá permisos raíz, por lo que un editor basado en texto como VIM probablemente será el mejor. La configuración predeterminada está en su mayoría bien. Obviamente, hay cosas que se pueden hacer para mejorar la velocidad y la seguridad del sistema, pero la mayor parte está más allá del alcance de este tutorial básico. Si desea mejorar el rendimiento, las opciones comentadas de GZIP ayudarán con la compresión y pueden acelerar las cosas. En el lado de seguridad, agregar las siguientes tres líneas ayudará a prevenir actividades maliciosas.

add_header X-frame-options Sameorigin; add_header x-content-type-options nosniff; add_header X-XSS-Protection "1; mode = block";


Configuración del sitio

Una vez que se agregan las líneas, guarde y salga. Hay dos carpetas en la raíz nginx, sitios disponibles y sitios habilitados. sitios disponibles Configuraciones del sitio de almacenamiento. sitios habilitados contiene enlaces simbólicos a los archivos de configuración en sitios disponibles. De esta manera, habilitar y deshabilitar sitios es tan simple como crear y eliminar enlaces simbólicos.

Usando su editor de texto, cree un archivo en /etc/nginx/sitios disponible/suyoite. Este archivo contendrá cualquier configuración específica del sitio para su nuevo sitio web de Php 7. El siguiente ejemplo contiene un desglose en los comentarios de lo que hace cada línea. Es una configuración bastante básica, pero hará el trabajo.

 servidor #nginx debe escuchar en el puerto 80 para las solicitudes de suyo.com escuchar 80; server_name tytuleite.com; #Create Access and Error Regists in/var/log/nginx access_log/var/log/nginx/suyoite.access_log main; ERROR_LOG/VAR/LOG/NGINX/SUYOITE.error_log información; #Nginx debe verse en/var/www/suyoe para su sitio web root/var/www/the theuleite/; #La página de inicio de su sitio web es un archivo llamado índice.índice de índice de PHP.php; #Pecifica que Nginx está buscando .Ubicación de archivos php ~ \.Php $ #IF no se encuentra un archivo, 404 try_files $ uri = 404; #Include la configuración de FastCGI de Nginx incluye/etc/nginx/fastcgi.conf; #Plooke para el Administrador de procesos FASTCGI en esta ubicación fastcgi_pass unix:/run/php/php7.0-FPM.calcetín;  

Cuando cree ese archivo, guárdelo y muévase a la sitios habilitados directorio. A partir de ahí, cree el enlace simbólico para el archivo que acaba de crear.

# cd/etc/nginx/sites- # sudo ln -s/etc/nginx/sites-disponible/suyo

Php.ini -seguridad

La seguridad es un objetivo móvil, y es imposible mantenerse por delante de todas las amenazas posibles, pero siempre es una buena idea bloquear cualquier nueva instalación del servidor. Hay algunos ajustes simples que se pueden hacer al php.ini Archivo de configuración que ayudará a asegurar PHP. Con su editor de texto, abra /etc/php/7.0/fpm/php.ini. Este es un archivo enorme. Una vez más, Vim o algo con una función de búsqueda es probablemente la mejor.

Primero encontrar disable_functions y añadir phpinfo, sistema, correo, ejecutivo al final de la cadena de funciones que ya están allí. Entonces busca File_uploads y establecerlo en Apagado. A continuación, encontrar sql.modo seguro y cambiarlo En. Último, encontrar tampable_url_fopen y establecerlo en Apagado. Antes de cerrar el archivo, agregue una línea más al final.

registrar_globals = apagado

Cuando todo haya hecho, guarde y cierre. Reiniciar el servidor y debería estar listo para comenzar.

# sudo systemctl reiniciar PHP7.0-FPM # sudo SystemCTL reiniciar nginx

A dónde ir después

Como se encuentra, el servidor Ubuntu debería poder ejecutar la mayoría de los sitios web de PHP. Cualquier archivo PHP colocado en el /var/www/tuyeite será ejecutado por el servidor. Buscará el índice.php Archivo primero y el sitio web puede ramificar el formulario allí. Por supuesto, se puede hacer mucho más para configurar PHP y NGINX para la velocidad, la seguridad y casi cualquier situación de caso especial, pero ahora tiene un punto de partida fuerte.

Tutoriales de Linux relacionados:

  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cosas para instalar en Ubuntu 20.04
  • Mastering Bash Script Loops
  • Cómo actualizar Ubuntu de 22.04 a 22.10
  • Ubuntu 20.04 WordPress con instalación de Apache
  • Ubuntu 20.04 Guía
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?
  • ¿Con qué frecuencia tiene que reiniciar su servidor de Linux??
  • Cómo actualizar Ubuntu a 22.04 Musas Jammy LTS