Como instalar o Laravel Php Framework com Nginx no CentOS 8

Como instalar o Laravel Php Framework com Nginx no CentOS 8

Laravel é uma estrutura da web de código aberto, bem conhecido e moderno, com sintaxe expressiva, elegante e fácil de entender, o que facilita a criação de aplicativos da Web grandes e robustos.

Seus principais recursos incluem um mecanismo de roteamento simples e rápido, um poderoso recipiente de injeção de dependência, vários back-end-ends para armazenamento de sessão e cache, banco de dados expressivo e intuitivo ORM (mapeamento de objetos-relatórios), processamento de trabalho robusto e transmissão em tempo real em tempo real.

Além disso, ele usa ferramentas como Compositor - um gerente de pacotes PHP para gerenciar dependências e Artesão - Uma interface da linha de comando para criar e gerenciar aplicativos da Web.

Neste artigo, você aprenderá como instalar a versão mais recente do Laravel Php estrutura da web em CENTOS 8 Distribuição Linux.

Requisitos do servidor

O Laravel A estrutura tem os seguintes requisitos:

  • Php> = 7.2.5 Com estas extensões PHP OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype e JSON.
  • Compositor - Para instalar e gerenciar dependências.

Etapa 1: Instalando a pilha Lemp no CentOS 8

1. Para começar, atualize os pacotes de software do sistema e instale Lemp pilha (Linux, Nginx, Mariadb / mysql, e Php) usando os seguintes comandos DNF.

# dnf update # dnf install nginx php php-fpm php-common common php-xml php-mbstring php-json php-zip mariadb-server php-mysqlnd 

2. Quando o Lemp A instalação está completa, você precisa iniciar o Php-pfm, Nginx e Mariadb Serviços usando os seguintes comandos SystemCTL.

# SystemCtl Iniciar php-fpm nginx mariadb # SystemCtl Ativar php-fpm nginx mariadb # Systemctl status php-fpm nginx mariadb 

3. Em seguida, você precisa proteger e endurecer o Mariadb mecanismo de banco de dados usando o script de segurança como mostrado.

# mysql_secure_installation 

Responda às seguintes perguntas para proteger a instalação do servidor.

Digite a senha atual para root (digite para nenhum): Digitar Defina senha raiz? [S/N] y #set nova senha root Remova usuários anônimos? [S/N] y Proibir o login de raiz remotamente? [S/N] y Remova o banco de dados de teste e o acesso a ele? [S/N] y Recarregue as tabelas de privilégio agora? [S/N] y

4. Se você tem o Firewalld Serviço em execução, você precisa abrir o Http e Https Serviço no firewall para ativar as solicitações do cliente ao servidor da Web Nginx.

# firewall-cmd-zone = public --permanent --add-service = http # firewall-cmd --zone = public --permanent --add-service = https # firewall-cmd--reload 

5. Finalmente, você pode confirmar que seu Lemp A pilha está funcionando usando um navegador no endereço IP do seu sistema.

http: // server-ip 
Verifique a página da web nginx

Etapa 2: Configurando e protegendo o PHP-FPM e NGINX

6. Para processar solicitações do Nginx servidor web, PHP-FPM pode ouvir em um soquete Unix ou soquete TCP e isso é definido pelo ouvir parâmetro no /etc/php-fpm.d/www.conf arquivo de configuração.

# vi /etc /php-fpm.d/www.conf 

Por padrão, é configurado para ouvir em um soquete Unix, como mostrado na captura de tela a seguir. O valor aqui será especificado no arquivo de bloco do servidor nginx posteriormente.

Defina o soquete Php-FPM Listen

7. Se estiver usando um soquete Unix, você também deve definir a propriedade e as permissões corretas, como mostrado na captura de tela. Descomment os seguintes parâmetros e defina seus valores para o usuário e o grupo para corresponder ao usuário e ao grupo Nginx está funcionando como.

ouvir.proprietário = nginx ouça.grupo = nginx ouça.modo = 066 
Defina a propriedade do Socket Socket para Nginx

8. Em seguida, também defina o fuso horário em todo o sistema no /etc/php.ini arquivo de configuração.

# vi /etc /php.ini 

Procure a linha ";data.fuso horário" e descompor -o e defina seu valor como mostrado na captura de tela (use valores que se aplicam à sua região/continente e país).

 data.fuso horário = África/Kampala 
Defina o fuso horário em PHP

9. Para mitigar o risco de Nginx Passando solicitações de usuários maliciosos que usam outras extensões para executar o código PHP para php-fpm, não dominar o seguinte parâmetro e definir seu valor para 0.

CGI.FIX_PATHINFO = 1 
Php e Nginx seguros

10. Em relação ao ponto anterior, também descomentar o seguinte parâmetro no /etc/php-fpm.d/www.conf arquivo. Leia o comentário para obter mais explicação.

