Ajustando um Servidor Web Virtual Dedicado

May 22, 2025
Privacidade e segurança
CONTEÚDO NÃO CHEGADO

Quando você obtém um servidor virtual dedicado para executar seu site, é provável que ele seja configurado para todos, e não personalizado para maximizar o desempenho de um site.

Conteúdo

[ ocultar ]

  • 1. Visão Geral
  • 2 Configuração Linux
    • 2.1 Desativar DNS
    • 2.2 Desativar SpamAssassin
    • 2.3 Desativar xinetd
    • 2.4 Limite de uso da memória Plesk
    • 2.5 Desativar ou desligar o Plesk (opcional)
  • 3 Configuração MySQL
    • 3.1 Habilitar Cache de Consulta
    • 3.2 Desativar TCP / IP
  • 4 Configuração Apache
  • 5 Configuração PHP
    • 5.1 Remover módulos PHP desnecessários
    • 5.2 Cache Opcode PHP
  • 6 backups
    • 6.1 Criar script de backup automatizado
    • 6.2 Sincronizar backups fora do local com Rsync
  • 7 Segurança
    • 7.1 Desativar Login Root por SSH
    • 7.2 Desativar SSH Versão 1
    • 7.3 Reinicie o servidor SSH
    • 7.4 Verificar portas abertas
    • 7.5 Configurar um Firewall
  • 8 Veja também
  • 9 referências

Visão geral

Existem várias áreas problemáticas nas quais queremos maximizar o desempenho:

  • Configuração Linux
    Normalmente, há serviços em execução que não precisam estar, desperdiçando memória que poderia ser usada para mais conexões.
  • Configuração MySQL
    Freqüentemente, as configurações padrão são baseadas em um pequeno servidor, podemos adicionar algumas mudanças importantes para aumentar muito o desempenho.
  • Configuração Apache
    Por padrão, a maioria dos provedores de hospedagem instala o apache com quase todos os módulos instalados. Não há razão para carregar módulos se você nunca vai usá-los.
  • Configuração PHP
    A configuração padrão do PHP é similarmente inchada, geralmente há uma tonelada de módulos extras desnecessários instalados.
  • PHP Opcode Cache
    Em vez de permitir que o PHP recompile os scripts todas as vezes, um cache de opcode armazenará os scripts compilados na memória para aumentar o desempenho.
  • Backups
    Provavelmente deve configurar alguns backups automatizados, já que seu provedor de hospedagem não fará isso por você.
  • Segurança
    Claro, o Linux é seguro o suficiente por padrão, mas geralmente há alguns problemas de segurança flagrantes que você pode corrigir com algumas configurações rápidas.

Configuração Linux

Há uma série de ajustes que você pode fazer, que variam ligeiramente com base no servidor que você está usando. Esses ajustes são para um servidor rodando CentOS, mas eles devem funcionar para a maioria dos servidores DV.

Desativar DNS

Se o seu provedor de hospedagem lida com o DNS do seu domínio (provavelmente), você pode desativar a execução do serviço DNS.

desabilitar dns
/etc/init.d/named stop
chmod 644 /etc/init.d/named

O comando chmod remove a permissão de execução do script, interrompendo sua execução na inicialização.

Desativar SpamAssassin

Se você não estiver usando contas de e-mail em seu próprio servidor, não se preocupe em executar ferramentas anti-spam. (Você também deve verificar o Google Apps, uma solução de e-mail muito melhor)

/etc/init.d/psa-spamassassin stop
chmod 644 /etc/init.d/psa-spamassassin

Desativar xinetd

O processo xinetd abriga vários outros processos, nenhum dos quais é útil para um servidor web típico.

/etc/init.d/xinetd stop
chmod 644 /etc/init.d/xinetd

Limite de uso de memória Plesk

Se você usar o painel plesk, você pode forçá-lo a usar menos memória adicionando um arquivo de opções.

vi /usr/local/psa/admin/conf/httpsd.custom.include

Adicione as seguintes linhas ao arquivo:

MinSpareServers 1
MaxSpareServers 1
StartServers 1
MaxClients 5

