Como configurar o php no nginx com o exemplo fastcgi (php-fpm)
1. Configurar: Erro:. XML2-Config não encontrado, verifique sua instalação libxml2.
O nginx tem php
Construir a partir da fonte não é fácil se algo for um pouco diferente, e eu tive dificuldade com alguns diretórios e opções de configuração. Eu estava fracassando pela web até encontrar este site que traduziu do chinês. Ninguém mais teve a solução. Não consegui fazer o PHP FPM começar até mudar o diretório (Item 2.Erro: Não é possível globalizar). Eu tive outros problemas listados, mas consegui resolvê -los. Por favor, não exclua isso, é uma informação muito útil.
O site original (é em chinês, não no meu site, mas quero dar crédito):
(Há um pouco mais lá, você pode ir ao site)
1. Configurar: Erro:. XML2-Config não encontrado, verifique sua instalação libxml2.
Instalação apt-get Libxml2-dev
2.Aviso: Declaração de Pear_installer :: Download () deve ser compatível com & Pear_downloader :: Download ($ params) em Phar: /// root/php-7.0.0Alpha1/Pear/Install Pear-Nozlib.Phar /Pear /Instalador.PHP na linha 43
Aviso: Declaração de Pear_packagefile_parser_v2 :: parse () deve ser compatível com Pear_xmlparser :: parse ($ dados) em Phar: /// root/php-7.0.0Alpha1/Pear/Install Pear-Nozlib.Phar/ Pear/ PackageFile/ Parsers/ V2.PHP na linha 113
[Pear] Archive_tar – já instalado: 1.3.13
[Pear] Console_GETOPT – já instalado: 1.3.1
[Pear] Structures_graph- já instalado: 1.0.4
Aviso: Declaração de Pear_task_replace :: init () deve ser compatível com Pear_task_common :: init ($ xml, $ FileAttributes, $ LastVersion) em Phar: /// Root/Php-7.0.0Alpha1/Pear/Install Pear-Nozlib. Phar / Pear / Tarefa / Substitua.PHP na linha 31
[Pear] xml_util – já instalado: 1.2.3
Aviso: Declaração de Pear_task_windowseol :: init () deve ser compatível com Pear_task_Common :: init ($ xml, $ FileAttributes, $ lastversion) em Phar: /// root/php-7.0.0Alpha1/Pear/Install Pear-Nozlib. Phar / Pear / Tarefa / Windowseol.PHP na linha 76
Aviso: Declaração de Pear_task_unixeol :: init () deve ser compatível com Pear_task_common :: init ($ xml, $ FileAttributes, $ LastVersion) em Phar: /// root/php-7.0.0Alpha1/Pear/Install Pear-Nozlib. Phar / Pear / Task / Unixeol.PHP na linha 76
[Pear] Pear – já instalada: 1.9.5
1.Erro: falha ao abrir o arquivo de configuração ‘/usr/local/etc/php-fpm.conf ‘: nenhum arquivo ou diretório (2)
Erro: falha ao carregar o arquivo de configuração ‘/usr/local/etc/php-fpm.conf ‘
ERRO: Falha na inicialização do FPM
PHP-FPM.Conf copie arquivos do arquivo de origem para esse local.
cp /root /php-7.0.0alpha1/sapi/fpm/php-fpm.conf/usr/local/etc/php-fpm.conf
2.Erro: Não é possível globalizar ‘/usr/local/nenhum/etc/php-fpm.d/*.conf ‘(ret = 2) de/usr/local/etc/php-fpm.conf na linha 125.
Erro: falha ao carregar o arquivo de configuração ‘/usr/local/etc/php-fpm.conf ‘
ERRO: Falha na inicialização do FPM
Editar/usr/local/etc/php-fpm.Conf Document Introduzido * .Conf parte, alteração para o caminho correto incluir = / usr / local / etc / php-fpm.d / *. Conf
Se não houver/usr/local/etc/php-fpm.diretório d, crie o diretório.
3.Aviso: nada corresponde ao padrão de inclusão ‘/usr/local/etc/php-fpm.d/*.conf ‘de/usr/local/etc/php-fpm.conf na linha 125.
ERRO:. Nenhum pool definido pelo menos uma seção do pool deve ser especificado no arquivo de configuração
Erro: falha ao pós-processo da configuração
ERRO: Falha na inicialização do FPM
CP www.conf.Padrão www.conf
4.Erro: [Pool www] não pode obter GID para o grupo ‘ninguém’
ERRO: Falha na inicialização do FPM
Www.Conf abrir arquivos, usuários de usuário e grupo em configurações padrão nginx, geralmente o padrão é www-data.
1 ano atrás
Para maximizar o desempenho do servidor com a velocidade mais alta, com o menor número de recursos, decidi compilar manualmente o PHP 8 a partir do sistema operacional mínimo baseado em Linux/UNIX (minha distração Linux é pacotes baseados em RPM)
Meu sistema foi ligado com sucesso pelo Php 8.0.9 – Com o opcache/jit ativado e outros módulos de extensão PHP. Aqui estão várias experiências que podem economizar várias horas de pesquisa.
1. Antes da etapa (3) – Configure e construa PHP – Para garantir que não ocorram erros, você pode consultar minha biblioteca de pré -requisito.
sudo dnf install \
GCC GCC-C ++ Faça CMake Autoconfig \
zlib Zlib-devel pcre pcre-devel \
libxml2-devel libxslt-devel \
BZIP2-DEVEL CURL-DEVEL LIBZIP-DEVEL \
sqlite-devel \
Systemd-devel \
OpenSSL-devel \
libffi-devel \
libpng libpng-devel libwebp libwebp-devel libjpeg libjpeg-devel libxpm libxpm-devel \
Freetype-devel \
GMP-DEVEL \
libldb-devel \
libc-client libc-client-devel \
Openldap Openldap-devel \
Oniguruma oniguruma-devel \
net-snmp-devel readline-devel unixodbc-devel \
UW-IMAP UW-IMAP-DEVEL UW-IMAP-ESTÁTICO UW-IMAP-UTILS \
libicu-devel \
enchant2 enchant2-devel \
gd gd-devel \
libsodium libsodium-devel \
LIBTIDY LIBTIDY-DEVEL
Você pode não receber um erro ao emitir ./Configure, Make && Make Instale. Mesmo quando você constrói manualmente seu pacote de extensão PHP mais tarde.
2. Na etapa 5 – antes de modificar o PHP.ini – você pode verificar se o php atual está lendo qual php.arquivo ini por este comando
php -ini | Grep php.ini
# Meu resultado. É diferente do tutorial.
Arquivo de configuração (PHP.ini) caminho =>/usr/local/lib
Arquivo de configuração carregado =>/usr/local/lib/php.ini
4 anos atras
Quando eu executo o seguinte comando para iniciar o PHP-FPM:
/usr/local/bin/php-fpm
Recebi as seguintes informações de erro:
Não é possível globalizar ‘/usr/local/nenhum/etc/php-fpm.d/*.conf ‘(ret = 2) de/usr/local/etc/php-fpm.conf na linha 143.
Para corrigir este erro, faça:
mude o st
Como configurar o php no nginx com o exemplo fastcgi (php-fpm)
1. Configurar: Erro:. XML2-Config não encontrado, verifique sua instalação libxml2.
O nginx tem php
Construir a partir da fonte não é fácil se algo for um pouco diferente, e eu tive dificuldade com alguns diretórios e opções de configuração. Eu estava fracassando pela web até encontrar este site que traduziu do chinês. Ninguém mais teve a solução. Não consegui fazer o PHP FPM começar até mudar o diretório (Item 2.Erro: Não é possível globalizar). Eu tive outros problemas listados, mas consegui resolvê -los. Por favor, não exclua isso, é uma informação muito útil.
O site original (é em chinês, não no meu site, mas quero dar crédito):
(Há um pouco mais lá, você pode ir para o site)
1. Configurar: Erro:. XML2-Config não encontrado, verifique sua instalação libxml2.
Instalação apt-get Libxml2-dev
2.Aviso: Declaração de Pear_installer :: Download () deve ser compatível com & Pear_downloader :: Download ($ params) em Phar: /// root/php-7.0.0Alpha1/Pear/Install Pear-Nozlib.Phar /Pear /Instalador.PHP na linha 43
Aviso: Declaração de Pear_packagefile_parser_v2 :: parse () deve ser compatível com Pear_xmlparser :: parse ($ dados) em Phar: /// root/php-7.0.0Alpha1/Pear/Install Pear-Nozlib.Phar/ Pear/ PackageFile/ Parsers/ V2.PHP na linha 113
[Pear] Archive_tar – já instalado: 1.3.13
[Pear] Console_GETOPT – já instalado: 1.3.1
[Pear] Structures_graph- já instalado: 1.0.4
Aviso: Declaração de Pear_task_replace :: init () deve ser compatível com Pear_task_common :: init ($ xml, $ FileAttributes, $ LastVersion) em Phar: /// Root/Php-7.0.0Alpha1/Pear/Install Pear-Nozlib. Phar / Pear / Tarefa / Substitua.PHP na linha 31
[Pear] xml_util – já instalado: 1.2.3
Aviso: Declaração de Pear_task_windowseol :: init () deve ser compatível com Pear_task_Common :: init ($ xml, $ FileAttributes, $ lastversion) em Phar: /// root/php-7.0.0Alpha1/Pear/Install Pear-Nozlib. Phar / Pear / Tarefa / Windowseol.PHP na linha 76
Aviso: Declaração de Pear_task_unixeol :: init () deve ser compatível com Pear_task_common :: init ($ xml, $ FileAttributes, $ LastVersion) em Phar: /// root/php-7.0.0Alpha1/Pear/Install Pear-Nozlib. Phar / Pear / Task / Unixeol.PHP na linha 76
[Pear] Pear – já instalada: 1.9.5
1.Erro: falha ao abrir o arquivo de configuração ‘/usr/local/etc/php-fpm.conf ‘: nenhum arquivo ou diretório (2)
Erro: falha ao carregar o arquivo de configuração ‘/usr/local/etc/php-fpm.conf ‘
ERRO: Falha na inicialização do FPM
PHP-FPM.Conf copie arquivos do arquivo de origem para esse local.
cp /root /php-7.0.0alpha1/sapi/fpm/php-fpm.conf/usr/local/etc/php-fpm.conf
2.Erro: Não é possível globalizar ‘/usr/local/nenhum/etc/php-fpm.d/*.conf ‘(ret = 2) de/usr/local/etc/php-fpm.conf na linha 125.
Erro: falha ao carregar o arquivo de configuração ‘/usr/local/etc/php-fpm.conf ‘
ERRO: Falha na inicialização do FPM
Editar/usr/local/etc/php-fpm.Conf Document Introduzido * .Conf parte, alteração para o caminho correto incluir = / usr / local / etc / php-fpm.d / *. Conf
Se não houver/usr/local/etc/php-fpm.diretório d, crie o diretório.
3.Aviso: nada corresponde ao padrão de inclusão ‘/usr/local/etc/php-fpm.d/*.conf ‘de/usr/local/etc/php-fpm.conf na linha 125.
ERRO:. Nenhum pool definido pelo menos uma seção do pool deve ser especificado no arquivo de configuração
Erro: falha ao pós -processo
ERRO: Falha na inicialização do FPM
CP www.conf.Padrão www.conf
4.Erro: [Pool www] não pode obter GID para o grupo ‘ninguém’
ERRO: Falha na inicialização do FPM
Www.Conf abrir arquivos, usuários de usuário e grupo em configurações padrão nginx, geralmente o padrão é www-data.
1 ano atrás
Para maximizar o desempenho do servidor com maior velocidade, com menos recursos, decidi compilar o PHP 8 manualmente a partir do sistema operacional mínimo baseado em Linux/UNIX (minha distração Linux é pacotes baseados em RPM)
Meu sistema foi ligado com sucesso pelo Php 8.0.9 – Com o Opcache/JIT ativado e outros vários módulos de extensão PHP. Aqui estão várias experiências que podem economizar várias horas de pesquisa.
1. Antes da etapa (3) – Configurar e construir PHP – Para garantir que nenhum erro ocorra, você pode consultar minha biblioteca de pré -requisitos.
sudo dnf install \
GCC GCC-C ++ Faça CMake Autoconfig \
zlib Zlib-devel pcre pcre-devel \
libxml2-devel libxslt-devel \
BZIP2-DEVEL CURL-DEVEL LIBZIP-DEVEL \
sqlite-devel \
Systemd-devel \
OpenSSL-devel \
libffi-devel \
libpng libpng-devel libwebp libwebp-devel libjpeg libjpeg-devel libxpm libxpm-devel \
Freetype-devel \
GMP-DEVEL \
libldb-devel \
libc-client libc-client-devel \
Openldap Openldap-devel \
Oniguruma oniguruma-devel \
net-snmp-devel readline-devel unixodbc-devel \
UW-IMAP UW-IMAP-DEVEL UW-IMAP-ESTÁTICO UW-IMAP-UTILS \
libicu-devel \
enchant2 enchant2-devel \
gd gd-devel \
libsodium libsodium-devel \
LIBTIDY LIBTIDY-DEVEL
Você pode não receber erro ao emitir ./Configure, Make && Make Instale. Mesmo quando você constrói manualmente seu pacote de extensão PHP mais tarde.
2. Na etapa 5 – antes de modificar o PHP.ini – você pode verificar se o php atual está lendo qual php.arquivo ini por este comando
php -ini | Grep php.ini
# Meu resultado. É diferente do tutorial.
Arquivo de configuração (PHP.ini) caminho =>/usr/local/lib
Arquivo de configuração carregado =>/usr/local/lib/php.ini
4 anos atras
Quando eu executo o seguinte comando para iniciar o PHP-FPM:
/usr/local/bin/php-fpm
Recebi as seguintes informações de erro:
Não é possível globalizar ‘/usr/local/nenhum/etc/php-fpm.d/*.conf ‘(ret = 2) de/usr/local/etc/php-fpm.conf na linha 143.
Para corrigir este erro, faça:
Altere a string “Incluir = None/etc/php-fpm.d/*.conf “para” incluir = etc/php-fpm.d/*.Conf “no arquivo”/usr/local/etc/php-fpm.Conf “com editor de texto.
Depois disso, tento iniciar o PHP-FPM novamente e recebi informações de erro novamente:
Nada corresponde ao padrão ‘/usr/local/etc/php-fpm.d/*.conf ‘de/usr/local/etc/php-fpm.conf na linha 143.
Para corrigir este erro, faça:
CP/usr/local/etc/php-fpm.d/www.conf.default/usr/local/etc/php-fpm.d/www.conf
4 anos atras
CP PHP/PHP.INI-DESENVOLVIMENTO PHP/LIB/PHP.ini
CP PHP/etc/php-fpm.conf.Php/etc/php-fpm padrão.conf
CP PHP/etc/php-fpm.d/www.conf.Php/etc/php-fpm padrão.d/www.conf
3 anos atrás
No sistema Linux, se você deseja adicionar o serviço PHP-FPM ao serviço do sistema; É fácil fazer isso, porque o PHP oferece o script de shell relacionado:
Depois de fazer e fazer instalar; insira o pacote de código -fonte SAPI/FPM/INIT.d.php-fpm; Digite o código no sistema Linux.
CP SAPI/FPM/INIT.d.php-fpm /etc /init.D/PHP-FPM
então você pode usar “php-fpm
7 anos atrás
Se você receber o erro “não encontrado”, adicione a diretiva “root root_dir_location” ao bloco de localização do PHP I.e. “Localização ~* \.php $ < >“, onde root_dir_location é o diretório raiz como”/usr/share/nginx/html ” .
7 anos atrás
Na Etapa 3, após o comando “Sudo Make Install”
Se houver problema com a pêra.php.rede (https). Precisa alterar esta linha (de https para http) no makefile
Pear_installer_url = http: // pêra.php.NET/install-pear nozlib.Fhar
11 meses atrás
Grande esforço para este tutorial, muito obrigado, aqui estão minhas anotações, se podem ajudar alguém, considerando a instalação padrão no contêiner WSL2
Nota: Composer adicionado para a estrutura de Laravel.
Estes não devem ser copiados e colados, precisam ser seletivos, pois há anotações ao lado de alguns comandos,
Também comentei # alguns dos padrões escritos pelo editor original devido à incompatibilidade do meu ambiente atual.
SHA256SUM PHP-X.x.x.alcatrão.gz => e847745fd66fc8c57fac993a609fefcded93fddccd225f0620a26bb5ae5753c3
TAR ZXF PHP-X.x.x
sudo apt install build-essencial
sudo apt install -y compositor nginx pkgconf libxml2-dev libsqlite3-dev zlib1g-dev
CD PHP-X.x.x
./Configure –enable-fpm —with-mysqli make sudo make test sudo fazer instalar sudo cp php.INI-DEENVOLVIMENTO/USR/LOCAL/LIB/PHP.ini
sudo cp/usr/local/etc/php-fpm.d/www.conf.default/usr/local/etc/php-fpm.d/www.conf
sudo cp sapi/fpm/php-fpm/usr/local/bin
sudo vim/usr/local/php/php.ini sudo vim/usr/local/etc/php-fpm.d/www.conf sudo vim sapi/fpm/php-fpm.conf sudo cp sapi/fpm/php-fpm.conf/usr/local/etc
/usr/local/bin/php -v sudo/usr/local/bin/php-fpm sudo vim/etc/nginx/sites-available/padrão
localização / #root html;
#Index Index.ÍNDICE PHP.Índice HTML.htm;
>
Localização ~* \.Php $ #fastcgi_index Índice.php;
fastcgi_pass 127.0.0.1: 9000;
incluir fastcgi_params;
fastcgi_param script_filename $ document_root $ fastcgi_script_name;
fastcgi_param script_name $ fastcgi_script_name;
>
*Reiniciar nginx (root/var/www/html) Se o caminho raiz não existir, o padrão é:/usr/share/nginx/html
SUDO NGINX -T SUDO Service Nginx Reload
SUDO Service Nginx Stop
SUDO Service Nginx Start
O PHP -FPM precisa estar em um serviço ou matar o processo manualmente ps -aux | Grep php-fpm; matar
O nginx tem php
- 4 Habilidades de arquitetos corporativos que você nunca deve ignorar, enquanto certamente há muito que é um arquiteto corporativo, que habilidades são os ‘obrigatórios’ absolutos para permanecer.
- Falcor vs. GraphQL: as diferenças que são importantes, enquanto ambos representam essencialmente duas abordagens para uma meta final semelhante, existem algumas diferenças importantes entre o GraphQL e o FALCOR .
- Uma rápida olhada na linguagem de programação de carbono carbono é uma linguagem de programação experimental construída para ficar sobre os ombros do C ++ – mas com uma nova perspectiva sobre a segurança da memória.
- O Google provoca a expansão generativa da IA dentro de sua própria nuvem, os novos recursos generativos de IA, incluindo um assistente de codificação, estavam atentos ao GCP em demos de visualização nesta semana, enquanto .
- O chatgpt é melhor para codificar do que as plataformas de baixo código? O ChatGPT pode escrever código, mas não pode integrar código ou produzir idéias de design. Além disso, representa riscos de segurança e licenciamento. Por agora.
- Algumas estratégias simples para reduzir a redundância do teste de software, enquanto a cobertura abrangente de teste é obrigatória, as equipes de software devem fazer esforços conscientes para impedir que as suítes se tornem .
- O Google dobra a IA generativa do Google I/O 2023, Paul Nashawaty, do Enterprise Strategy Group, comentários sobre aprimoramentos de IA para pesquisa do Google, fotos, mapas e mapas .
- Especialistas em segurança compartilham as melhores práticas de auditoria em nuvem Uma auditoria em nuvem permite que as organizações avaliem o desempenho do fornecedor da nuvem. Especialistas em auditoria Shinesa Cambric e Michael Ratemo Talk .
- Implante um aplicativo no Google Cloud Run with Terraform usando o Terraform para implantar um aplicativo no Google Cloud Run permite um processo de implantação escalável e pode reduzir a configuração .
- Crowdstrike alerta de aumento nos ataques de hipervisor da VMware Esxi à medida que a adoção empresarial da tecnologia de virtualização aumenta, Crowdstrike observou um aumento nos ataques de ransomware em servidores .
- O BL00DY RANSOMWARE GANG se tem como alvo as escolas por meio da falha de papel que a gangue BL00DY RANSOMWARE está direcionando as escolas por meio de uma falha crítica de execução de código remoto presente em instâncias não patchedas de .
- Especialistas questionam $ 1 de San Bernardino.1M de pagamento de resgate, enquanto nenhum serviço de segurança pública foi comprometida no ataque de ransomware ao departamento do xerife do condado de San Bernardino, o .
- A AWS Control Tower visa simplificar o gerenciamento de várias contas, muitas organizações lutam para gerenciar sua vasta coleta de contas da AWS, mas a Torre de Control pode ajudar. O serviço automatiza .
- Quebrar o modelo de precificação Amazon EKS, existem várias variáveis importantes no modelo de precificação Amazon EKS. Cavar os números para garantir que você implante o serviço .
- Compare EKS vs. Kubernetes auto-gerenciados na AWS AWS Os usuários enfrentam uma escolha ao implantar Kubernetes: execute-o no EC2 ou deixe a Amazon fazer o levantamento pesado com EKS. Ver .
Como instalar Linux, Nginx, MySQL, PHP (pilha Lemp) no Ubuntu 16.04
A pilha de software Lemp é um grupo de software que pode ser usado para servir páginas da web dinâmicas e aplicativos da web. Este é um acrônimo que descreve um sistema operacional Linux, com um servidor da web nginx. Os dados de back -end são armazenados no banco de dados MySQL e o processamento dinâmico é tratado pelo PHP.
Neste guia, demonstraremos como instalar uma pilha Lemp em um Ubuntu 16.04 servidor. O sistema operacional Ubuntu cuida do primeiro requisito. Descreveremos como colocar o restante dos componentes em funcionamento.
Pré -requisitos
Antes de concluir este tutorial, você deve ter uma conta de usuário regular e não raiz no seu servidor com privilégios sudo. Você pode aprender a configurar esse tipo de conta, completando nosso Ubuntu 16.04 Configuração inicial do servidor.
Depois de disponibilizar seu usuário, entre no seu servidor com esse nome de usuário. Agora você está pronto para iniciar as etapas descritas neste guia.
Etapa 1: instale o servidor da web nginx
Para exibir páginas da web para os visitantes do nosso site, vamos empregar o Nginx, um servidor web moderno e eficiente.
Todo o software que usaremos para este procedimento virá diretamente do Ubuntu’s Repositórios de pacote padrão. Isso significa que podemos usar o pacote de pacotes apt para concluir a instalação.
Como esta é a nossa primeira vez usando o APT para esta sessão, devemos começar atualizando nosso índice de pacote local. Podemos então instalar o servidor:
No Ubuntu 16.04, Nginx está configurado para começar a executar após a instalação.
Se você tiver o firewall do UFW, conforme descrito em nosso guia de configuração inicial, precisará permitir conexões com nginx. Nginx se registra no UFW após a instalação, portanto o procedimento é bastante direto.
É recomendável que você ative o perfil mais restritivo que ainda permitirá o tráfego que deseja. Desde que nós’T configurou o SSL para o nosso servidor ainda, neste guia, precisaremos apenas permitir o tráfego na porta 80.
Você pode ativar isso digitando:
Você pode verificar a mudança digitando:
Você deve ver o tráfego HTTP permitido na saída exibida:
SaídaStatus: ativo à ação de------- ---- OpenSSH Permitir em qualquer lugar nginx http permitir em qualquer lugar openssh (v6) permitir em qualquer lugar (v6) nginx http (v6) permitir em qualquer lugar (v6)
Com a nova regra do firewall adicionada, você pode testar se o servidor estiver em funcionamento acessando seu servidor’s nome de domínio ou endereço IP público em seu navegador da web.
Se você não tiver um nome de domínio apontado para o seu servidor e não conhece seu servidor’S Endereço IP público, você pode encontrá -lo digitando um dos seguintes a seguir no seu terminal:
Isso imprimirá alguns endereços IP. Você pode experimentar cada um deles por sua vez no seu navegador da web.
Como alternativa, você pode verificar qual endereço IP é acessível, conforme visualizado de outros locais na Internet:
Tipo um dos endereços que você recebe em seu navegador da web. Deve levá -lo a Nginx’S Página de destino padrão:
http: //Server_Domain_or_ip
Se você vir a página acima, você instalou com sucesso o nginx.
Etapa 2: Instale o MySQL para gerenciar os dados do site
Agora que temos um servidor da web, precisamos instalar o MySQL, um sistema de gerenciamento de banco de dados, para armazenar e gerenciar os dados do nosso site.
Você pode instalar isso facilmente digitando:
Você será solicitado a fornecer uma senha raiz (administrativa) para uso no sistema MySQL.
O software MySQL Database agora está instalado, mas sua configuração não está exatamente completa ainda.
Para garantir a instalação, podemos executar um script de segurança simples que perguntará se queremos modificar alguns padrões inseguros. Comece o script digitando:
Você será solicitado a inserir a senha definida para a conta raiz do MySQL. Em seguida, você será perguntado se deseja configurar o plugin de senha validate .
Aviso: Habilitar esse recurso é um julgamento. Se ativado, senhas que não’t corresponde aos critérios especificados serão rejeitados pelo MySQL com um erro. Isso causará problemas se você usar uma senha fraca em conjunto com o software que configura automaticamente as credenciais de usuário do MySQL, como os pacotes Ubuntu para Phpmyadmin. É seguro deixar a validação desativada, mas você sempre deve usar senhas fortes e exclusivas para credenciais de banco de dados.
Responder y para sim, ou qualquer outra coisa para continuar sem permitir.
Validar o plug -in de senha pode ser usado para testar senhas e melhorar a segurança. Ele verifica a força da senha e permite que os usuários defina apenas aquelas senhas que são seguras o suficiente. Você gostaria de configurar o plug -in de validar a senha? Pressione Y | y para sim, qualquer outra chave para não:
Se você’Vi a validação, você’Será solicitado a selecionar um nível de validação de senha. Lembre -se de que se você entrar 2, Para o nível mais forte, você receberá erros ao tentar definir qualquer senha que não contenha números, letras superiores e minúsculas e caracteres especiais, ou que é baseado em palavras comuns de dicionário.
Existem três níveis de política de validação de senha: baixo comprimento> = 8 Comprimento médio> = 8, numérico, estojo misto e caracteres especiais Comprimento forte> = 8, numérico, caso misto, caracteres especiais e arquivo de dicionário, digite 0 = baixo, 1 = médio e 2 = forte: 1
Se você ativou a validação de senha, você’será mostrado uma força de senha para a senha raiz existente e perguntei se você deseja alterar essa senha. Se você estiver feliz com sua senha atual, digite n para “não” no prompt:
Usando a senha existente para root. Força estimada da senha: 100 Altere a senha para root ? ((Pressione Y | y para sim, qualquer outra chave para não): n
Para o resto das perguntas, você deve pressionar Y e acertar o Digitar chave em cada prompt. Isso removerá alguns usuários anônimos e o banco de dados de teste, desativará logins de raiz remota e carregar essas novas regras para que o MySQL respeite imediatamente as alterações que fizemos.
Neste ponto, seu sistema de banco de dados agora está configurado e podemos seguir em frente.
Etapa 3: Instale o PHP para processamento
Agora temos o Nginx instalado para servir nossas páginas e o MySQL instalado para armazenar e gerenciar nossos dados. No entanto, ainda não fomos’T tem algo que pode gerar conteúdo dinâmico. Podemos usar o PHP para isso.
Como o Nginx não contém processamento nativo de PHP, como outros servidores da Web, precisaremos instalar o PHP-FPM, o que significa “Gerenciador de processos FastCGI”. Diremos ao NGINX para passar solicitações de PHP para este software para processamento.
Podemos instalar este módulo e também pegamos um pacote ajudante adicional que permitirá que o PHP se comunique com nosso back -end de banco de dados. A instalação puxará os arquivos do núcleo php necessário. Faça isso digitando:
Configure o processador PHP
Agora temos nossos componentes PHP instalados, mas precisamos fazer uma ligeira alteração de configuração para tornar nossa configuração mais segura.
Abra o arquivo de configuração PHP-FPM principal com privilégios root:
O que estamos procurando neste arquivo é o parâmetro que define CGI.FIX_PATHINFO . Isso será comentado com um semi-colon (;) e definido como “1” por padrão.
Esta é uma configuração extremamente insegura, porque diz ao PHP para tentar executar o arquivo mais próximo que pode encontrar se o arquivo PHP solicitado não puder ser encontrado. Isso basicamente permitiria que os usuários criassem solicitações de PHP de uma maneira que lhes permitiria executar scripts que eles não deveriam’pode ser autorizado a executar.
Vamos mudar essas duas condições, descomentando a linha e definindo -a como “0” assim:
/etc/php/7.0/FPM/PHP.ini
CGI.fix_pathinfo = 0
Salve e feche o arquivo quando terminar.
Agora, só precisamos reiniciar nosso processador PHP digitando:
Isso implementará a mudança que fizemos.
Etapa 4: configure o nginx para usar o processador PHP
Agora, temos todos os componentes necessários instalados. A única mudança de configuração que ainda precisamos é dizer ao Nginx para usar nosso processador PHP para conteúdo dinâmico.
Fazemos isso no nível do bloco do servidor (os blocos do servidor são semelhantes ao Apache’s hosts virtuais). Abra o arquivo de configuração do bloco de servidor nginx padrão, digitando:
Atualmente, com os comentários removidos, o arquivo de bloco de servidor padrão nginx se parece com o seguinte:
/etc/nginx/sites-disponível/padrão
servidor < listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / < try_files $uri $uri/ =404; >>
Precisamos fazer algumas alterações neste arquivo para o nosso site.
- Primeiro, precisamos adicionar índice.PHP como o primeiro valor da nossa diretiva de índice para que os arquivos nomeados índices.PHP são servidos, se disponível, quando um diretório é solicitado.
- Podemos modificar a diretiva servidor_name para apontar para o nosso servidor’s nome de domínio ou endereço IP público.
- Para o processamento PHP real, precisamos apenas descobrir um segmento do arquivo que lida com solicitações de PHP removendo os símbolos de libra (#) na frente de cada linha. Este será o local ~ \.bloco de localização php $, o fastcgi-php incluído.Conf Snippet e o soquete associado ao PHP-FPM .
- Também vamos descomentar o bloco de localização que lida com .arquivos htaccess usando o mesmo método. Nginx não’t Processe esses arquivos. Se algum desses arquivos encontrar o caminho na raiz do documento, eles não devem ser servidos aos visitantes.
As alterações que você precisa fazer estão em vermelho no texto abaixo:
/etc/nginx/sites-disponível/padrão
servidor < listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index índice.php índice.Índice HTML.Índice HTM.nginx-debian.html; nome do servidor Server_Domain_or_ip; localização / < try_files $uri $uri/ =404; >Localização ~ \.php $ Inclua trechos/fastcgi-php.conf; fastcgi_pass Unix:/run/php/php7.0-fpm.meia; > Localização ~ /\.ht negar tudo; > >
Quando você’Faça as alterações acima, você pode salvar e fechar o arquivo.
Teste seu arquivo de configuração para erros de sintaxe digitando:
Se algum erro for relatado, volte e verifique novamente o seu arquivo antes de continuar.
Quando estiver pronto, recarregue o Nginx para fazer as alterações necessárias:
Etapa 5: Crie um arquivo PHP para testar a configuração
Sua pilha Lemp agora deve ser completamente configurada. Podemos testá -lo para validar que o nginx pode entregar corretamente .Arquivos PHP para nosso processador PHP.
Podemos fazer isso criando um arquivo php de teste em nossa raiz de documentos. Abra um novo arquivo chamado informações.PHP dentro do seu documento raiz em seu editor de texto:
Digite ou cole as seguintes linhas no novo arquivo. Este é o código PHP válido que retornará informações sobre nosso servidor:
/var/www/html/info.php
Quando terminar, salve e feche o arquivo.
Agora, você pode visitar esta página no seu navegador da web visitando seu servidor’s nome de domínio ou endereço IP público seguido de /info.PHP:
http: //Server_Domain_or_ip/Info.php
Você deve ver uma página da web gerada pelo PHP com informações sobre seu servidor:
Se você vir uma página que se parece com isso, você’configurou o processamento de php com o nginx com sucesso.
Depois de verificar se o nginx renderiza a página corretamente, ela’é melhor remover o arquivo que você criou, pois ele pode realmente dar aos usuários não autorizados algumas dicas sobre sua configuração que podem ajudá -los a tentar entrar. Você sempre pode regenerar este arquivo se precisar mais tarde.
Por enquanto, remova o arquivo digitando:
Conclusão
Agora você deve ter uma pilha Lemp configurada no seu Ubuntu 16.04 servidor. Isso oferece uma base muito flexível para servir o conteúdo da web aos seus visitantes.
Obrigado por aprender com a comunidade digital. Confira nossas ofertas de bancos de dados de computação, armazenamento, rede e gerenciamento.