Configuración de Nginx para Laravel CentOS Stream 8
Antes de iniciar con este proceso previamente debes haber realizado lo mostrado en los siguientes post:
–Configuración inicial VPS con CentOS stream 8
–Instalación de stack LEMP CentOS stream 8
Configuración de bloques de servidor para el dominio
Paso 1: Crear un Archivo de Configuración para tu Sitio
Crea un archivo de configuración para tu dominio en el directorio /etc/nginx/conf.d/:
sudo vi /etc/nginx/conf.d/mi_laravel_api.conf
Agrega un nombre a tu gusto remplazando mi_laravel_api
Paso 2: Configurar el bloque server
Dentro del archivo de configuración, define el bloque server para tu dominio:
server {
listen 80;
server_name tu_dominio.com www.tu_dominio.com;
root /var/www/tu_dominio/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
error_log /var/log/nginx/tu_dominio_error.log;
access_log /var/log/nginx/tu_dominio_access.log;
}
Configuración de SSL con Certbot
Paso 1: Instalar Certbot
Instala Certbot para gestionar los certificados SSL:
sudo dnf install certbot python3-certbot-nginx
Paso 2: Obtener el Certificado SSL
Ejecuta Certbot para obtener y configurar el certificado SSL para tu dominio:
sudo certbot --nginx -d tu_dominio.com -d www.tu_dominio.com
Certbot te guiará a través del proceso y actualizará automáticamente tu archivo de configuración de Nginx para usar SSL.
Paso 3: Verificar la Configuración de SSL realizada por el Certbot
Verifica el archivo de configuración para asegurarte de que se haya actualizado correctamente
Ejemplo:
server {
listen 80;
server_name tu_dominio.com www.tu_dominio.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name tu_dominio.com www.tu_dominio.com;
ssl_certificate /etc/letsencrypt/live/tu_dominio.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/tu_dominio.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
root /var/www/tu_dominio/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
error_log /var/log/nginx/tu_dominio_error.log;
access_log /var/log/nginx/tu_dominio_access.log;
}
Configuración de PHP-FPM
Edita el archivo de configuración de PHP-FPM:
sudo vi /etc/php-fpm.d/www.conf
Asegúrate de que las siguientes líneas estén configuradas correctamente:
user = nginx
group = nginx
listen = /run/php-fpm/www.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
; Al final del archivo, asegúrate de descomentar y ajustar las siguientes líneas
; para permitir el acceso al socket de PHP-FPM desde Nginx.
listen.acl_users = apache,nginx
Paso 3: Iniciar y Habilitar PHP-FPM
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
Verificación final
Después de realizar todos estos pasos, reinicia Nginx para asegurarte de que todos los cambios se apliquen correctamente:
sudo systemctl restart nginx
Continua al siguiente post llamado: Configuración de Laravel y despliegue API CentOS stream 8
0 Comentarios