Observe que esta opção é conhecida por funcionar em servidores MediaTemple DV, mas não foi marcada em nenhum outro. (Vejo Referências )

Desativar ou desligar o Plesk (opcional)

Se você usar o Plesk apenas uma vez por ano, há muito pouca razão para deixá-lo funcionando. Observe que esta etapa é totalmente opcional e um pouco mais avançada.

Execute o seguinte comando para desligar o plesk:

/etc/init.d/psa stop

Você pode desativar sua execução na inicialização, executando o seguinte comando:

chmod 644 /etc/init.d/psa

Observe que se você desativá-lo, não poderá iniciá-lo manualmente sem alterar as permissões do arquivo de volta (chmod u + x).

Configuração MySQL

Habilitar Cache de Consulta

Abra seu arquivo /etc/my.cnf e adicione as seguintes linhas em sua seção [mysqld] como esta:

[mysqld]
query-cache-type = 1
query-cache-size = 8M

Você pode adicionar mais memória ao cache de consulta, se desejar, mas não use muito.

Desativar TCP / IP

Um número surpreendente de hosts permite o acesso ao MySQL em TCP / IP por padrão, o que não faz sentido para um site. Você pode descobrir se o mysql está escutando no TCP / IP executando o seguinte comando:

netstat -an | grep 3306

Para desativar, adicione a seguinte linha ao seu arquivo /etc/my.cnf:

pular rede

Configuração Apache

Abra seu arquivo httpd.conf, geralmente encontrado em /etc/httpd/conf/httpd.conf

Encontre a linha parecida com esta:

Tempo Limite 120

E mude para isto:

Tempo Limite 20

Agora encontre a seção que inclui essas linhas e ajuste para algo semelhante:

StartServers 2
MinSpareServers 2
MaxSpareServers 5
ServerLimit 100
MaxClients 100
MaxRequestsPerChild 4000

Configuração PHP

Uma das coisas a se ter em mente ao ajustar um servidor na plataforma PHP é que cada thread do Apache carregará o PHP em um local separado na memória. Isso significa que se um módulo não utilizado adiciona 256k de memória ao PHP, em 40 threads do Apache você está desperdiçando 10 MB de memória.

Remover módulos de PHP desnecessários

