Como instalar o nginx, mariadb 10, php 7 (pilha Lemp) em 16.10/16.04
- 4695
- 745
- Howard Fritsch
O Lemp O Stack é um acrônimo que representa é um grupo de pacotes (Linux OS, Nginx Web Server, MySQL \ Mariaadb Database e Language de programação dinâmica do servidor PHP) que são usados para implantar aplicativos dinâmicos da Web e páginas da Web.
Este tutorial o guiará sobre como instalar uma pilha Lemp com Mariadb 10, Php 7 e HTTP 2.0 Suporte para Nginx sobre Ubuntu 16.10 e Ubuntu 16.04 servidor/edição de mesa.
Requisitos
- Instalação do Ubuntu 16.04 Servidor Edition [Instruções também funciona Ubuntu 16.10]
Etapa 1: instale o servidor da web nginx
1. Nginx é um servidor web moderno e de recursos eficientes usados para exibir páginas da web para visitantes na Internet. Começaremos instalando o NGINX Web Server a partir dos repositórios oficiais do Ubuntu usando a linha de comando APT.
$ sudo apt-get install nginxInstale o nginx no Ubuntu 16.04
2. Em seguida, emita os comandos NetStat e SystemCTL para confirmar se Nginx é iniciado e vincula na porta 80.
$ NETSTAT -TLPNVerifique a conexão da porta da rede nginx
$ sudo status systemctl nginx.serviçoVerifique o status do serviço nginx
Depois de ter a confirmação de que o servidor é iniciado, você pode abrir um navegador e navegar até o endereço IP do servidor ou o registro DNS usando o protocolo HTTP para visitar a página da web padrão nginx.
http: // ip-addressVerifique a página da web nginx
Etapa 2: Ativar nginx http/2.0 protocolo
3. O Http/2.0 protocolo que é construído por padrão no último lançamento de binários nginx em Ubuntu 16.04 Funciona apenas em conjunto com o SSL e promete uma enorme melhoria de velocidade no carregamento de páginas da web da web ssl.
Para ativar o protocolo no Nginx em Ubuntu 16.04, Primeiro navegue até os arquivos de configuração do Sites disponíveis NGINX e faça backup do arquivo de configuração padrão, emitindo o comando abaixo.
$ cd/etc/nginx/sites-disponível/$ sudo mv padrão padrão.cópia de segurançaArquivo de configuração de sites NGINX de backup
4. Em seguida, usando um editor de texto, crie uma nova página padrão com as instruções abaixo:
Servidor Ouça 443 SSL HTTP2 default_server; Ouça [::]: 443 ssl http2 default_server; root/var/www/html; ÍNDICE ÍNDICE.Índice HTML.Índice HTM.php; Server_name 192.168.1.13; localização / Try_files $ uri $ uri / = 404; ssl_certificate/etc/nginx/ssl/nginx.CRT; ssl_certificate_key/etc/nginx/ssl/nginx.chave; ssl_protocols tlsv1 tlsv1.1 TLSV1.2; ssl_prefer_server_ciphers on; SSL_CIPHERS EECDH+CHACHA20: EECDH+AES128: RSA+AES128: EECDH+AES256: RSA+AES256: EECDH+3DES: RSA+3DES:!Md5; ssl_dhparam/etc/nginx/ssl/dhparam.PEM; ssl_session_cache compartilhado: ssl: 20m; ssl_session_timeout 180m; Resolver 8.8.8.8 8.8.4.4; add_header stric-transport-scurity "max-AGE = 31536000; #includesubdomains" sempre; Localização ~ \.php $ inclua trechos/fastcgi-php.conf; fastcgi_pass Unix:/run/php/php7.0-fpm.meia; localização ~ /\.ht negar tudo; servidor Ouça 80; Ouça [::]: 80; Server_name 192.168.1.13; retornar 301 https: // $ server_name $ request_uri;Ativar protocolo Nginx HTTP 2
O trecho de configuração acima permite o uso de Http/2.0 Adicionando o http2
parâmetro para todas as diretivas de escuta SSL.
Além disso, a última parte do trecho incluída na diretiva do servidor é usada para redirecionar todo o tráfego não-SSL para o host padrão SSL/TLS. Além disso, substitua o nome do servidor
Diretiva para corresponder ao seu próprio endereço IP ou registro DNS (FQDN de preferência).
5. Depois de terminar de editar o arquivo de configuração padrão nginx com as configurações acima, gerar e listar o arquivo de certificado SSL e a chave executando os comandos abaixo.
Preencha o certificado com suas próprias configurações personalizadas e preste atenção em Nome comum Configuração para corresponder ao seu registro DNS FQDN ou seu endereço IP do servidor que será usado para acessar a página da web.
$ sudo mkdir/etc/nginx/ssl $ sudo openssl req -x509 -Nodes -Days 365 -NewKey RSA: 2048 -Keyout/etc/nginx/ssl/nginx.chave --out/etc/nginx/ssl/nginx.CRT $ ls/etc/nginx/ssl/Gerar certificado SSL e chave para nginx
6. Além disso, crie um forte DH Cypher, que foi alterado no arquivo de configuração acima SSL_DHPARAM
linha de instrução, emitindo o comando abaixo:
$ sudo openssl dhparam -out/etc/nginx/ssl/dhparam.PEM 2048Crie a chave Diffie-Hellman
7. Uma vez o Diffie-Hellman A chave foi criada, verifique se o arquivo de configuração nginx está escrito corretamente e pode ser aplicado pelo Nginx Web Server e reiniciar o daemon para refletir as alterações executando os comandos abaixo.
$ sudo nginx -t $ sudo systemctl reiniciar nginx.serviçoVerifique a configuração do nginx
8. Para testar se o nginx usa Http/2.0 Protocolo emitir o comando abaixo. A presença de H2
Protocolo anunciado confirma que o Nginx foi configurado com sucesso para usar o HTTP/2.0 protocolo. Todos os navegadores modernos atualizados devem apoiar este protocolo por padrão.
$ OpenSSL S_CLIENT -CONECT localhost: 443 -NextProtoneg "Teste nginx http 2.0 protocolo
Etapa 3: Instale o intérprete Php 7
O NGINX pode ser usado com o intérprete de linguagem de processamento dinâmico de PHP para gerar conteúdo dinâmico da Web com a ajuda do gerenciador de processos FastCGI obtido pela instalação do PHP-FPM Pacote binário de repositórios oficiais do Ubuntu.
9. Para agarrar Php7.0 e os pacotes adicionais que permitirão que o PHP se comunique com o NGINX Web Server emitem o comando abaixo no console do servidor:
$ sudo apt install php7.0 php7.0-fpmInstale o PHP 7 e o PHP-FPM para NGIN
10. Uma vez o Php7.0 O intérprete foi instalado com sucesso em sua máquina, iniciar e verificar Php7.0-fpm Daemon emitindo o comando abaixo:
$ sudo systemctl start php7.0-FPM $ SUDO SYSTEMCTL STATUS PHP7.0-fpmIniciar e verificar o serviço PHP-FPM
11. O arquivo de configuração atual do nginx já está configurado para usar Php fastcgi Gerenciador de processos para ser o conteúdo dinâmico do servidor.
O bloco de servidor que permite que o nginx use o intérprete PHP é apresentado no trecho abaixo, portanto, não são necessárias modificações adicionais do arquivo de configuração NGINX padrão.
Localização ~ \.php $ inclua trechos/fastcgi-php.conf; fastcgi_pass Unix:/run/php/php7.0-fpm.meia;
Abaixo está uma captura de tela de quais instruções você precisa para descomentar e modificar é o caso de um arquivo de configuração padrão nginx original.
Ativar PHP fastcgi para nginx12. Para testar a relação do servidor da web nginx com o PHP FastCGI Process Manager Crie um PHP Info.php
Arquivo de configuração de teste emitindo o comando abaixo e verifique as configurações visitando este arquivo de configuração usando o endereço abaixo: http: // ip_or domain/info.php
.
$ sudo su -c 'echo "" | tee/var/www/html/info.php 'Crie arquivo de informações PHP Verifique as informações do php fastcgi
Verifique também se Http/2.0 O protocolo é anunciado pelo servidor localizando a linha $ _Server ['server_protocol']
nas variáveis PHP, o bloco, conforme ilustrado na captura de tela abaixo.
13. Para instalar extra Php7.0 Os módulos usam o APT Search Php7.0
comando para encontrar um módulo PHP e instalá -lo.
Além disso, tente instalar os seguintes módulos PHP que podem ser úteis, caso você esteja planejando instalar o WordPress ou outro CMS.
$ sudo apt install php7.0-MCRYPT PHP7.0-mbstringInstale módulos Php 7
14. Para registrar os módulos extras do PHP, apenas reinicie PHP-FPM Daemon emitindo o comando abaixo.
$ sudo systemctl reiniciar php7.0-fpm.serviço
Etapa 4: Instale o banco de dados MARIADB
15. Finalmente, para completar nosso Lemp Stack, precisamos do componente do banco de dados MariaDB para armazenar e gerenciar dados do site.
Instalar Mariadb Sistema de gerenciamento de banco de dados executando o comando abaixo e reiniciar PHP-FPM serviço para usar o módulo MySQL para acessar o banco de dados.
$ sudo apt install mariadb-servidor mariadb-client php7.0-MYSQL $ sudo systemctl reiniciar php7.0-fpm.serviçoInstale o mariadb para nginx
16. Para proteger a instalação do Mariadb, execute o script de segurança fornecido pelo pacote binário dos repositórios do Ubuntu, que solicitarão que você defina uma senha root, remova usuários anônimos, desative o login root remotamente e remova o banco de dados de teste.
Execute o script emitindo o comando abaixo e responda a todas as perguntas com sim
. Use a captura de tela abaixo como um guia.
$ sudo mysql_secure_installationInstalação segura de mariadb para nginx
17. Para configurar o mariadb para que usuários comuns possam acessar o banco de dados sem sistema sudo Privilégios, vá para a interface da linha de comando MySQL com privilégios root e execute os comandos abaixo no intérprete MySQL:
$ sudo mysql mariadb> use mysql; Mariadb> atualizar conjunto de usuários plugin = "onde user =" root "; mariadb> privilégios de descarga; mariadb> saídaPermissões de usuário do MARIADB
Finalmente, faça login no banco de dados Mariadb e execute um comando arbitrário sem privilégios root, executando o comando abaixo:
$ mysql -u root -p -e 'Mostrar bancos de dados'Verifique os bancos de dados MARIADB
Isso tudo! Agora você tem um Lemp pilha configurada em Ubuntu 16.10 e Ubuntu 16.04 Servidor que permite implantar aplicativos dinâmicos complexos da Web que podem interagir com bancos de dados.
- « Como ativar o repositório RPMForge no RHEL/CENTOS 7.X/6.X/5.x
- Aprenda a usar várias funções do MySQL e MariaDB - Parte 2 »