Servidor básico Nginx para Laravel no Linux sem Docker

Publicado em: 15/12/2023 às 10:16:10
É muito fácil criar um ambiente básico para um projeto com NGINX, PHP-FPM e um banco de dados.
Diretamente da linha de comando e sem frescuras!

Aí você me diz: "aaiiiin pq vc nao usa docker?"


Aiin Docker... Aiin Docker...

NÃO!


Aqui vou usar Debian e serão os mesmos comandos para todas as distribuições baseadas nele.

Vamos lá.

Para começar vamos atualizar nossa lista de repositório:


$ sudo apt update


Depois instalar de uma só vez o ambiente:


$ sudo apt-get install nginx php-fpm php-gd php-curl php-common php-mbstring php-intl php-zip php-bcmath php-xml php-zip php-mysql php-gmp php-redis mariadb-server -y


Caso precise de uma versão específica use:


$ sudo apt-get install nginx php8.1-fpm php8.1-gd php8.1-curl php8.1-common php8.1-mbstring php8.1-intl php8.1-zip php8.1-bcmath php8.1-xml php8.1-zip php8.1-mysql php8.1-gmp php8.1-redis mariadb-server -y


Feito isso, configure o banco de dados:


$ sudo mysql_secure_installation


Siga os passos da aplicação para alterar ou manter a senha.

Agora é hora de editar o arquivo de configuração do Nginx.


$ sudo nano /etc/nginx/sites-available/default


Pensando que seu projeto Laravel estará no diretório /var/www/html, deixe o arquivo dessa forma:


server {
	listen 80 default_server;
	listen [::]:80 default_server;

	root /var/www/html/public;

	index index.html index.htm index.php;

	server_name _;

	location / {
		try_files $uri $uri/ /index.php?$query_string;
	}

	location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}


Atente-se para a versão do PHP no parametro fastcgi_pass

Restarte seu Nginx:


$ sudo service nginx restart


Pronto!

Se acessar o ip do servidor ou domínio configurado, seu Nginx vai estar rodando lindamente.





[]'s

VEJA TAMBÉM