Servidor Web · 4 min read · Oct 24, 2025

Como Instalar Nginx Com PHP E MySQL (LEMP Stack) No CentOS 7

Nginx (pronunciado “engine x”) é um servidor HTTP gratuito, de código aberto e de alto desempenho. O Nginx é conhecido por sua estabilidade, conjunto rico de recursos, configuração simples e baixo consumo de recursos. Este tutorial mostra como você pode instalar o Nginx em um servidor CentOS 7 com suporte a PHP (através do PHP-FPM) e suporte a MySQL (Mariadb).

1 Nota Preliminar

Neste tutorial, uso o nome do host server1.example.com com o endereço IP 192.168.1.105. Essas configurações podem diferir para você, então você deve substituí-las onde apropriado.

2 Habilitando Repositórios Adicionais

O Nginx não está disponível nos repositórios oficiais do CentOS, então incluímos o repositório do projeto Nginx para instalá-lo:

vi /etc/yum.repos.d/nginx.repo
 [nginx]
     name=nginx repo
     baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
     gpgcheck=0
     enabled=1

3 Instalando MySQL

Primeiro, instalamos o Mariadb. O Mariadb é um fork gratuito do MySQL. Execute este comando no shell:

yum install mariadb mariadb-server net-tools

Em seguida, criamos os links de inicialização do sistema para o MySQL (para que o MySQL inicie automaticamente sempre que o sistema for inicializado) e iniciamos o servidor MySQL:

systemctl enable mariadb.service  
systemctl start mariadb.service

Agora verifique se a rede está habilitada. Execute

netstat -tap | grep mysql

Deve mostrar algo como isto:

[root@example ~]# netstat -tap | grep mysql  
tcp 0 0 0.0.0.0:mysql 0.0.0.0:* LISTEN 10623/mysqld 

Execute

mysql_secure_installation

para definir uma senha para o usuário root (caso contrário, qualquer pessoa pode acessar seu banco de dados MySQL!):

[root@example ~]# mysql_secure_installation  
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found
NOTE: EXECUTAR TODAS AS PARTES DESTE SCRIPT É RECOMENDADO PARA TODOS OS SERVIDORES MariaDB  
EM USO EM PRODUÇÃO! POR FAVOR, LEIA CADA PASSO CUIDADOSAMENTE!
Para fazer login no MariaDB e protegê-lo, precisaremos da senha atual  
do usuário root. Se você acabou de instalar o MariaDB, e  
você ainda não definiu a senha do root, a senha estará em branco,  
portanto, você deve apenas pressionar enter aqui.
Digite a senha atual para root (pressione enter para nenhum):  
OK, senha usada com sucesso, prosseguindo...
Definir senha root? [Y/n] <-- ENTER  
Nova senha: <-- yourrootsqlpassword  
Reinsira a nova senha: <-- yourrootsqlpassword  
Senha atualizada com sucesso!  
Recarregando tabelas de privilégios..  
... Sucesso!
Por padrão, uma instalação do MariaDB tem um usuário anônimo, permitindo que qualquer um  
faça login no MariaDB sem precisar ter uma conta de usuário criada para  
ele. Isso é destinado apenas para testes, e para tornar a instalação  
mais suave. Você deve removê-los antes de passar para um  
environmento de produção.
Remover usuários anônimos? [Y/n] <-- ENTER  
... Sucesso!
Normalmente, o root deve ser permitido apenas conectar-se de 'localhost'. Isso  
assegura que alguém não possa adivinhar a senha do root pela rede.
Desabilitar login remoto do root? [Y/n] <-- ENTER  
... Sucesso!
Por padrão, o MariaDB vem com um banco de dados chamado 'test' que qualquer um pode  
acessar. Isso também é destinado apenas para testes, e deve ser removido  
antes de passar para um ambiente de produção.
Remover banco de dados de teste e acesso a ele? [Y/n] <-- ENTER  
- Removendo banco de dados de teste...  
... Sucesso!  
- Removendo privilégios no banco de dados de teste...  
... Sucesso!
Recarregar as tabelas de privilégios garantirá que todas as alterações feitas até agora  
entrem em vigor imediatamente.
Recarregar tabelas de privilégios agora? [Y/n] <-- ENTER  
... Sucesso!
Limpando...
Tudo pronto! Se você completou todos os passos acima, sua instalação do MariaDB  
deve estar agora segura.
Obrigado por usar o MariaDB!  
[root@example ~]#

[root@server1 ~]# mysql_secure_installation

4 Instalando Nginx

O Nginx está disponível como um pacote do nginx.org que podemos instalar da seguinte forma:

yum install nginx

Em seguida, criamos os links de inicialização do sistema para o nginx e o iniciamos:

systemctl enable nginx.service  
systemctl start nginx.service

Há chances de você receber um erro como porta 80 já em uso, a mensagem de erro será assim:

[root@server1 ~]# service nginx start  
Iniciando nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)  
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)  
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)  
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)  
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)  
nginx: [emerg] ainda não conseguiu bind()  
                                                           [FALHOU]  
[root@server1 ~]#

Então, isso significa que há chances de o serviço apache estar rodando lá. Pare o serviço e inicie o serviço para o NGINX da seguinte forma:

systemctl stop httpd.service  
yum remove httpd  
systemctl disable httpd.service
systemctl enable nginx.service  
systemctl start nginx.service

E abra as portas http e https no firewall:

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

A saída resultante no shell será assim:

[root@example ~]# firewall-cmd --permanent --zone=public --add-service=http  
sucesso  
[root@example ~]# firewall-cmd --permanent --zone=public --add-service=https  
sucesso  
[root@example ~]# firewall-cmd --reload  
sucesso  
[root@example ~]#

Digite o endereço IP ou nome do seu servidor web em um navegador (por exemplo, http://192.168.1.105), e você deve ver a página de boas-vindas do nginx:

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.