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...
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:
Depois instalar de uma só vez o ambiente:
Caso precise de uma versão específica use:
Feito isso, configure o banco de dados:
Siga os passos da aplicação para alterar ou manter a senha.
Agora é hora de editar o arquivo de configuração do Nginx.
Pensando que seu projeto Laravel estará no diretório /var/www/html, deixe o arquivo dessa forma:
Atente-se para a versão do PHP no parametro fastcgi_pass
Restarte seu Nginx:
Pronto!
Se acessar o ip do servidor ou domínio configurado, seu Nginx vai estar rodando lindamente.
[]'s
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