Como instalar o Redis e Redis PHP em servidores com cPanel e EasyApache 4

O Redis , ( Remote Dictionary Server ) é um banco de dados não relacional NoSQL capaz de armazenar dados no formato chave-valor(Key-value).

Seguindo os passos de outros bancos de dados NoSQL, como Cassandra, CouchDB e MongoDB, o Redis permite que o usuário armazene grandes quantidades de dados sem os limites de um banco de dados relacional.
Atualmente quase todas as linguagens, incluindo PHP, têm ligações Redis.

Neste guia, vamos abordar a instalação do servidor Redis e a extensão PHP Redis em servidores baseados em cPanel, para que você possa usar o Redis como um back-end de cache para seu WordPress, Laravel, Drupal ou qualquer outro aplicativo baseado em PHP.

Instalando o Redis:

para CentOS 6/RHEL 6

rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum -y install redis --enablerepo=remi --disableplugin=priorities
chkconfig redis on
service redis start

para CentOS 7/RHEL 7

rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum -y install redis --enablerepo=remi --disableplugin=priorities
systemctl enable redis
systemctl start redis

Instalando a extensão PHP do Redis PHP em todas as versões PHP disponíveis no servidor.

Importante: Copie e cole todo o bloco abaixo em sua sessão SSH, (não copie e cole linha a linha)

for phpver in $(ls -1 /opt/cpanel/ |grep ea-php | sed 's/ea-php//g') ; do
cd ~
wget -O redis.tgz https://pecl.php.net/get/redis
tar -xvf redis.tgz
cd ~/redis* || exit
/opt/cpanel/ea-php"$phpver"/root/usr/bin/phpize
./configure --with-php-config=/opt/cpanel/ea-php"$phpver"/root/usr/bin/php-config
make clean && make install
echo 'extension=redis.so' > /opt/cpanel/ea-php"$phpver"/root/etc/php.d/redis.ini
rm -rf ~/redis*
done

Restart Apache e PHP Fpm

/scripts/restartsrv_httpd
/scripts/restartsrv_apache_php_fpm

Verifique para ter certeza que a extensão PHP do Redis está instalada em cada versão PHP

Importante: Copie e cole todo o bloco abaixo em sua sessão SSH, (não copie e cole linha a linha)

for phpver in $(ls -1 /opt/cpanel/ |grep php | sed 's/ea-php//g') ; do
echo "PHP $phpver" ; /opt/cpanel/ea-php$phpver/root/usr/bin/php -i |grep "Redis Support"
done

O resultado deverá ser algo como:

PHP 56
Redis Support => enabled
PHP 70
Redis Support => enabled
PHP 71
Redis Support => enabled
PHP 72
Redis Support => enabled

Bom proveito !!

Please follow and like us:

Como habilitar o open_basedir com suPHP no CWP – Centos WebPanel

A proteção open_basedir do PHP impede que os usuários acessem arquivos fora de seu diretório home através de scripts php e acessem arquivos do sistema ou de outros usuários. O mais importante é impedir que scripts maliciosos acessem informações importantes.

O CentOS WebPanel usa o suPHP por padrão, portanto, o open_basedir não pode ser habilitado por meio do apache vhost ou pelo arquivo .htaccess com as opções: php_admin_value open_basedir.

Primeira opção – Habilitar open_basedir de forma global para todos as contas de usuários no CentOS WebPanel.

touch /usr/local/php/php.d/openbasedir.ini
echo "open_basedir = /home:/tmp:/var/tmp:/usr/local/lib/php/" > /usr/local/php/php.d/openbasedir.ini
service httpd restart

Segunda opção – Habilitar open_basedir por usuário

  • Crie o arquivo php.ini em public_html do usuário e insira
open_basedir = /home/username:/tmp:/var/tmp:/usr/local/lib/php/

**Substitua username pelo nome do usuário (Ver em List Accounts em seu Painel).

Please follow and like us:

Como Otimizar o Apache no CentOS 7 com CentOS WebPanel

O Apache é um servidor web de código aberto poderoso, projetado para fornecer um equilíbrio de flexibilidade, portabilidade e desempenho. A otimização do Apache é uma tarefa importante para todo administrador de sistema.