segurança.limite_extensions = .php .php3 .Php4 .Php5 .Php7 
Limite de execuções de extensão PHP

Etapa 3: Instalando o compositor e a estrutura de php do Laravel

11. Em seguida, instale o Compositor pacote executando os seguintes comandos. O primeiro comando baixar o instalador e depois o executa usando PHP.

# CURL -SS https: // getcomposer.org/instalador | compositor php # mv.phar/usr/local/bin/compositor # chmod +x/usr/local/bin/compositor 
Instale o compositor no CentOS 8

12. Agora isso Compositor está instalado, use -o para instalar arquivos e dependências Laravel da seguinte forma. Substituir meu site.com Com o nome do diretório em que os arquivos do Laravel serão armazenados, o caminho absoluto (ou caminho raiz no arquivo de configuração nginx) será /var/www/html/mysite.com.

# cd/var/www/html/ # compositor create-project-prefer-dist laravel/laravel mysite.com 
Instale o Laravel no CentOS 8

Se tudo correr bem durante o processo, o aplicativo deve ser instalado com sucesso e uma chave deve ser gerada como mostrado na captura de tela a seguir.

Instalação do Laravel completa

13. Durante o processo de instalação, o .Env O arquivo de ambiente foi criado e o aplicativo necessário também foi gerado, para que você não precise criá -los manualmente como antes. Para confirmar isso, execute uma longa listagem do diretório raiz de Laravel usando o comando ls.

# ls -la mysite.coma 
Listar arquivos de Laravel

14. Em seguida, você precisa configurar a propriedade e as permissões corretas no armazenar e a Bootstrap/cache diretórios para serem graváveis ​​pelo servidor da Web Nginx.

# chown -r: nginx/var/www/html/mysite.com/armazenamento/ # chown -r: nginx/var/www/html/mysite.com/bootstrap/cache/ # chmod -r 0777/var/www/html/mysite.com/armazenamento/ # chmod -r 0775/var/www/html/mysite.com/bootstrap/cache/ 

15. Se Selinux ativado em seu servidor, você também deve atualizar o contexto de segurança do armazenar e Bootstrap/cache diretórios.

# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com/armazenamento (//.*)?' # semanage fcontext -a -t httpd_sys_rw_content_t'/var/www/html/mysite.com/bootstrap/cache (/.*)?' # RestoreCon -rv'/var/www/html/mysite.com ' 

Etapa 4: Configure o bloco do servidor nginx para Laravel

16. Para Nginx Para começar a servir seu site ou aplicativo, você precisa criar um bloco de servidor para ele em um .conf arquivo abaixo /etc/nginx/conf.d/ diretório como mostrado.

# vi/etc/nginx/conf.d/mysite.com.conf 

Copie e cole a seguinte configuração no arquivo. Tome nota da raiz e fastcgi_pass parâmetros.

servidor ouça 80; server_name mysite.com; raiz/var/www/html/mysite.com/público; ÍNDICE ÍNDICE.php; CHARSET UTF-8; gzip on; gzip_types text/css aplicativo/javascript text/javascript Application/x-javascript imagem/svg+xml text/texto simples/text/xsd text/xsl/xml imagem/x-icon; Localização / Try_files $ URI $ URI / / ÍNDICE.php?$ query_string;  localização ~ \.php inclua fastcgi.conf; fastcgi_split_path_info ^(.+\.php) (//.+) $; fastcgi_pass unix:/run/php-fpm/www.meia;  localização ~ /\.ht negar tudo;  

17. Salve o arquivo e verifique se o Nginx A sintaxe de configuração está correta executando.

# nginx -t 
Verifique a configuração do nginx

18. Em seguida, reinicie o PHP-FPM e Nginx Serviços para as mudanças recentes para entrar em vigor.

# SystemCtl Restart php-fpm # SystemCtl Restart nginx 

Etapa 5: Acessando o site do Laravel em um navegador da web

19. Para acessar o site do Laravel em meu site.com, que não é um nome de domínio totalmente qualificado (FQDN) e não é registrado (é usado apenas para fins de teste), usaremos o /etc/hosts Arquivo em sua máquina local para criar DNS local.

Execute o seguinte comando para adicionar o endereço IP do servidor e o domínio no arquivo necessário (substitua o valor de acordo com suas configurações).

# IP Adicionar #get servidor remoto IP $ echo "10.42.0.21 mysite.com "| sudo tee -a /etc /hosts 
Adicione entradas DNS no arquivo local

20. Em seguida, abra um navegador da web na máquina local e use o seguinte endereço para navegar.

http: // mysite.com 
Laraval Access

Você implantou com sucesso Laravel sobre CENTOS 8. Agora você pode começar a desenvolver seu site ou aplicativo da web usando Laravel. Para mais informações, consulte o Guia de Iniciações do Laravel.