Você precisará localizar seu arquivo php.ini, que geralmente é encontrado em /etc/php.ini (observe que em algumas distribuições, haverá um diretório /etc/php.d/ com vários arquivos .ini, um para cada módulo.

Comente quaisquer linhas de módulo de carregamento com estes módulos:

  • odbc
  • snmp
  • pdo
  • odbc pdo
  • mysqli
  • ioncube-loader
  • json
  • imap
  • ldap
  • ncurses

Todo: Adicione mais informações aqui.

PHP Opcode Cache

Existem vários caches de opcode que você pode usar, incluindo APC, eAccelerator e Xcache, o último sendo minha preferência pessoal devido à estabilidade.

Faça download do xcache e extraia-o em um diretório e, em seguida, execute os seguintes comandos no diretório de origem do xcache:

phpize
./configure --enable-xcache
faço
faça a instalação

Abra seu arquivo php.ini e adicione uma nova seção para xcache. Você precisará ajustar os caminhos se seus módulos php forem carregados de outro lugar.

vi /etc/php.ini

Adicione a seguinte seção ao arquivo:

[xcache-common]
zend_extension = /usr/lib/php/modules/xcache.so
[xcache.admin]
xcache.admin.user = "meunomedeusuario"
xcache.admin.pass = "putanmd5hashhere"
[xcache]
; Altere xcache.size para ajustar o tamanho do cache de opcode
xcache.size = 16M
xcache.shm_scheme = "mmap"
xcache.count = 1
xcache.slots = 8K
xcache.ttl = 0
xcache.gc_interval = 0
; Altere xcache.var_size para ajustar o tamanho do cache variável
xcache.var_size = 1M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.test = Off
xcache.readonly_protection = On
xcache.mmap_path = "/ tmp / xcache"
xcache.coredump_directory = ""
xcache.cacher = On
xcache.stat = On
xcache.optimizer = Off

Todo: Preciso expandir um pouco isso e vincular o xcache nas referências.

Backups

Há muito pouco mais importante do que ter backups automatizados de seu site. Você pode obter backups instantâneos de seu provedor de hospedagem, que também são muito úteis, mas prefiro também fazer backups automatizados.

Criar script de backup automatizado

Normalmente começo criando um diretório / backups, com um diretório / backups / files abaixo dele. Você pode ajustar esses caminhos, se desejar.

mkdir -p / backups / arquivos

Agora crie um script backup.sh dentro do diretório backups:

vi /backups/backup.sh

Adicione o seguinte ao arquivo, ajustando os caminhos e a senha do mysqldump conforme necessário:

#! / bin / sh

THEDATE = `data +% d% m% y% H% M`

mysqldump -uadmin -pPASSWORD DATABASENAME> /backups/files/dbbackup$THEDATE.bak

tar -cf /backups/files/sitebackup$THEDATE.tar / var / www / vhosts / my-website-path / httpdocs
gzip /backups/files/sitebackup$THEDATE.tar

localizar / backups / arquivos / site * -mtime +5 -exec rm {} \;
localizar / backups / arquivos / db * -mtime +5 -exec rm {} \;

O script criará primeiro uma variável de data para que todos os arquivos tenham o mesmo nome para um único backup, em seguida, despeja o banco de dados, faz o zip dos arquivos da web e gzip. Os comandos find são usados ​​para remover qualquer arquivo com mais de 5 dias, já que você não quer que seu disco fique sem espaço.

Torne o script executável executando o seguinte comando:

chmod u + x /backups/backup.sh

Em seguida, você precisará atribuí-lo para ser executado automaticamente pelo cron. Certifique-se de usar uma conta que tenha acesso ao diretório de backups.

crontab -e

Adicione a seguinte linha ao crontab:

1       1       *       *       *       /backups/backup.sh

Você pode testar o script com antecedência, executando-o enquanto estiver conectado à conta do usuário. (Eu geralmente executo os backups como root)

Sincronizar backups fora do local com Rsync

Agora que você tem backups automatizados do servidor em execução, pode sincronizá-los em outro lugar usando o utilitário rsync. Você vai querer ler este artigo sobre como configurar as chaves SSH para login automático: Adicionar chave SSH pública ao servidor remoto em um único comando

Você pode testar isso executando este comando em uma máquina Linux ou Mac em outro local (eu tenho um servidor Linux em casa, que é onde o executo)

rsync -a [email protected]: / backups / files / * / offsitebackups /

Isso vai demorar um pouco para ser executado pela primeira vez, mas no final o seu computador local deverá ter uma cópia do diretório de arquivos no diretório / offsitebackups /. (Certifique-se de criar esse diretório antes de executar o script)

Você pode agendar isso adicionando-o a uma linha crontab:

crontab -e

Adicione a seguinte linha, que executará rsync a cada hora na marca de 45 minutos. Você notará que usamos o caminho completo para rsync aqui.

45 * * * * / usr / bin / rsync -a [email protected]: / backups / files / * / offsitebackups /

Você pode programá-lo para ser executado em um horário diferente ou apenas uma vez por dia. Isso realmente depende de você.

Observe que existem vários utilitários que permitem sincronizar via ssh ou ftp. Você não precisa usar o rsync.

Segurança

A primeira coisa que você quer fazer é certificar-se de que possui uma conta de usuário regular para usar através do ssh e certificar-se de que pode usar o su para mudar para root. É uma ideia muito ruim permitir o login direto para root por ssh.

Desativar login raiz por SSH

Edite o arquivo / etc / ssh / sshd_config e procure a seguinte linha:

#PermitRootLogin sim

Mude essa linha para ficar assim:

PermitRootLogin no

Certifique-se de que possui uma conta de usuário regular e pode fazer su para fazer root antes de fazer esta alteração, caso contrário, você pode se bloquear.

Desativar SSH versão 1

Não há realmente nenhuma razão para usar algo diferente do SSH versão 2, pois é mais seguro do que as versões anteriores. Edite o arquivo / etc / ssh / sshd_config e procure a seguinte seção:

#Protocol 2,1
Protocolo 2

Certifique-se de usar apenas o Protocolo 2 conforme mostrado.

Reinicie o servidor SSH

Agora você precisará reiniciar o servidor SSH para que isso tenha efeito.

/etc/init.d/sshd restart

Verifique se há portas abertas

Você pode usar o seguinte comando para ver em quais portas o servidor está escutando:

netstat -an | grep LISTEN

Você realmente não deve ouvir nada além das portas 22, 80 e possivelmente 8443 para plesk.

Configure um Firewall

Você pode opcionalmente configurar um firewall iptables para bloquear mais conexões. Por exemplo, geralmente bloqueio o acesso a qualquer outra porta que não seja da minha rede de trabalho. Se você tiver um endereço IP dinâmico, convém evitar essa opção.

Se você já seguiu todas as etapas deste guia até agora, provavelmente não é necessário adicionar um firewall à mistura, mas é bom entender suas opções.

Veja também

  • Usando Iptables no Linux

Referências

Setting Up Virtual Hosts For The Apache Web Server - Tutorial

WHM Dedicated Server Configuration 3

Setting Up A Dedicated Server For A Multiplayer Game In Unity

WHM Bangla Tutorial Dedicated Server Configuration 2

Valheim Dedicated Server Setup | Host A FREE Private Server

How To Deploy A Cloud Dedicated Server With Free InterWorx - Host Unlimited Accounts

Set Up A Simple Web Server At Home In Under 10 Minutes Using Windows And WAMP

How To Setup A Cloud Dedicated Server W/InterWorx & Add Your Website, Name Servers, & Hostname SSL


Privacidade e segurança - Artigos mais populares

Como excluir sua conta do Facebook

Privacidade e segurança Feb 11, 2025

Michael Crider O Facebook é conhecido por pegar, armazenar e vender seus dados e continuamente fazer você reavaliar como a rede social lida com sua ..


Como configurar o sandbox do Windows

Privacidade e segurança Apr 24, 2025

CONTEÚDO NÃO CHEGADO Novo do Windows 10 Recurso de sandbox permite testar programas e arquivos baixados da Internet com segurança, executando-os em um contêiner..


Como desativar o compartilhamento de localização nos aplicativos móveis do Twitter

Privacidade e segurança Aug 24, 2025

CONTEÚDO NÃO CHEGADO Os aplicativos móveis do Twitter tornam muito fácil compartilhar sua localização sem realmente querer. Vamos ver como saber quando o Twitter está compa..


Como obter o login local de volta no Windows 8

Privacidade e segurança Oct 17, 2025

CONTEÚDO NÃO CHEGADO Por padrão, uma nova instalação do Windows 8 solicita que você crie um login sincronizado habilitado para nuvem. Embora existam vantagens distintas para o..


Os riscos de segurança de desbloquear o bootloader do seu telefone Android

Privacidade e segurança Jun 20, 2025

CONTEÚDO NÃO CHEGADO Os geeks do Android geralmente desbloqueiam seus bootloaders para fazer o root em seus dispositivos e instalar ROMs personalizados. Mas há uma razão pela ..


Como notificar automaticamente seu vizinho se o SmartThings detectar uma porta ou janela sendo aberta

Privacidade e segurança Jul 21, 2025

CONTEÚDO NÃO CHEGADO Se você está de férias, a última coisa que deseja é descobrir que alguém invadiu sua casa. Não há muito que você possa fazer sobre isso se..


Como usar CDs, DVDs e Blu-rays em um Mac sem uma unidade óptica

Privacidade e segurança Dec 15, 2024

O MacBook Air da Apple, junto com muitos outros Macs, não inclui mais uma unidade óptica. Mas você ainda pode usar CDs, DVDs, Blu-Rays e outros discos ópticos em seu Mac. ..


Ver e excluir senhas armazenadas no Firefox

Privacidade e segurança Jul 5, 2025

CONTEÚDO NÃO CHEGADO O Firefox permite que você armazene com segurança nomes de usuário e senhas de sites em seu Gerenciador de Senhas. Quando você visita um dos sites novam..


Categorias