Configuración de Nginx para Laravel CentOS Stream 8

Desarrollo web

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:

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

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;
}

Instala Certbot para gestionar los certificados SSL:

sudo dnf install certbot python3-certbot-nginx

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.

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;
}

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
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

Después de realizar todos estos pasos, reinicia Nginx para asegurarte de que todos los cambios se apliquen correctamente:

sudo systemctl restart nginx

0 Comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Últimas noticias

Consulta nuestras últimas
Noticias & Blog