Tutorial Debian 8 x64 com ISPConfig e NginX: Otimizando a Instalação

Após instalar o ISPConfig com a ajuda de um script alguns ajustes são necessários para consertar problemas e otimizar a configuração inicial do servidor.

Nesta parte do tutorial vamos adicionar memória SWAP, opcionalmente desativar os filtros de email e o anti-vírus, ajustar o PureFTPd para o modo passivo, otimizar o PHP e o NginX, alterar o limite de arquivos abertos no MySQL e consertar o bug no Quota.

Otimizando a Instalação do VPS

* Acesse o terminal SSH como superusuário root para executar os comando de instalação e configuração.

Adicione memória SWAP ao sistema

Vamos adicionar memória SWAP, independente da capacidade do servidor que você escolheu, isso deverá assegurar que nenhum serviço irá parar de funcionar após a instalação.

1a ⇒ Verifique se o seu sistema já não tem uma partição SWAP (na Digital Ocean ela não vem configurada mas em alguns hostings sim):

root# free -m

1b ⇒ Crie uma partição padrão alocando 2Gb de espaço ativando-a em seguida:

root# fallocate -l 2G /swapfile; chmod 600 /swapfile; mkswap /swapfile; swapon /swapfile

1c ⇒ Edite o arquivo /etc/fstab e adicione a linha abaixo para que quando reiniciar o sistema a partição continue ativa (deixe uma linha em branco no final do arquivo):

/swapfile   none    swap    sw    0   0

1d ⇒ Confirme se a partição foi criada corretamente e se o fstab aceitou a linha que você adicionou:

root# ls -lh /swapfile

root# mount -a

root# free -m

* Para uma melhor explicação dos comandos acima consulte este link
2 Opcional: Desative o Clamav Anti-Vírus

Se você pretende manter um servidor de emails com muitas contas no VPS e verificar se há vírus, e se o servidor tem uma capacidade maior que 1Gb de RAM então será melhor manter o ClamavPorém, se o principal objetivo é manter os sites dos clientes num VPS de baixo custo como o de $5 dólares então a recomendação é desativá-lo  para economizar recursos.

