Jump to content

Recommended Posts

Recentemente mudei para um servidor dedicado cloud, e vi a possibilidade de instalar a extenção memcache.

depois que pedi a intalação consigo abrir no backoffice para fazer a configuração.

Na configuração ele pede um ip e uma porta.

 

Esse ip seria do meu servidor ou do meu banco de dados?

 

Estou usando na porta 80 a única que deu conexão com o servidor, pois essa porta o suporte da hospedagem não soube me informar.

 

Minha hospedagem é cloud, mas meu banco de dados continua compartilhado.

 

No debug aparece o seguinte erro...

 

Warning na linha 1829 no arquivo /home/alanisflores/www/flores/classes/controller/AdminController.php
[2] Cannot modify header information - headers already sent by (output started at /home/alanisflores/www/flores/classes/cache/CacheMemcache.php:89)

Share this post


Link to post
Share on other sites

Primeiramente verifique ( phpinfo() ) se foi configurado no servidor o memcache ou memcached. São módulos diferentes e tem opções diferentes de configuração no PrestaShop.

 

Normalmente se estiver rodando em um VPS (sem outro domínio vinculado ou loja), pode utilizar:

IP: 127.0.0.1

Porta: 11211

 

Existem várias outras opções e detalhes de configuração.

Caso tenha algum problema, recomendo que solicite suporte ao seu host.

Share this post


Link to post
Share on other sites

Qual a versao Prestashop em uso ? E qual a versao php em uso no servidor ? memcache nao mais tem funcao nenhuma se vc. estiver usando versoes php acima de 5.4. Estas versaos vem com opcache nativamente que é muito mais poderoso do que os módulos de cache de versoes inferiors (xcache, memcache, APC, etc.). Se vc. for instalar outro systema cache juntamente com o opcache, vai dar colisoes no sistema.

Share this post


Link to post
Share on other sites

Qual a versao Prestashop em uso ? E qual a versao php em uso no servidor ? memcache nao mais tem funcao nenhuma se vc. estiver usando versoes php acima de 5.4. Estas versaos vem com opcache nativamente que é muito mais poderoso do que os módulos de cache de versoes inferiors (xcache, memcache, APC, etc.). Se vc. for instalar outro systema cache juntamente com o opcache, vai dar colisoes no sistema.

Informação do servidor Linux #1 SMP Fri Oct 21 10:27:14 EDT 2016 x86_64

Versão do Software do Servidor Apache

Versão PHP 5.6.18

Limite de memória 536870912

Tempo máximo de execução 480

 

versão do PrestaShop 1.6.1.12

Tenho o opcache funcionando...   Qual é o melhor, depois da aplicação e mysql todo otimizado estou tentando reduzir tempo resposta servidor...

Edited by marcossene (see edit history)

Share this post


Link to post
Share on other sites

Nao é necessário vc. instalar qualquer outro cache, porque o opcache substitui os módulos cache antigos que vinham antes da versao php 5.4/5.5. Vc. está usando 5.6. que é optimal.

 

Para reduzir o load use ngnix (over apache, ou entao como ngnix mesmo). Leia tbm. aqui: https://www.prestashop.com/forums/topic/236128-tutorial-servidor-configura%C3%A7%C3%A3o-m%C3%ADnima-para-prestashop/

Share this post


Link to post
Share on other sites

Nao é necessário vc. instalar qualquer outro cache, porque o opcache substitui os módulos cache antigos que vinham antes da versao php 5.4/5.5. Vc. está usando 5.6. que é optimal.

 

Para reduzir o load use ngnix (over apache, ou entao como ngnix mesmo). Leia tbm. aqui: https://www.prestashop.com/forums/topic/236128-tutorial-servidor-configura%C3%A7%C3%A3o-m%C3%ADnima-para-prestashop/

Muito obrigado, quanto as configurações mínimas  do servidor, está tudo muito bem configurado.Vou pedir a instalação do ngnix no meu servidor e volto aqui com os resultados!  Valeu...

Share this post


Link to post
Share on other sites

Instaleit o atual PS 1.7.1. e confrontei com alguns problemas no meu servidor, apesar das versoes anteriores de 1.7.0 terem funcionado sem problemas. Atualizei os requisitos mínimos para vc. poder adaptar o seu servidor. ;)

 

https://www.prestashop.com/forums/topic/236128-tutorial-servidor-configura%C3%A7%C3%A3o-m%C3%ADnima-para-prestashop/

Share this post


Link to post
Share on other sites

Pelo que sei, o memcache(d) faz cache dos dados que trafegam entre o site e o usuário (Client Side).

Já o Opcache faz o cache código do servidor, para otimizar o processamento (Server Side).

 