Personalizando algumas configurações do Apache, é possível melhorar o desempenho sem adicionar hardware adicional, como RAM, CPU, etc.

Este post descreve várias opções de configuração do Apache que podem ser usadas para melhorar o desempenho do Apache sem adicionar recursos de hardware adicionais ao seu servidor.

Estas sugestões de configuração podem ser aplicadas a qualquer servidor executando o Apache 2.xx. Para simplificar a explicação, abaixo vamos abordar um servidor CentOS 7 com o Painel CentOS Web Panel .

Se não sabe onde está o httpd.conf de seu servidor web, sugiro utilizar o comando Locate. Veja Como instalar o Locate.

No CentOS 7 com Painel CentOS WebPanel edite o arquivo httpd.conf .

Nota: Caso não encontre as opções abaixo, você pode seguramente adicionar os valores após a ultima linha do seu arquivo httpd.conf

nano /usr/local/apache/conf/httpd.conf

MaxKeepAliveRequests

MaxKeepAliveRequests é o número máximo de solicitações a serem atendidas em uma conexão TCP. Esta função limita o número de solicitações permitidas por conexão. Se estiver definido como 0 (ou não definidas no arquivo), serão permitidas solicitações ilimitadas.

Mantenha essa configuração com um valor alto para o desempenho máximo do servidor.

O valor recomendado de MaxKeepAliveRequests é 500.

MaxKeepAliveRequests 500

KeepAliveTimeout

KeepAliveTimeout define o número de segundos que o Apache irá aguardar pela nova solicitação do cliente conectado, antes de fechar a conexão. (Uma vez que o servidor recebe uma requisição, a diretiva Timeout se aplica.)

O KeepAliveTimeout recomendado pode estar entre 1 a 5.

KeepAliveTimeout 5

KeepAlive

KeepAlive define se o servidor permite mais de uma solicitação por conexão. Ele pode ser usado para impedir que qualquer cliente consuma muitos dos recursos do servidor.

Por padrão, o KeepAlive está desabilitado no CentOS 7.
Uma vez que o servidor Apache está recebendo solicitações de centenas e milhares de IPs de uma só vez, essa configuração deve estar ativada.

KeepAlive On

DNS Lookups

Um grande motivo para a lentidão do servidor web Apache é o tempo necessário para realizar pesquisas de DNS. Se a opção HostnameLookups estiver on, o Apache tentará registrar o nome completo do host de cada conexão do cliente de entrada no arquivo access.log. Resolver cada nome irá demandar um pedaço significativo de tempo.

Por padrão, HostnameLookups está desativado no Apache. De qualquer forma utilize

HostnameLookups Off

Configurando MPM Prefork

O módulo MPM (Módulo de Multi-Processamento) implementa um servidor web sem encadeamento e pré-bifurcado. O Apache trabalha como padrão com o MPM Prefork. Existem ainda outros MPM como ITK , WORKER, EVENT que não iremos abordar neste post. O MPM Prefork é o mais utilizados por SysAdmins por conta de sua compatibilidade com os mais diversos hardwares, sistemas e eslabilidade.

Abaixo vamos abordar como melhorar o desempenho do Apache utilizando o módulo Apache MPM Prefork e explicar cada uma das opções:

Se você utiliza o Apache com o CentOS 7 e CentOS Web Panel, edite o arquivo httpd.conf

nano /usr/local/apache/conf/httpd.conf

localize e descomente a linha abaixo de “Server-pool management (MPM specific)” removendo o # :

Include conf/extra/httpd-mpm.conf

Agora vamos editar o arquivo httpd-mpm.conf. Porém, antes de fazer alterações, recomendo fazer um backup do arquivo:

cp /usr/local/apache/conf/extra/httpd-mpm.conf /usr/local/apache/conf/extra/httpd-mpm.conf.backup

Edite o arquivo httpd-mpm.conf , localize e substitua os valores dentro de “IfModule mpm_prefork_module

    StartServers             5
    MinSpareServers          5
    MaxSpareServers         10
    MaxRequestWorkers      150
    MaxConnectionsPerChild 3000