2a ⇒ Edite o arquivo /etc/amavis/conf.d/50-user e comente as linhas 11, 12, 14 e 15 (colocando o símbolo de # no início):

#@bypass_virus_checks_maps = (
#   \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);

[email protected]_spam_checks_maps = (
# \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);

2b ⇒ Comandos para desativar o Clamav antí-virus e reiniciar o Amavis (como eu já disse outras vezes, pode-se copiar o comando e clicar com o botão direito do mouse no console para colar):

root# /etc/init.d/clamav-daemon stop; /etc/init.d/clamav-freshclam stop; update-rc.d -f clamav-daemon remove; update-rc.d -f clamav-freshclam remove; /etc/init.d/amavis restart; systemctl stop clamav-daemon.socket

Edite o arquivo /etc/systemd/system/clamav-daemon.socket.d/extend.conf e altere as linhas abaixo conforme mostrado em vermelho:

[Socket]
ListenStream=
SocketUser=clamav
ListenStream=/var/run/clamav/clamd.ctl.change
SocketGroup=nobody
SocketMode=600

* Para o CLAMAV não ressuscitar veja a observação no Passo 6 mais abaixo neste mesmo artigo (desativando ele completamente dará uma grande diferença de performance). Para verificar a lista de processos ativos digite o comando:

root# ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS

2c ⇒ E por último, somente remova o Amavis se você não pretende de forma alguma ter o servidor de email executando (exemplo: muitas empresas optam por usar um serviço de email externo com SMTP Relay):

root# /etc/init.d/amavis stop

root# update-rc.d amavis disable
3 Servidor FTP no modo Passivo (PASV)

Para configurar o FTP no modo passivo é necessário criar dois arquivos específicos com alguns parâmetros, reiniciar o PureFTPd e liberar as portas no Firewall.

3a ⇒ Neste exemplo iremos permitir até 50 conexões simultâneas. Execute os comandos:

root# echo 40110 40210 > /etc/pure-ftpd/conf/PassivePortRange

root# echo 50 > /etc/pure-ftpd/conf/MaxClientsNumber

root# /etc/init.d/pure-ftpd-mysql restart

3b ⇒ Após configurar o PureFTPd ainda será necessário liberar as portas no Firewall (adiante neste tutorial publicaremos um artigo completo dedicado ao Firewall, mas por enquanto vamos simplesmente ativar a segurança básica liberando as portas necessárias).

No ISPConfig o Firewall é facilmente acessado em:

ISPConfig → Sistema → Firewall

Clique no botão “Adicionar Registro de Firewall” e confirme a tela que abrirá (se já havia adicionado o Firewall simplesmente abra a configuração existente), em seguida clique na linha de configuração e na caixa de “Portas TCP abertas” adicione “40110:40210” desta maneira (não esqueça da vírgula):

20,21,22,25,53,80,110,143,443,587,993,995,3306,8080,8081,10000,40110:40210

Uma lista com arquivos de configuração para o Pure-FTPd (wrappers) pode ser encontrada neste link.

Otimizando o PHP e o NginX

Este passo é indispensável para o bom funcionamento dos sites. No tutorial anterior eu havia escrito estas informações em várias postagens, mas neste irei resumir quase tudo em um texto único.

4a ⇒ Edite o arquivo /etc/php5/fpm/php.ini e altere as seguintes linhas:

#Linha 372:
#Observacao: Se estiver usando ManageWP altere os valores de 180 para 800 (nas linhas onde aparecem)
max_execution_time = 180

#Linha 382:
max_input_time = 180

#Linha 389: Para sites de loja virtual (exemplo Magento e Opencart) ou sites OptimizePress será necessário habilitar e alterar o valor dessa linha para o correto funcionamento (retire o ponto e virgula no inicio da linha e altere o valor de 1000 para 5000)
max_input_vars = 5000

#Linha 393: (se usar ManageWP altere para 512M)
#A última versão do Mautic pede pelo menos 256M para evitar erros: Allowed memory size of xxxx bytes exhausted
memory_limit = 256M

#Linha 660:
post_max_size = 100M

#Linha 820:
upload_max_filesize = 100M

#Linha 823:
max_file_uploads = 100

#Linha 894 (para verificar qual a timezone configurada no sistema digite o comando: "cat /etc/timezone"):
date.timezone = "America/Sao_Paulo"

4b ⇒ Acesse o ISPConfig e altere o tamanho máximo permitido nos anexos de email (isso é um bug que ainda persiste em algumas configurações)

ISPConfig → Sistema → Configuração do Servidor → <Selecione o servidor> → aba Mail

No campo “Tamanho máximo de mensagem” altere de 0 (zero) para 100Mb

4c ⇒ Edite o arquivo /etc/php5/fpm/pool.d/www.conf e altere a linha abaixo:

#Linha 328 (descomente-a deletando o sinal de ponto e vírgula do início)
#Observacao: Se estiver usando ManageWP altere o valor para 800
request_terminate_timeout = 180

4d ⇒ Edite o arquivo /etc/nginx/nginx.conf e altere/adicione as linhas abaixo. Mas antes de alterar as linhas verifique o número de CPU’s do seu servidor, parâmetro necessário para configurar o limite de arquivos simultâneos abertos  pelo NginX corretamente.

root# grep processor /proc/cpuinfo | wc -l

* Num VPS de baixo custo o valor exibido é “1

* Configure worker_processes para o dobro do número de CPU’s = “2

* Configure worker_connections para 1024 x número de CPU’s = “1024

* Configure worker_rlimit_nofile para o dobro de worker_connections = “2048

#Altere o início do arquivo entre as linhas 1 e 9 desta maneira:
 
user www-data;
worker_processes 2;
pid /run/nginx.pid;

events {
   worker_connections 1024;
   multi_accept on;
   use epoll;
}
worker_rlimit_nofile 2048;


#Entre as linhas 51 a 56 ative o modo de compactação gzip descomentando (retire o sinal de #)
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
 

#Adicione algumas novas instruções, a partir da linha 64 logo abaixo das diretivas "include" e antes de fechar o bloco
#Se usar o ManageWP altere os valores das 4 ultimas linhas de 180 para 800
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
 
client_max_body_size 100M;
client_body_buffer_size 16k;

#Com a colaboração do leitor Glauber Silva, que comentou abaixo reportando fix para duas situações em seu site, decidi alterar as linhas de buffer no tutorial (utilize somente as que estão em negrito)
#fastcgi_buffers 8 16k;
#fastcgi_buffer_size 32k;

fastcgi_buffers 256 16k;
fastcgi_buffer_size 128k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_connect_timeout 180;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
proxy_read_timeout 180;

4e ⇒ Reinicie o PHP e o NginX:

root# /etc/init.d/php5-fpm restart

root# /etc/init.d/nginx restart

5 Alterando o limite de arquivos abertos no MySQL

Isso irá prevenir que o banco de dados MySQL entre em loop de erro parando todos os serviços que dependem dele. Recentemente tive que fazer um atendimento de emergência onde todos os sites de um servidor simplesmente pararam de funcionar por causa disso, pois todos dependiam do MySQL, incluindo o painel do ISPConfig.

O Sistema Operacional, os aplicativos nele e o Banco de Dados têm um limite padrão para arquivos abertos, quando este limite excede os serviços simplesmente começam a gerar log de erros infinitos. No MySQL o mais comum é: “mysql (errno: 24 – too many open files) out of resources“, ou seja “muitos arquivos abertos, recursos esgotados”. Além disso, como são muitos erros gravados, o servidor facilmente fica sem espaço disponível no HD.

Para ajudar a prevenir isso temos que alterar alguns arquivos.

5a ⇒ Verifique os limites atuais:

• Para verificar as limitações do sistema operacional digite o comando abaixo, veja que no Debian 8 64-bit “Open files” está com um limite de 65536 que é o máximo do sistema. Nâo há necessidade de alterar isso.

root# ulimit -a

• Para verificar o limite de arquivos abertos no MySQL execute o comando abaixo (será necessário digitar a senha admin do MySQL):

root# mysql -u root -p --execute='show variables like "open_files_limit"'

Será exibido um resultado parecido com este, note que está limitado em 1024 arquivos simultâneos abertos:

+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| open_files_limit | 1024  |
+------------------+-------+

5b ⇒ Alterando os limites nas sessões de sistema:

• Edite o arquivo /etc/security/limits.conf e adicione estas 2 novas linhas logo acima de “# End of file”:

mysql soft nofile 24000
mysql hard nofile 32000

# End of file

• Edite o arquivo /etc/pam.d/common-session e adicione esta nova linha ao final:

session required pam_limits.so

5c ⇒ Alterando os limites no MySQL.

• Edite o arquivo /etc/mysql/my.cnf e adicione 2 novas linhas:

# Logo abaixo da instrução [mysqld_safe] na linha 27 acrescente uma nova linha com o texto em negrito abaixo:
 
[mysqld_safe]
open_files_limit = 65536


# Logo abaixo da instrução [mysqld] da linha 32 adicione o mesmo texto novamente:

[mysqld]
#
# * Basic Settings
#
open_files_limit = 65536

• Reinicie o MySQL e execute novamente o comando para verificar o limite no MySQL.

root# /etc/init.d/mysql restart

5d ⇒ Método alternativo para verificar os limites de arquivos abertos (serve para qualquer serviço)

• Digite o comando para listar os processos ativos filtrando o mysql:

root# ps auxw |grep mysql

• Irá exibir 2 processos, o primeiro é do mysqld_safe e o segundo o mysql normal. Agora digite o seguinte comando para mostrar os limites de arquivo por processo:

root# cat /proc/1234/limits |grep "open files"

* Substitua 1234 pelo número do processo exibido com o comando ps auxw

* * Um outro exemplo: pode-se verificar os limites de arquivos abertos simultaneamente pelo NginX com estes mesmos comandos

6 Fix para o bug de start para o serviço Quota

Mesmo após reiniciar o servidor parece haver um bug no serviço Quota que não inicializa. Digite o comando abaixo para forçar isso:

root# /etc/init.d/quota restart

Em seguida digite o seguinte comando para verificar se todos os serviços estão executando (role a tela com as teclas de navegação e para sair digite “q):

root# systemctl

O problema aqui é que o systemD inicia o serviço Quota muito adiantado em um reboot. Para consertar o problema edite o arquivo /etc/rc.local:

* EDIT: Neste mesmo arquivo faça uma correção para que o CLAMAV não retorne mesmo a gente tendo desativado ele diversas vezes já:

#Na linha 14 logo acima de "exit 0" abra uma linha em branco e digite:

#Se você optou pelo NginX durante a instalação, force o Apache a desligar e reinicie o NginX. Decomente (delete o simbolo "#") nas linhas de STOP para o Apache e RESTART para o NginX abaixo:

sleep 5
#/etc/init.d/apache2 stop
/etc/init.d/quota start
/etc/init.d/clamav-daemon stop
/etc/init.d/clamav-freshclam stop
#/etc/init.d/nginx restart

#Caso decida escrever regras customizadas com IPTables pode-se chamar o script adicional. Para isso descomente a próxima linha, crie o arquivo e altere-o para executável ("chmod 700 /root/fatorbinario/firewall"). Exemplo (note o "exit 1" para se caso der erro nas regras o sistema conseguir inicializar):

#/root/fatorbinario/firewall || exit 1

exit 0

Índice do Tutorial:

Gestão em infraestrutura de Servidores Cloud VPS e Dedicados. Planos mensais acessíveis e consultoria diferenciada para agências de marketing.
Envie um email para [email protected] e solicite uma análise gratuita!

  • Paulo Jorge

    Tudo estava indo bem, até configurar o arquivo /etc/nginx/nginx.conf, seguindo o tutorial… Ao tentar reiniciar o nginx, acontece erro. Veriricando o status com “systemctl status nginx.service”:
    ● nginx.service – A high performance web server and a reverse proxy server
    Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
    Active: failed (Result: exit-code) since Sat 2016-02-13 00:10:45 BRST; 15s ago
    Process: 19358 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)
    Process: 19357 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)

    Feb 13 00:10:43 cp.minhaescola.org.br nginx[19358]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    Feb 13 00:10:43 cp.minhaescola.org.br nginx[19358]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
    Feb 13 00:10:44 cp.minhaescola.org.br nginx[19358]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    Feb 13 00:10:44 cp.minhaescola.org.br nginx[19358]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
    Feb 13 00:10:44 cp.minhaescola.org.br nginx[19358]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    Feb 13 00:10:44 cp.minhaescola.org.br nginx[19358]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
    Feb 13 00:10:45 cp.minhaescola.org.br nginx[19358]: nginx: [emerg] still could not bind()
    Feb 13 00:10:45 cp.minhaescola.org.br systemd[1]: nginx.service: control process exited, code=exited status=1
    Feb 13 00:10:45 cp.minhaescola.org.br systemd[1]: Failed to start A high performance web server and a reverse proxy server.
    Feb 13 00:10:45 cp.minhaescola.org.br systemd[1]: Unit nginx.service entered failed state.

    Estou quase apelando para o VestaCP…

  • Paulo Jorge

    Resetei a máquina virtual e milagrosamente funcionou novamente, mas continuo sem entender o que aconteceu…

  • Me desculpe mas o VestaCP/ISPConfig/cPanel não têm nada a ver com a configuração do NginX. Em qualquer painel se você errar os arquivos de configuração terá o mesmo problema pois uma coisa não tem nada a ver com a outra.

    Nos erros diz que o endereço já estava em uso, quando você reiniciou o servidor todos os serviços iniciaram certo.

    O que você pode ter feito anteriormente ao erro não faço ideia mas estou migrando vários servidores pra essa configuração com Debian 8 e até agora não vi isso acontecer.

  • Willian Junior

    Prezado Luis, caso eu queira instalar um servidor apache, o que modifica-se neste tutorial?

  • Durante a instalação pergunta se quer Apache ou NginX. Quando instala os demais serviços não deve mudar nada porém os arquivos de configuração para o servidor Web terão caminhos diferentes.

    E na instalação do site eu passo regras NginX, se optar pelo Apache eu nem coloco as diretivas no Fator mas você pode encontrá-las em outros sites.

    A diferença de instalar NginX para o Apache é velocidade e carga do servidor. Você até pode achar que é a mesma coisa mas a diferença do NginX pra ele é bem grande.

  • Marcelo Perluiz

    Luis, após fazer o procedimento do passo 5c (editar o my.cnf), meu droplet caiu e não estou conseguindo acessar para enviar o arquivo pro ar novamente. Não funciona nem o acesso ao putty, nem via ftp (filezilla)… apresenta “access denied”. Sabe me dizer o que houve ? Segui todo o procedimento até aqui.

  • O acesso via SSH ou FTP não tem relação com o MySQL, você deve ter sido temporariamente banido pelo Fail2Ban por algum outro motivo.

  • Marcio Sposito

    Luiz, estou seguindo seu tutorial em outro VPS, e não optei por aumentar swap devido ao servidor já ter 2gb de ram, mas não consigo restartar o nginx após aplicar suas recomendações do item 4d e pelo que vi não limita o numero de acessos, isso vai ser problema em que momento? Grato

  • Sempre adicione SWAP, ela serve como um dispositivo de escape. Caso não tenha SWAP, independente da quantidade de RAM, pode acontecer um flood de acessos no servidor esgotando a RAM e derrubando o mySQL. Por experiência que tenho em várias configurações a minha recomendação é sempre adicionar esse recurso.

    No item 4d tem várias tunagens.. tente adicionar linha a linha pra ver onde está o erro no seu caso, mas é estranho.

    E antes de reiniciar o NginX teste as configurações com o comando:
    > nginx -t

  • Walther Alves Almeida

    Não sei o que aconteceu mais não consigo fazer o seguinte processo: ” 4d ⇒ Edite o arquivo /etc/nginx/nginx.conf
    e altere/adicione as linhas abaixo. Mas antes de alterar as linhas
    verifique o número de CPU’s do seu servidor, parâmetro necessário para
    configurar o limite de arquivos simultâneos abertos pelo NginX
    corretamente. ”

    Pra min não aparece essa pasta / etc/nginx/nginx.conf como que faço agora?

  • Há alguns meses atrás o pessoal confundia os tutoriais e os passos dos artigos.. Verifique o seguinte:

    – Já instalou o ISPConfig com o script que postei?

    – Quando instalou selecionou NginX ou Apache?

    – Se estiver usando WinSCP force um refresh na pasta

  • Walther Alves Almeida

    Descobrir qual era o problema, na hora de fazer a configuração (Quando esta instalando o ispconfig) vc tem que apertar o espaço do teclado pra marcar com X a opção desejada e depois apertar o Enter. Tava so escolhendo a opção com as direcionais do teclado. Mais valeu pelo apoio!

  • Marcio Sposito

    Luis, verifiquei o arquivo nginx.conf e obviamente que foi um erro de digitação meu e esta tudo ótimo. Obrigado

  • Legal. Valeu por retornar apontando a correção do erro.

  • Rafael

    Não estou conseguindo reiniciar o meu pure ftp.

    ~# /etc/init.d/pure-ftpd-mysql status

    ● pure-ftpd-mysql.service – (null)

    Loaded: loaded (/etc/init.d/pure-ftpd-mysql)

    Active: failed (Result: exit-code) since Fri 2016-05-06 11:49:32 BRT; 6min ago

    Process: 2243 ExecStart=/etc/init.d/pure-ftpd-mysql start (code=exited, status=255)

    May 06 11:49:32 debian8.** pure-ftpd-mysql[2243]: Starting f…

    May 06 11:49:32 debian8.** systemd[1]: pure-ftpd-mysql.servi…

    May 06 11:49:32 debian8.** systemd[1]: Failed to start (null).

    May 06 11:49:32 debian8.** systemd[1]: Unit pure-ftpd-mysql….

    Hint: Some lines were ellipsized, use -l to show in full.

  • Não consegue reiniciar após fazer qual ação? Se for durante o processo de instalação tente restartar o servidor com “shutdown -r now”.

  • Rafael

    Colocando o ftp em modo passivo, após permitir as 50 conexões, você pede para reiniciar, e ai aconteceu este erro. Não sei dizer se antes estava funcionando porque não conferi realmente. Já reiniciei diversas vezes, mas agora lendo o comentário abaixo, sobre marcar as opções com o espaço, creio que eu possa ter instalado algo errado…

  • Provavelmente. Mas você ainda pode remover aquele arquivo que criamos no passo com os comandos:

    > rm /etc/pure-ftpd/conf/MaxClientsNumber

    > rm /etc/pure-ftpd/conf/PassivePortRange

    E ae tente reiniciar..

  • Rafael

    Luis não adiantou! Realmente deve ser algum passo da instalação. Vou refazer tudo novamente vamos ver onde eu errei. Ahh, e muito obrigado pelos tutoriais, são ótimos! E aproveite bem os $25 kkk me cadastrei pelo seu link de ref. Abraço

  • Valeu ae Rafael.
    Pode perguntar aqui nos comentários quando tiver dúvidas, nunca deixo de responder.

    Refaça os passos que vai, revisei o tutorial inteiro no último fim de semana, está ok pra seguir sem medo.

  • André Nascimento

    Luis, boa noite tudo bem?

    Não estou mais conseguindo acesso o painel do ISPconfig diz que a senha esta errada, mas estava tudo normal até fazer o passo do firewall, neste caso como faço para resetar a senha de acesso?

    Obrigado amigo!

  • Se está dando mensagem que a senha está errada pode ser que o MySQL caiu, verifique isso primeiro com o comando /etc/init.d/mysql status

    Ou simplesmente reinicie o mysql. Se for isso é porque você não adicionou a memória SWAP que é essencial para o bom funcionamento do servidor.

    A senha não altera sozinha.

  • André Nascimento

    Oi Luis, eu adicionei sim a memoria SWAP, o erro que aparece é de login e senha, realmente não sei o que pode ser. o mysql esta no ar, não caiu. O que posso fazer nesse caso!

  • Quando o MySQL cai o erro que dá naquela tela de login é de credenciais erradas mesmo. Mas se o MySQL está ativo então pode ser que você alterou ela e esqueceu. Neste caso veja aqui como criar uma nova: https://fatorbinario.com/comunidade/topico/como-resetar-a-senha-admin-do-ispconfig-3/

  • André Nascimento

    Obrigado Luis,

    Tudo certinho era isso mesmo! sucesso pra Ti!

  • Rafael

    O meu vps mesmo após todos os procedimentos, continua com o serviço: ” quotaon.service loaded failed failed Enable File System Quotas ” , este é o unico serviço que esta em vermelho, é normal?

  • Rafael

    Minha busca no google me retornou isso: ” The problem is a conflict from quotaon.service installed by systemd and the quote.service installed by quota.

    I have disabled the quotaon.service by:

    cd /etc/systemd/system

    ln -s /dev/null quotaon.service ”

    Confere Luis?

  • Não desative o Quota que talvez você vá precisar..

    Ele fica em vermelho até você fazer o passo 6 deste artigo e reiniciar o servidor. Para reiniciar o servidor NUNCA use aquele botão na DigitalOcean, o comando via console é:

    shutdown -r now

  • Luis vi que você recomenda nesse artigo a configuração do “worker_processes” para o dobro do número de CPU’s que no exemplo do artigo seria = “2“

    Mas também vi em um outro artigo seu de otimização do nginx (com data de publicação alguns meses a menos que este artigo) onde você recomendava o seguinte:

    “Na linha 2 altere o valor para o número de processadores que o comando mostrou (Na última atualização está como “auto“, pode-se deixar assim):”

    Meu servidor é um de baixo custo ($5 na voltr com 1 processador e 768mb de memória) e queria saber qual realmente seria a melhor escolha: “1”, “2” ou “auto”?

  • Deixe 2. O auto nem sempre é reconhecido pelo sistema.

    Os meus tutoriais têm um truque. Eu acerto eles conforme relatos da comunidade, e como eu mesmo sigo eles para configurar servidores siga sempre o último que neste caso é o Debian 8.3. Tenho muitos clientes rodando 100% com as mesmas configurações expostas aqui.

  • Humm bom saber desse truque! Entretanto, sem querer ser chato, mas já sendo…

    Vc poderia me explicar pq 2, ou seja, pq o dobro do numero de processadores? To perguntando pq vi no site do nginx a recomendação de usar o auto ou o numero de processadores.

    Aí fiquei curioso pra saber como chegou a essa formula do dobro?

  • Ajuda na performance. Veja uma resposta mais completa neste link:
    http://stackoverflow.com/questions/7325211/tuning-nginx-worker-process-to-obtain-100k-hits-per-min

    Mas tome cuidado com aqueles valores altos, aquilo é caso você queira elevar o servidor ao limite mas não é aconselhável.

    *Se você fizer uma busca por configurações de tunagem no NginX encontrará várias fórmulas, a que eu uso foi bem testada e é a mesma aplicada em mais de 300 servidores que configurei, e servem centenas de sites todos sem quedas ou problemas.

  • Mais uma vez obrigado pela resposta e pelo link! Vou seguir seu conselho e deixar no 2 aqui mesmo… 😉

  • Opa Luis! Eu aqui de novo te perturbando… hehe

    Eu tava dando uma lida sobre microcaching no ngnix para fazer o server aguentar um grande número de acessos e tal. Encontrei esse artigo no site do ngnix que mostra que antes das alterações o servidor de exemplo aguentava 5 requisições por segundo. Veja o link abaixo:

    https://www.nginx.com/blog/benefits-of-microcaching-nginx/

    Pois bem, após as 2 simples alterações feitas e expostas nesse mesmo artigo acima o servidor passou a aguentar quase 2.200 requisições por segundo…

    Fazendo uns testes aqui no servidor que instalei, seguindo o seu tutorial com Debian 8, percebi que o meu server também está aguentando o mesmo valor apresentado no servidor do artigo antes de ser “tunado”. Executei o mesmo comando ab -c 10 -t 30 -n 100000 -k http://meudominico.com e recebi um resultado de 5.02 requisições por segundo!

    Logo eu pensei… “Opa! Vou fazer as mesmas alterações ensinadas no artigo e elevar pra quase 2.200 requisições por segundo”, mas não consegui entender muito bem como e onde devo fazer isso para tunar essa instalação aprendida aqui no tutorial. Será que tem como você me dar uma direção de onde eu devo colocar essas alterações ensinadas no artigo do blog no ngnix?

  • Esse negócio de proxy-pass cache é esquema para usar o NginX como proxy para o Apache, a gente nem usa isso, o NginX roda as páginas sozinho.

    Se você quiser aumentar significativamente os acessos e reduzir a carga do servidor configure a tabela DNS do seu domínio na CloudFlare que faz exatamente o proxy cache. E aguarde mais uns dias que vou publicar um tutorial com PHP7 que usa metade dos recursos de servidor e roda com o dobro de performance.

  • Putz verdade! No início do artigo mesmo eles citam o CloudFlare… Eu utilizo em um site meu e realmente melhora brutalmente a performance, mas eu nem tinha me tocado que era a mesma coisa, vou configurar agora mesmo no domínio que estou testando. E quanto ao tutorial do PHP 7 vou aguardar ansiosamente… Estava até olhando no blog do ispconfig uma configuração para selecionar a versão do PHP diretamente no painel, mas nem vou me arriscar a fazer nada por agora, vou esperar seu tutorial! =) Vlwsss

  • Isso.
    Depois de instalado poderá ser selecionado por site direto no painel mas tenho que preparar tudo isso antes. Tenho interesse pessoal no PHP7 porque iniciei um projeto que usarei ele.

    Mas antes estou a meio caminho de escrever um novo tutorial de Ubuntu com Java, após ele o PHP7 será o próximo.

  • Show de bola! Andei lendo sobre a performance do PHP 7 e realmente melhorou bastante… Certamente será um excelente tutorial que ajudará muita gente da comunidade a otimizar os sites! =)

  • Virtual

    Quando rodei o item 4e, o primeiro comando foi OK. Ja o segundo /etc/init.d/nginx restart apareceu a a mensagem que estava reiniciando e em vermelho “Failed!” É isso mesmo ou foi um erro de algum dos processos anteriores? Revisei e a principio está tudo como você descreveu. Vou aguardar sua resposta para dar continuidade.

  • Você errou alguma linha de configuração quando editou o arquivo /etc/nginx/nginx.conf (passo 4d)

  • Virtual

    Com certeza era algum erro. O problema: fiz somente oq está escrito. Eu fui testando cada linha adicionada e funcionou quando retirei “use epoll;” do item 4d. Pra que serve isso? É aconselhável colocar novamente? O problema é que nao vai reiniciar.

  • É um esquema de otimização de I/O para os processos. Deixe desativado.

    Porém isso é estranho, o ambiente ou versão que você está instalando é diferente da que eu indico no tutorial. Pode ser que você tenha outras diferenças de configuração..

  • Luis! Voltei aqui, mas dessa vez com intenção de contribuir para o tutorial de alguma forma…

    Como eu te disse em um outro comentário eu utilizo um plugin chamado MyMail Newsllater para enviar campanhas de e-mail marketing e ao tentar criar uma campanha com um template (em HTML) de e-mail padrão do plugin me deparei com um “internal error 500” do ngnix!

    Fiquei quebrando a cabeça por horas até que percebi que um outro arquivo de template que tenho aqui carregava normalmente! Fui comparar e vi que o templete que estava ocasionando o erro 500 no ngnix tinha 33K e o que dava certo tinha apenas 8k…

    A solução foi a seguinte, troquei as seguintes linhas que vc ensina neste artigo:

    fastcgi_buffers 8 16k;
    fastcgi_buffer_size 32k;

    Por essas aqui de baixo:

    fastcgi_buffer_size 128k;
    fastcgi_buffers 256 16k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;

    Tirei a informação desse tutorial aqui:
    https://www.howtoforge.com/configuring-your-lemp-system-linux-nginx-mysql-php-fpm-for-maximum-performance#-enable-gzip-compression

    Enfim! Resolvi expor essa situação porque perdi horas pra descobri isso e de repente ajude alguém na mesma situação… 😉

  • Aumentou o buffer, legal. Até hoje não vi esse problema em nenhum servidor que fiz ou que ajudei a configurar mas pode acontecer com outros leitores.

    Agradeço a colaboração.

  • Outra coisa que esqueci de falar… Aumentar o buffer também resolveu um outro problema que estava tendo com um plugin de construção de páginas que uso chamado “optimizepress”. Clicava em salvar e ficava o gif rodando eternamente sem conseguir salvar, depois dessa alteração que comentei tudo voltou a funcionar normalmente como na hospedagem antiga! =)

  • Legal Glauber, alterei o tutorial dando crédito à sua colaboração.
    Muito obrigado.

  • Eu que agradeço pelo conteúdo do seu site! =)

  • Opa Luis! Estava revendo as configurações do meu servidor e percebi que ele já tinha 746MB de memória swap, mas eu na época que configurei adicionei os 2GB adicionais recomendados neste turorial. A dúvida é…

    Você vê algum problema nisso? Posso deixar os 2 espaços configurados ou você acha melhor deletar os 746MB? Se precisar fazer alguma alteração, quais seriam os comandos?

    Desde já, muito obrigado!

  • Melhor deixar somente uma ativa. Edite o /etc/fstab e comente a linha que liga a de 746Mb.

  • Show de bola… Vlw Luis!

  • Só para constar: era sonseira minha, os 746 são de Memória RAM e não SWAP! haha

  • Felipe

    não encontro o fstab para edição….Debian 7.11 x32 , que to usando…

  • Estranho. O fstab é um arquivo e não um diretório, role a tela e veja na lista se não encontra.

  • Felipe

    O que aparece pra mim,
    apt.conf.d
    preferences.d
    sources.list.d
    trusted.gpg.d
    listchanges.conf
    sources.list
    sources.list~
    trustdb.gpg
    trusted.gpg

  • Você está dentro da pasta /etc/apt.

    Em /etc tem dezenas de arquivos

  • Felipe

    o fstab deveria estar nessa lista ?

  • O arquivo fstab está no diretório /etc

  • Felipe

    kkkkkk ah garoto, cara eu nao subi um diretorio…por isso não achava …. desculpa obrigado

  • Felipe

    noobei

  • Felipe

    oi, saberia me dizer porque não consigo enviar email pelo site ? ele não envia…obrigado

  • Se o seu site é WordPress a melhor maneira é instalar um plugin SMTP Mail e configurar ele para enviar por relay externo. Mas se quiser liberar envio direto por script do site acesse o próximo artigo deste tutorial sobre firewall que no final do Passo 2a tem uma instrução que você provavelmente adicionou ao Postfix.

    E se a hospedagem for na Digital Ocean tem que solicitar a eles a liberação do envio de emails, tenho vários textos aqui no site explicando isso.

  • Felipe

    ok fiz o pedido, você teria um tutorial de instalação do googlepagespeed

    abraço grato

  • O módulo com PageSpeed compilado no NginX vai deixar seu site 0,00001% mais rápido, não tenho o tutorial.

    E mesmo se você colocar aquele módulo tente não adicionar plugins quebrados ou temas que deixam o site lento como a maioria faz.

  • Felipe

    e o ModDeflate , ajuda ?

  • Se você ativar o GZip como está no tutorial optando pelo NginX, ativar a nuvem na CloudFlare e usar o plugin WP Fastest Cache que postei recentemente na Comunidade o seu site aguenta uns 300 mil acessos mês num servidor de $10.

    Se a preocupação é com o GTMetrix tentar ativar somente essas compressões extras não ajuda muito.

  • Felipe

    instalei o w3 total cache e subiu pra 86 pontos, mas não consigo dar upload de um arquivo php pra ele, sabe se tem algum bloqueio ?

  • Se você seguiu todos os passos do tutorial nele eu ensino a aumentar o limite de upload por PHP para 100Mb. Fora isso não tem mais nada.

  • Felipe

    achei, fiz sim ,https://fatorbinario.com/tutorial-debian-8-x64-com-ispconfig-e-nginx-otimizando-a-instalacao/

    4a

    estranho, o w3cache não aceita o upload do arquivo php pra configurar ele…

    valeu

  • Felipe

    como faço para o dono do novo site no meu ispconfig, ter espaço para utilizar no ispconfig ? tem algum tutorial ?

  • Felipe

    O Gzip ou Deflate para o debian, tem como instalar ? ja instalei o wp fastest cache, mas o google page speed ainda pede a compactação Gzip ou deflate, pra melhorar o conteudo acima da borda…como faço isso ?

  • Jean A. Silva

    Amigo Luis,

    Eu acho que errei algo referente ao Nginx, na parte para otimização do mesmo, não encontro a pasta, ja dei um refresh no WinSCP e não aparece, tem como eu reinstalar apenas ele?.O que eu faço agora?.

  • Quando você instala o ISPConfig pelo script ele pergunta se deseja instalar o Apache ou NginX. Selecione NginX com as setas do teclado e marque a opção com barra de espaços, em seguida selecione OK usando TAB e tecle ENTER.

    Deve ter sido isso..

  • Jean A. Silva

    Prezado Luis,

    Terei que iniciar todo o processo?. Destruir a deploy?. Pois eu já estou na parte da otimização nginx, então já passei da parte do install bash, tentei instalar novamente, portanto ele informar que o isp já esfa instalado.

  • Nilton Neto

    Olá Luis,
    Depois de tanto bater cabeça consegui finalmente retirar meus sites de uma empresa que sempre me deixava na mão com certa frequência.
    Quero aqui lhe agradecer por tudo, pois se não fosse seu tutorial acho que eu não conseguiria.

    Antes de terminar, estou apenas com um pequeno problema.

    Eu fiz a migração de dois sites para dois servidores diferentes. Em um tudo ocorreu 100%, mas no outro que é um WordPress site de membros, eu estou tendo problema com a exibição dos vídeos do Vimeo e alguns do YouTube.

    Usei o plugin UpdraftPlus que já conheço de algum tempo, sendo ele muito bom para migração.

    Não teve erro nenhum na migração, meu backup estava na minha pasta do DropBox como sempre e não ouve erro.

    Para constar, no domínio anterior, eu estava usando Apache e agora fiz tudo com Nginx. Tem alguma coisa a ver?

    Acho que sim. Desabilitei o plugin WP Super Cache e mesmo com o plugin Nginx Helper ativado ou não, os vídeos não aparecem.

    Esse site foi feito por mim na plataforma OptimizePress e tem mais de três anos sem problemas.

    Tem alguma dica sobre alguma configuração de Nginx, pois coloquei as diretrizes dpo Nginx na aba opções do site que é apenas um.
    Coloquei as seguintes diretrizes: Abaixo seguem somente os títulos, no local estão completas.

    #Diretivas NginX por site para mitigar ataques DDoS
    #Caso o CSS do site nao carregue corretamente aumente o burst na proxima linha gradativamente ate solucionar
    #Desativando os logs para melhorar a performance
    #Diretivas NginX para WORDPRESS

    Se puder me dar uma luz eu lhe agradeço.

    De qualquer maneira se eu não conseguir, minha última opção é reinstalar o servidor com Apache, o que eu não queria.

    Um forte abraço Luis!

  • Nilton Neto

    Antes de mais nada, eu desativei todos os plugins, fui reativando um por um e não adiantou.
    Acho que tem algo a ver com o Nginx.

  • O Optimize Press foi instalado em subdiretorio igual a maioria instala??

    Se sim temos que adicionar uma diretiva nginx a mais para ele lá nas opções.

  • Nilton Neto

    Mais algumas suspeitas e informações Luis.

    O outro domínio também tem páginas com o OptmizePress, mas não tenho problemas com os vídeos.
    Só que ele não tem painel do IspConfig, pois eu instalei pelo script da easyengine para WordPress com Nginx só para testar e está rodando tudo ok.

  • Nilton Neto

    Não. Ele foi instalado no domínio principal vis ssh, exatamente igual seu passo a passo.

  • Isso não tem nada a ver com ISPconfig.. mande ae o link do site.

  • Nilton Neto

    Resolvido Luis!
    Era o OptimizePress.
    Deletei minha licença do domínio, fui no meu painel do OptmizePress, apaguei, gerei outra lá e colei.
    Ai Purgei cache e tudo voltou ao normal.

    Muito obrigado mesmo Luis!

  • Legal. E não esquente a cabeça com essa história de diretivas NginX.. enquanto a galera do Apache se mata pra fazer sites funcionarem, os WordPress com NginX só precisam daquelas 3 linhas lá.

  • Nilton Neto

    Valeu meu amigo!
    Assim que eu iniciar meu projeto de oferecer sites (WordPress) prontos para meu público com certeza irei contratar sua consultoria mensal, pois você é uma pessoa que ajuda mesmo sem ganhar nada, assim como eu faço no meu ramo de atuação.

    Muito obrigado mais uma vez!!!!

  • Lennon

    Olá Luis FatorBinario, como nosso amigo Nilton Neto disse: graças aos seus tutoriais bem explicativos retirei meus sites de uma empresa que me deixava muito na mão também.

    Mas gostaria de saber se vai fazer algum artigo sobre a atualização do ISPConfig 3.1 estou querendo realizar a atualização será quem não tem problema?

    Abraço!

  • Pode haver problemas sim. Eu aconselho a fazer um Live Snapshot antes de tentar qualquer coisa de upgrade.

  • Nilton Neto

    Opa Luis!
    Olha eu aqui te enchendo o saco novamente.
    resolvi as questões todas, mas estou com um problema onde os e-mails enviados pelo meu WordPress (ite de membros) não chegam em nenhuma caixa de e-mails.

    Nem Hotmail, Gmail, ou qualquer outro servidor.

    Eu coloquei o zoho para envio (Tinha urgência), pois pelo Sparkpost o do Hotmail estavam indo para a lixeira.

    Configurei o Thuderbird também usando o zoho. Até ai tudo bem, mas hoje ao cadastrar (manualmente) um mebro no meu WorsPress ele não recebeu o e-mail contando os dados de login.

    Testei criando um usuário com meus dados e um e-mail válido meu. Também não chegou nada.

    Tenho um plugin chamada mail poedit que envio e-mails para os membros e hoje fui testar ele e ele me retornou um erro que tem a ver com função php mail inexiste. (Could not instantiate mail function.)

    Será que essa função está desabilitada em meu servidor? Tem como eu checar isso?

    Um abraço Luis!

  • Sim. A função mail() do PHP é desativada por padrão nos meus servidores e tutoriais, isso irá te proteger de futuros bans da Digital Ocean.

    Plugin de enviar email via SMTP o melhor que existe é este: https://wordpress.org/plugins/wp-mail-smtp/

    E SMTP Relay use o Mailgun. Eu mesmo tenho a Comunidade que é um bbPress aqui no Fator e uso o Mailgun para entregar. Aproximadamente 97% das mensagens para cadastro são recebidas.

  • Nilton Neto

    Obrigado pela resposta Luis.
    Só uma consideração…
    Eu não sei o que vc quis dizer (desculpe minha ignorância) com “futuros bans da Digital Ocean”, mas meu servidor não é da Digital Ocean.

    Estou usando servidores da Contabo.

    Isso muda alguma coisa?

    Eu realmente queria muito voltar a usar o Spartkpost, mas essa de não entregar na caixa de entrada do Hotmail acabou com minha alegria.

    Pretendo começar a trabalhar com e-mail marketing através do Mautic, inclusive estou alugando outro servidor com um domínio só para ele.

    Vou seguir seu conselho e depois retorno.

  • A maioria das empresas de VPS e dedicados te dão ban caso você permita que enviem email sem controle direto do servidor. Nas minhas configurações eu bloqueio isso por padrão para o bem do usuário/leitor.

    Para ativar o envio pela função PHP mail() edite o arquivo /etc/postfix/main.cf e no final onde adiciono aquela linha de “authorized users” delete ela.

    No meu modelo de servidor ideal somente contas de email totalmente cadastradas e autorizadas podem enviar emails.

  • Nilton Neto

    Obrigado pela aula e esclarecimento Luis.
    Atualmente somente eu uso para meus projetos, mas futuramente terei outras pessoas.

    Se eu soubesse como configurar a parte do optimizePress que envia e-mail automático para os membros após cadastro sem a função PHP mail eu implementaria, pois uma dica sua para mim vale Ouro.

    Viu estudar sobre isso e caso consiga, volto para lhe dizer.

    Prefiro realmente seguir a risca o que você diz do que mw aventurar através de tutorias vagos pela internet.

    Vou ver como consigo configurar essa parte de envio do optimizePress sem a função PHP mail e seguir seu conselho.

    Uma outra coisa que eu gostaria de implementar é o CloudFlare, mas sendo site de membros já ouvi falar que dá problema se usar cache nas páginas de membros.

    Um abraço e fique com Deus Luis.

  • Nilton Neto

    Olá Luis!
    Desculpe incomodá-lo novamente amigo.
    Não sei onde estou errando, mas no meu servidor no ISPconfig tenho um domínio (niltran.com) que é o principal. Até ai tudo bem.

    WordPress instalado e tudo funcionando, mas ao instalar mais um domínio (site) (niltonneto.com), via ssh conforme você ensina, a instalação é um sucesso, mas ao abrir o endereço no navegador (niltonneto.com) para terminar a instalação do WordPress para o domínio (niltonneto.com), simplesmente abre o domínio principal (niltran.com) que já estava configurado.

    O domínio (niltonneto.com) está com o DNS apontando para o mesmo local onde está o domínio principal.

    Eu não irei trabalhar com revenda, nada disso, apenas são sites e domínios meus mesmos. Por exemplo:

    O servidor VPS é da Contabo com 4 cores e 12Gb de Ram.

    Na Godaddy onde fiz o registro dos domínios (niltran.com e niltonneto.com), os names server estão apontando para a Contabo:

    NS1.CONTABO.NET
    NS2.CONTABO.NET
    NS3.CONTABO.NET

    Não sei onde estou errando. Apenas pretendo ter três domínios com (WordPress) nesse servidor. O principal instalado junto com o ISPConfig (niltran.com) está rodando beleza, mas qualquer outro que tento instalar ele instala, mas ao ir para o navegador para terminar a instalação do WordPress digitando o domínio, quem abre é o domínio principal (niltran.com).

    Como eu consigo resolver isso?

    Obrigado pelos tutoriais.

  • No ISPConfig você tem que criar um espaço de site para cada domínio. Exemplo: clique em Adicionar Site e prrencha o dominio para cada novo site, inclusive quando é subdominio.

    Se você já fez isso e já criou o usuário SSH em Jail separado para cada um dos sites então é sinal de que você deve ter alterado algum outro campo padrão naquela tela de adicionar site. Vi um caso parecido de um leitor que selecionava o IP do servidor naquele campo logo acima de digitar o dominio, é errado fazer aquilo.

  • Nilton Neto

    Olá Luis!
    Consegui resolver com sua ajuda. (não sei se tem algo a ver).

    Refiz tudo novamente e deu certo.

    Na parte do endereço IP eu estava escolhendo o (*).

    Consegui agora entrar na tela de setup do WordPress para finalizar a instalação.

    Mais uma vez obrigado e que Deus lhe conceda muitas vitórias em seu caminho meu amigo.

  • Alisson Araujo

    Bom dia, Luis. Tudo bem? Após concluir a configuração do meu servidor na digitalocean usando ISPCONFIG 3 seguindo todos seus tutoriais, percebi que as consultas no banco de dados são mais lentas e demoradas, existe alguma configuração que eu possa ter feito ou esquecido para isso estar acontecendo? Antes de instalar o ISPCONFIG 3 eu usava um servidor com Sentora instalado, usando o mesmo banco de dados em ambos com o servidor na mesma configuração de hardware, 1 função leva 40segundos para ser executada no Sentora e no ISPCONFIG leva uns 4 minutos, precisei ajustar até o timeout para tirar o 504 gateway time out. Você já se deparou com isso? Sabe o que poderia estar acontecendo? Abraços e boas festas

  • O ISPConfig é só um web panel que auxilia na configuração dos serviços do servidor. O MySQL instalado junto não tem nada a ver com o ISPConfig quando executa as chamadas de processos.

    Hoje eu atendo mais de 100 servidores de clientes com recorrência e até agora não tive problemas reportados com isso. Você imagine se realmente demorasse 4 minutos para executar um query o caos que seria aqui?

    Não esquente a cabeça com o painel, o problema deve estar no script. No Sentora você usava Apache? E outra questão, se usava Apache e se o site é WordPress você tem o W3 Total Cache ou Super Cache instalado, porque aqueles plugins só funcionam bem com Apache para o Nginx use o Wp Fastest Cache.

  • Alisson Araujo

    Olá novamente, no outro servidor eu usava apache, e é um sistema próprio, não é WordPress. Uma coisa que notei agora, no outro servidor usava mariadb e nesse é o MySQL, pode ser isso também? Abraços

  • Pode até ser Alisson, mas o MariaDB é só um fork do MySQL.

    Isso está mais com cara de ser problema do script. Você tem condições de escrever um código PHP que simplesmente grave a requisição no banco sem passar pelo seu sistema?

    Ou ainda simplesmente abra o phpMyAdmin e execute a query SQL..

  • Juan Chaves

    luis aproveitando esse post no caminho /etc/nginx/nginx.conf, as linhas fastcgi_buffers 8 16k;
    fastcgi_buffer_size 32k; não existem para fazer a substiuição, como proceder? desde ja agradeço

  • O problema com hosting inválido é porque você não criou o nome do servidor no padrão FQDN que sempre explico para fazer. Muita gente acha que isso não tem importância mas é importante sim. Nas última versões do ISPConfig ele verifica isso.

    As linhas que não existirem nos arquivos de configuração devem ser adicionadas.

  • Juan Chaves

    compreendir, alterei o nome pelo proprio isp e no arquivo /etc/host não tinha nada, coloquei os dados e deu certo. posso colocar na ultima linha? é necessario usar “{ }”?

  • Samuel Batista

    caso decida manter o clamav como dito no passo 2 nao preciso fazer o passo 6 certo ?
    Obs tenho um droplet de 10$ 1GB de RAM

  • Olá! Instalei o HHMV, tem alguma problema?

    Outra pergunta: O meu arquivo /etc/rc.local não contém as informações que você disse que deveriam ter. Ele está assim: http://image.prntscr.com/image/3bf8d1bd417f4dd78fb533853abb60ad.jpeg

  • Luis, aqui no ISP também me disse q tem isso para atualizar: http://image.prntscr.com/image/4705fbea17fe42698b20f4ae76dacaee.jpeg

  • Não tem problema ter instalado o HHVM.

    O tutorial é bem específico para Debian 8 x64 focado em NginX e outras decisões de instalação que estão apontadas no artigo, qualquer outra versão ou decisão tomada tende a falhar seja na instalação ou manutenção futura.

  • Eu fiz tudo igual o tutorial. Meu servidor é Debian 8 64bit: http://prntscr.com/enmglj

    O que vc me aconselha, começar tudo novamente?

  • Eu reinstalei tudo novamente, mas mesmo assim. O arquivo rc.local está do mesmo jeito da imagem que postei acima… No momento da instalação, sempre da esse errinho: http://prntscr.com/ennacj
    No entanto, acho que esse não deve ser o problema…

    Eu utilizei um comando para me mostrar os detalhes de pq o amavis.service e o quotaon.service não estão ativados:
    amavis: http://prntscr.com/enng3h
    quota: http://prntscr.com/enngvs

  • Luis … estou aqui de novo …… tive falha ao fazer restart no NginX … a saída ficou assim …

    [email protected]:/etc/nginx/sites-enabled# systemctl status nginx.service
    ● nginx.service – A high performance web server and a reverse proxy server
    Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
    Active: failed (Result: exit-code) since Seg 2017-03-27 17:14:41 -03; 3min 19s ago
    Process: 6061 ExecStop=/sbin/start-stop-daemon –quiet –stop –retry QUIT/5 –pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
    Process: 5687 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, status=0/SUCCESS)
    Process: 6435 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
    Main PID: 22504 (code=exited, status=0/SUCCESS)

    Mar 27 17:14:41 server1 systemd[1]: Starting A high performance web server and a reverse proxy server…
    Mar 27 17:14:41 server1 nginx[6435]: nginx: [emerg] duplicate listen options for [::]:8080 in /etc/nginx/sites-enabled/000-ispconfig.vhost:3
    Mar 27 17:14:41 server1 nginx[6435]: nginx: configuration file /etc/nginx/nginx.conf test failed
    Mar 27 17:14:41 server1 systemd[1]: nginx.service: control process exited, code=exited status=1
    Mar 27 17:14:41 server1 systemd[1]: Failed to start A high performance web server and a reverse proxy server.
    Mar 27 17:14:41 server1 systemd[1]: Unit nginx.service entered failed state.

    Pode me ajudar ?

    Detonei o conf do NginX ……

    Obrigado

  • Desculpe a demora para responder, tive uns B.Os fortes hoje aqui.

    Tá estranho isso.. Tente fazer o seguinte:
    > /etc/init.d/apache2 stop
    > /etc/init.d/nginx restart

    Como assim, apagou os confs do NginX ?

  • Eu cometi algum erro …. mas como estou com a proposta de aprender … refiz tudo … obrigado pelas dicas … estou por perto … qq coisa te chamo mestre,

  • Legal. Qualquer dúvida me avise.