São dois caches totalmente independentes e, desde que sejam configurados corretamente no servidor, funcionam muito bem.

Eu utilizo os dois sem problemas.

 

[uPDATE]

Já o Nginx eu não utilizo em substituição ao Apache.

Só utilizo em projetos grandes, para controlar o Load Balancer quando é necessário mais de um servidor.

 

Boa sorte.

Share this post


Link to post
Share on other sites

Eu utilizo o ngnix over Apache, que nao é a mesma coisa que um servidor ngnix. A grande vantagem é que vc. nao tem que mexer com nenhum .htaccess, ou seja fazer rewrite.

 

Além do mais nao tenho instalado nehum outro cache (além do opcache), mas adaptei o opcache para uma melhor performance. 10.000 produtos com um load de 1,5 segundos.

Nao creio qu eo uso do memcache irá acelerar mais ainda o acesso á esta página ;) Bancos de dado relacionais possuem overhead suficiente para manusear multiplos e grandes pacotes de dados, a única coisa que sobra para cachear é o rendering da página. Infelizmente esta pequena parte nao se tem como medir e por sua vez ficam em millisegundos... Portanto sem importância no speed.

Share this post


Link to post
Share on other sites

Legal, Conny

 

É o mesmo princípio quando utilizo o Nginx como Load Balancer (over Apache).

 

Quanto ao Memcache, no seu caso pode não ter muita importância, mas quando se tem uma loja com campanhas de marketing agressivas, que geram 1000, 2000 usuários simultâneos, o Memcache faz bastante diferença, sim.

 

Claro que podemos utilizar outros recursos (CDN, Tunning do MySQL, etc...).

 

Abraço! 

Share this post


Link to post
Share on other sites

OK, vc. usa o memcache como handler multi-tasks, ou seja como load balancer, eu prefiro usar o ngnix. Sendo assim ambas possibilidades sao válidas. ;)

Share this post


Link to post
Share on other sites

Não, não...

Só pra esclarecer...

Usamos o Nginx quando o projeto precisa de load balancer.

 

Opcache (cache do servidor) + Memcache (cache de dados) usamos em qualquer loja, desde que seja um servidor VPS / dedicado.

Sem Nginx.

 

(Y)

Share this post


Link to post
Share on other sites

Instaleit o atual PS 1.7.1. e confrontei com alguns problemas no meu servidor, apesar das versoes anteriores de 1.7.0 terem funcionado sem problemas. Atualizei os requisitos mínimos para vc. poder adaptar o seu servidor. ;)

 

https://www.prestashop.com/forums/topic/236128-tutorial-servidor-configura%C3%A7%C3%A3o-m%C3%ADnima-para-prestashop/

Valeu, o servidor está configurado dentro dos requisitos mínimos... Minha Hospedagem cloud e é gerenciada, na hora de habilitar o ngnix , sem a configuração das regras o site apresentou erro de rewrite nas url's porque ele não interpreta o .htaccess,  Se depois que eles habilitarem o ngnix eu gerar um novo .htacces pelo back office vai corrigir isso? Ou vou ter que alterar direto no arquivo, pois estava lendo em alguns post no forums do prestashop e as lojas que tiveram problemas ao implementar o ngnix, foram somente lojas que tinham habilitado multilinguagens, a minha o único idioma é português. 

Share this post


Link to post
Share on other sites

Veja oque escrevi mais acima. ngnix over Apache nao necessita de rewrites dos .htaccess. Se vc. instalou um ngnix puro, entao deverá interpretar, ou seja re-escrever o .htaccess do Prestashop.

 

Ficheiros prontos para o ngnix vc. encontra na documentacao do Prestashop, no fórum Inglês, ou entao vc. procura no net por um tool de reescrita.

 

Documentacao oficial: http://doc.prestashop.com/display/PS16/System+Administrator+Guide#SystemAdministratorGuide-NginxfriendlyURLs

Fórum Inglês: https://www.prestashop.com/forums/topic/393593-how-to-convert-htaccess-from-apache-to-nginx/?do=findComment&comment=1921724 entre outros....

Google: https://winginx.com/en/htaccess

 

o .htaccess a ser re-escrito é o da raiz da loja.

Share this post


Link to post
Share on other sites

Veja oque escrevi mais acima. ngnix over Apache nao necessita de rewrites dos .htaccess. Se vc. instalou um ngnix puro, entao deverá interpretar, ou seja re-escrever o .htaccess do Prestashop.

 

Ficheiros prontos para o ngnix vc. encontra na documentacao do Prestashop, no fórum Inglês, ou entao vc. procura no net por um tool de reescrita.

 