StartServers: define o número de processos do servidor filho, criados na inicialização. É uma boa ideia aumentar esse número em um servidor de alta carga, para que o servidor esteja pronto para lidar com muitas conexões.

MinSpareServers: define o número mínimo de processos do servidor filho ocioso. Esse valor precisará ser ajustado para servidores de alta carga.

MaxSpareServers: define o número máximo de processos do servidor filho ocioso. Quando houver mais processos do servidor filho ociosos do que os definidos pelo MaxSpareServers, o processo ocioso será eliminado.

MaxRequestWorkers: define o número máximo de solicitações simultâneas que o Apache irá tratar. Quando esse limite for atingido, qualquer outra tentativa de conexão será enfileirada.

Nota: Talvez o item de hardware mais crítico a ser levado em consideração seja a quantidade de RAM alocada para cada processo do Apache. Embora não seja possível controlar o uso diretamente, você pode restringir o número de processos filho por meio da diretiva MaxRequestWorkers (anteriormente conhecida como MaxClients no Apache 2.2), o que colocará limites no uso da RAM pelo Apache.

MaxRequestsPerChild: esta diretiva define quantas solicitações um processo filho manipulará antes de finalizar. Quando o limite for atingido, o processo filho morrerá.

Nota: Se este valor for 0, o processo nunca morrerá, obviamente consumindo mais recurso do servidor.

Conclusão

Configura o Apache para o máximo desempenho é muito fácil. Porém em servidores com alto tráfego seja necessário otimizar as configurações aqui tratadas.

Você pode experimentar as várias opções disponíveis e medir o desempenho do servidor da Web com ferramentas como ab e httperf.

Please follow and like us:

Teste a velocidade da internet do servidor via linha de comando com speedtest-cli

O speedtest-cli é uma ferramenta de linha de comando útil para administradores em servidores Linux testarem rapidamente a largura de banda, ping e outras informações. Este utilitário mantido pela Speedtest.net nos permite obter informações valiosas sobre o que está sendo oferecido pelo provedor de seu servidor linux.

Abaixo vamos abordar a instalação no CentOS/RedHat , Ubuntu/Debian e a forma manual que servirá para qualquer outra Distribuição Linux.

CentOS/RedHat

Instale o repositório Epel release

yum install epel-release -y

Instale python e python-pip

yum install python python-pip -y
pip install --upgrade pip

Instale o Speedtest-cli via pip

pip install speedtest-cli

Ubuntu

Primeiro atualize os packages do servidor

apt-get update

Instale python e python-pip

apt-get install python python-pip
pip install --upgrade pip

Instale o Speedtest-cli via pip

pip install speedtest-cli

Todas as outras Distribuições Linux/UNIX

Certifique-se que o pacote do python esteja instalado em sua distribuição linux

Faça o download do speedtest-cli

wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py

Corrija as permissões para execução

chmod +x speedtest-cli

Para executar o teste basta digitar :

./speedtest-cli
OU
python speedtest-cli

Exemplo de comandos para speedtest-cli

Execute o comando abaixo para o iniciar o teste de velocidade

speedtest-cli

Exemplo do teste

[root@gerenciandosrv~]# speedtest-cli
Retrieving speedtest.net configuration...
Testing from Multacom Corporation (173.82.115.74)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Race Communications (Los Angeles, CA) [43.51 km]: 6.215 ms
Testing download speed................................................................................
Download: 424.74 Mbit/s
Testing upload speed................................................................................................
Upload: 250.89 Mbit/s

Para executar o teste e gerar o link do Speedtest com o resultado utlize

speedtest-cli --share

[root@gerenciandosrv ~]# speedtest-cli --share
Retrieving speedtest.net configuration...
Testing from Multacom Corporation (173.82.115.74)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Race Communications (Los Angeles, CA) [43.51 km]: 14.157 ms
Testing download speed................................................................................
Download: 408.38 Mbit/s
Testing upload speed................................................................................................
Upload: 157.05 Mbit/s
Share results: http://www.speedtest.net/result/7978047284.png

Abaixo segue a imagem do meu teste de velocidade

Please follow and like us: