Configuração básica de php 7 e nginx no Ubuntu 16.04 Linux

Configuração básica de php 7 e nginx no Ubuntu 16.04 Linux

Nginx está ultrapassando rapidamente o Apache como o servidor da web favorito. Para aplicativos da web incorporados em idiomas como Rails e Python, é praticamente onipresente, mas é um pouco mais lento para pegar no mundo do PHP. Parte do motivo disso é o quão facilmente o PHP e o Apache vão juntos. No entanto, o PHP e o NGINX podem cooperar quase com a mesma facilidade e, com o lançamento de Php 7, combinar os dois pode ser uma opção bastante rápida.

Os pacotes

Primeiras coisas primeiro. Atualize o Ubuntu e obtenha os pacotes nginx e php.

# sudo apt-get update && sudo apt-get -y upgrade # sudo apt-get -y install nginx php7.0 php7.0-fpm

Quando a instalação é concluída, todos os pacotes devem estar no lugar e realmente executando. Para garantir que esse seja o caso, você pode verificar se os serviços nginx e php-fpm estão sendo executados no Systemd.

# sudo systemctl status nginx # sudo systemctl status php7.0-fpm

Se o Systemd confirmar que os dois serviços estão em execução, o servidor deve realmente estar em alta e você poderá ver a página de boas -vindas do Nginx padrão navegando para navegar para LocalHost no navegador.

Configuração

Claro, isso não está nem de muito tempo pronto para realmente hospedar qualquer coisa. Há alguma configuração necessária para apontar o nginx em algum conteúdo real e melhorar a segurança. O diretório raiz dos arquivos de configuração nginx está localizado em /etc/nginx. Felizmente, já existem padrões do Ubuntu que facilitam muito o processo de configuração.

Nginx.conf

O principal arquivo de configuração para o nginx é nginx.conf. Abra -o no editor de texto de sua escolha. Exigirá permissões de raiz, para que um editor baseado em texto como o VIM provavelmente seja o melhor. A configuração padrão está bem. Obviamente, há coisas que podem ser feitas para melhorar a velocidade e a segurança do sistema, mas a maior parte está além do escopo deste tutorial básico. Se você quiser melhorar o desempenho, as opções comentadas do GZIP ajudarão na compressão e podem acelerar as coisas. Do lado da segurança, adicionar as três linhas a seguir ajudará a prevenir atividades maliciosas.

add_header x-frame-options Sameorigin; add_header x-content-type-options nosniff; add_header x-xss-proteção "1; mode = bloqueio";


Configuração do site

Depois que as linhas forem adicionadas, salve e saia. Existem duas pastas na raiz nginx, Sites disponíveis e sites habilitados. Sites disponíveis Configurações do site de lojas. sites habilitados contém symblinks para os arquivos de configuração em Sites disponíveis. Dessa forma, habilitar e desativar sites é tão simples quanto criar e remover symblinks.

Usando seu editor de texto, crie um arquivo em /etc/nginx/sites-Available/yourserite. Este arquivo conterá qualquer configuração específica do site para o seu novo site PHP 7. O exemplo a seguir contém um colapso nos comentários do que cada linha faz. É uma configuração bastante básica, mas fará o trabalho.

 servidor #nginx deve ouvir na porta 80 para solicitações para o seu mite.com ouvir 80; Server_name Yourserite.com; #Create Acesso e erro de erro.access_log main; error_log/var/log/nginx/yoursite.error_log info; #Nginx deve procurar em/var/www/yoursite para o seu site root/var/www/yoursite/; #A página inicial do seu site é um arquivo chamado índice.Índice de PHP.php; #Especifica que o Nginx está procurando .Localização dos arquivos php ~ \.php $  #Se um arquivo não for encontrado, 404 TRY_FILES $ URI = 404; #Include a configuração fastcgi do nginx inclui/etc/nginx/fastcgi.conf; #LOGE para o gerenciador de processos fastcgi neste local fastcgi_pass unix:/run/php/php7.0-fpm.meia;  

Quando você tiver esse arquivo criado, salve -o e mova -o para o sites habilitados diretório. A partir daí, crie o symlink de volta para o arquivo que você acabou de criar.

# cd/etc/nginx/sites habilitados para # sudo ln -s/etc/nginx/sites-anicáveis/yoursite

Php.INI Security

A segurança é um alvo em movimento, e é impossível ficar à frente de todas as ameaças possíveis, mas é sempre uma boa ideia bloquear qualquer nova instalação do servidor o máximo possível. Existem alguns ajustes simples que podem ser feitos para o php.ini arquivo de configuração que ajudará a proteger o PHP. Com seu editor de texto, abra /etc/php/7.0/FPM/PHP.ini. Este é um arquivo enorme. Novamente, vim ou algo com uma função de pesquisa provavelmente é melhor.

Primeiro encontre desabille_functions e adicione phpinfo, sistema, correio, executivo até o final da série de funções que já estão lá. Então encontre file_uploads e defina -o para Desligado. Em seguida, encontre SQL.modo de segurança e trocá -lo Sobre. Por último, encontre allow_url_fopen e defina -o para Desligado. Antes de fechar o arquivo, adicione mais uma linha ao fim.

Register_globals = OFF

Quando tudo estiver pronto, salve e feche. Reinicie o servidor e ele deve estar pronto para ir.

# sudo systemctl reiniciar php7.0-fpm # sudo systemctl reiniciar nginx

Para onde ir a seguir

Como está, o servidor Ubuntu deve poder executar a maioria dos sites PHP. Quaisquer arquivos PHP colocados no /var/www/yoursite será executado pelo servidor. Ele procurará o índice.php Arquivo primeiro e o site pode ramificar o formulário lá. Claro, há muito mais que pode ser feito para configurar o PHP e o nginx para velocidade, segurança e praticamente qualquer situação de caso especial, mas agora você tem um forte ponto de partida.

Tutoriais do Linux relacionados:

  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Coisas para instalar no Ubuntu 20.04
  • Mastering Bash Script Loops
  • Como atualizar o Ubuntu de 22.04 a 22.10
  • Ubuntu 20.04 WordPress com instalação do Apache
  • Ubuntu 20.04 Guia
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
  • Com que frequência você tem que reiniciar seu servidor Linux?
  • Como atualizar o Ubuntu para 22.04 LTS Jellyfish