Documentacao oficial: http://doc.prestashop.com/display/PS16/System+Administrator+Guide#SystemAdministratorGuide-NginxfriendlyURLs

Fórum Inglês: https://www.prestashop.com/forums/topic/393593-how-to-convert-htaccess-from-apache-to-nginx/?do=findComment&comment=1921724 entre outros....

Google: https://winginx.com/en/htaccess

 

o .htaccess a ser re-escrito é o da raiz da loja.

Realmente, no meu servidor foi instalado o ngnix puro... Quantos as regras de rewrites fiz de acordo com a documentação do prestashop mas não funcionou. Pedi pro suporte fazer pra mim e nada... Backoffice funciona certinho mas o front com erro ERR_TOO_MANY_REDIRECTS. 

Vou pedir pra hospedagem substituir pelo ngnix over Apache

Share this post


Link to post
Share on other sites

Nao sei como eles instalaram, mas o erro diz que está tendo redirecoes erroneas em demasiado. Os logs de erro do servidor (ngnix) deverao dar mais informacoes. Mande verificar.

 

o .htaccess é responsável pelo redirecionamento. Pode ser que existam mais do que um .htaccess ou regras traduzidas que estao erroneas. O administrado do servidor deverá saber como corrigir o erro.

Share this post


Link to post
Share on other sites

Nao sei como eles instalaram, mas o erro diz que está tendo redirecoes erroneas em demasiado. Os logs de erro do servidor (ngnix) deverao dar mais informacoes. Mande verificar.

 

o .htaccess é responsável pelo redirecionamento. Pode ser que existam mais do que um .htaccess ou regras traduzidas que estao erroneas. O administrado do servidor deverá saber como corrigir o erro.

 

Pedi para eles retornarem para o apache... Quando pedi para instalarem o ngnix over apache a resposta foi (Não localizei na web nenhum serviço com a nomenclatura Nginx Over Apache. Em uma tradução literal, seria o webserver Nginx instalado em um servidor Apache. Esta configuração é a que está sendo utilizada no seu servidor dedicado.) 

Mas mesmo no meu painel tem alguns campos de configuração para o ngnix, coloquei as regras de rewriter de acordo com a documentação e mesmo assim não funcionou...Meu .htaccess foi reescrito conforme documentação mas o suporte da minha hospedagem fala que o ngnix desconsidera esses arquivos. Deletei o .htaccess e mesmo removendo todas as regras no nginx, ainda ocorre diversos redirecionamentos para meudomio/loja...

 

Cheguei instalar uma loja limpa prestashop para ver se o problema era em minha loja de produção, o mesmo erro mesmo estando desabilitado reescrita de url e mesmo assim não funciona...O engraçado que o backoffice funciona e muito mais ágil que o apache.

 

A máquina tem o sistema operacional linux, com o apache e o nginx disponibilizados como webservers:

Server version: Apache/2.2.27 (Unix)

web-ded-224968a ~]# /etc/init.d/nginx status

Checking NGINX Status

  PID TT       STAT     TIME CMD

 4609 ?        Ss   00:00:00 nginx: master process /usr/local/nginx/sbin/nginx

 4610 ?        Sl   00:00:00  \_ nginx: worker process      

 4611 ?        Sl   00:00:01  \_ nginx: worker process

Edited by marcossene (see edit history)

Share this post


Link to post
Share on other sites

Sim traduzido literalmente é webservice nginx em apache. Isto deve estar correto. O que exatamente nao funciona ? Vc. já deletou o cache (flush cache) no servidor. Qual cache está usando ? opcache by default em versoes php 5.5. acima ?

 

Qual a URL da loja ?

 

Alguma firewall instalada. Está usando cPanel ou Plesk ? Me envia link da su página do phpinfo.php para eu poder verificar a configuracao do seu servidor.

 

Página mais agil isto é o comportamento ngnix. O front-office tmb. deverá estar mais rápido quando funcionar.

Share this post


Link to post
Share on other sites

Sim traduzido literalmente é webservice nginx em apache. Isto deve estar correto. O que exatamente nao funciona ? Vc. já deletou o cache (flush cache) no servidor. Qual cache está usando ? opcache by default em versoes php 5.5. acima ?

 

Qual a URL da loja ?

 

Alguma firewall instalada. Está usando cPanel ou Plesk ? Me envia link da su página do phpinfo.php para eu poder verificar a configuracao do seu servidor.

 

Página mais agil isto é o comportamento ngnix. O front-office tmb. deverá estar mais rápido quando funcionar.

 

 

Na home aparecia um erro Excesso de redirecionamento. ERR_TOO_MANY_REDIRECTS.  Como é na minha loja de produção, tive que retornar para o apache pois no meu front estava fora com nginx nem carregava a página. Tentei migrar nesse ultimo feriado mas sem sucesso... (Agora está funcionando pois voltei pro apache) 

 

Sim após aplicar todas configurações foram  limpo o cache.... e reiniciado o Nginx pelo painel

 

O único cache que estou Usando é o Opcache e o smart do prestashop, mandei desinstalar o mencache

 

Tem firewal instalado no servidor, O painel é da própria hospedagem - kinghost

 

O suporte tentou resolver de várias maneiras, mas sem sucesso!

 

Configurações que realizei no painel Nginx... que seria o nginx.conf

 

Realizei as configurações de regras com a pasta (flores) meu diretório e posteriormente sem o diretório

 

Fonte:Documentação Prestashop 

location /PRESTASHOP_FOLDER/ {  index /PRESTASHOP_FOLDER/index.php;


  rewrite ^/PRESTASHOP_FOLDER/api/?(.*)$ /PRESTASHOP_FOLDER/webservice/dispatcher.php?url=$1 last;
  rewrite ^/PRESTASHOP_FOLDER/([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /PRESTASHOP_FOLDER/img/p/$1/$1$2.jpg last;
  rewrite ^/PRESTASHOP_FOLDER/([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /PRESTASHOP_FOLDER/img/p/$1/$2/$1$2$3.jpg last;
  rewrite ^/PRESTASHOP_FOLDER/([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /PRESTASHOP_FOLDER/img/p/$1/$2/$3/$1$2$3$4.jpg last;
  rewrite ^/PRESTASHOP_FOLDER/([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /PRESTASHOP_FOLDER/img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg last;
  rewrite ^/PRESTASHOP_FOLDER/([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /PRESTASHOP_FOLDER/img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg last;
  rewrite ^/PRESTASHOP_FOLDER/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /PRESTASHOP_FOLDER/img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg last;
  rewrite ^/PRESTASHOP_FOLDER/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /PRESTASHOP_FOLDER/img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg last;
  rewrite ^/PRESTASHOP_FOLDER/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /PRESTASHOP_FOLDER/img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg last;
  rewrite ^/PRESTASHOP_FOLDER/c/([0-9]+)(-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /PRESTASHOP_FOLDER/img/c/$1$2.jpg last;
  rewrite ^/PRESTASHOP_FOLDER/c/([a-zA-Z-]+)(-[0-9]+)?/.+\.jpg$ /PRESTASHOP_FOLDER/img/c/$1.jpg last;
  rewrite ^/PRESTASHOP_FOLDER/([0-9]+)(-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /PRESTASHOP_FOLDER/img/c/$1$2.jpg last;
  try_files $uri $uri/ /PRESTASHOP_FOLDER/index.php?$args;
}

O .htaccess o suporte da minha hospedagem falou que o Ngnix não lê ele ignora... Mais mesmo ele foi reescrito conforme na documentação.

Edited by marcossene (see edit history)

Share this post


Link to post
Share on other sites

o.htaccess que vc. postou é o atual, ou aquele quando estava usando ngnix ?

O problema é que nao estou mais conseguindo seguir, pois vc. fez tentativas diferentes e nao sei o que cabe a qual delas agora (ngnix puro, ngninx over apache ou apache só). Com a instalaco apache + ngnix como webservice, nao deverá traduzir o .htaccess original do Prestashop. Neste caso vc. usa tudo original sem mexer, assim como se fosse um apache puro. Nesta configuracao existe porém uma possibilidade, que é nao filtrar e deixar que o ngnix tome conta dos scripts (cgi, fast-cgi ou apache). Infelizmente vc. nao informou a configuracao que o seu provedor fez. Bem provavel que este nao tem conhecimento o suficiente para configurar corretamente.Apache e ngnix over apache lêem .htaccess sem necessidade de traduzir. Já um ngnix puro vc. tem que traduzir e conforme a configuracao do servidor este lê .htaccess ou somente a ngnix.conf. Este tema é muito complicado para quem nao tem conhecimentos mais profundos da técnica mesmo.

 

Quanto ao php-info: A versao php que eu sugiro é a 5.6.30. Vc. está usando 5.6.18. Módulo suhosin está instalado. Neste caso nao tem funcao nenhuma. Creio que o problema é mesmo desconhecimento de como configurar corretamente o servidor neste caso.

Fique com o apache como está, desabilite suhosin, deixe o opcache e fast-cgi, instale php-fpm. E instale o memcache para um fazer um load balancing como o Daniel indicou. Acho que neste caso seria melhor.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More