{"id":9916,"date":"2016-06-01T11:40:50","date_gmt":"2016-06-01T14:40:50","guid":{"rendered":"https:\/\/king.host\/blog\/?p=9916"},"modified":"2024-06-04T07:32:05","modified_gmt":"2024-06-04T10:32:05","slug":"descubra-os-segredos-do-nginx-para-melhorar-o-desempenho-do-seu-site","status":"publish","type":"post","link":"https:\/\/king.host\/blog\/tecnologia\/descubra-os-segredos-do-nginx-para-melhorar-o-desempenho-do-seu-site\/","title":{"rendered":"Nginx para melhorar o desempenho do seu site"},"content":{"rendered":"<blockquote><p>Nginx \u00e9 um webserver open source de alta performance. Testes comprovam que um \u00fanico servidor utilizando este software \u00e9 capaz de atender facilmente a mais de 10&nbsp;mil&nbsp;conex\u00f5es.<\/p><\/blockquote>\n<p>Al\u00e9m de servidor web, o Nginx pode ser utilizado como proxy reverso, suportando os protocolos HTTP, SMTP, POP3 e IMAP, e como balanceador de carga, se tornando, assim, uma ferramenta extremamente vers\u00e1til.<\/p>\n<p>Segundo dados do <a href=\"http:\/\/news.netcraft.com\/archives\/2016\/03\/18\/march-2016-web-server-survey.html\" target=\"_blank\" rel=\"noopener\">Netcraft (mar\u00e7o\/2016)<\/a>, servidores Web Nginx s\u00e3o respons\u00e1veis por hospedar cerca de 16% dos sites atualmente ativos e 25% dos sites mais acessados. Criado com o objetivo de suportar o tr\u00e1fego intenso de um servi\u00e7o Web, o Nginx atualmente \u00e9 usado em servi\u00e7os Web populares, tais como WordPress, Cloudflare, PHP.net, Instagram e Netflix, entre outros. Os motivos para tanto crescimento s\u00e3o as suas principais caracter\u00edsticas: alto desempenho, estabilidade, configura\u00e7\u00e3o simples e baixo consumo de recursos.<\/p>\n<p>Raz\u00f5es n\u00e3o faltam para entender o cont\u00ednuo aumento da ado\u00e7\u00e3o deste webserver. Em compara\u00e7\u00e3o com o Apache, servidor Web mais popular e tradicional, o Nginx leva vantagem, principalmente no quesito consumo de recursos quando demandado a grandes volumes de requisi\u00e7\u00f5es. Isto se deve ao fato do Nginx ser um servidor web que segue o conceito \u201c<em>event-based web server<\/em>\u201d (ou seja, utiliza um processo-mestre e um \u2013 ou poucos \u2013 processos oper\u00e1rios disparados sob demanda). J\u00e1 o Apache, em sua utiliza\u00e7\u00e3o mais comum, baseia-se no conceito \u201c<em>process-based server<\/em>\u201d (um processo para atender cada requisi\u00e7\u00e3o), gerando assim maior degrada\u00e7\u00e3o de performance e consumo de recursos sob as mesmas condi\u00e7\u00f5es.<\/p>\n<p>No entanto, estas duas ferramentas n\u00e3o s\u00e3o necessariamente concorrentes. Visto sua capacidade de proxy reverso HTTP, o Nginx pode ser utilizado como <em>frontend, <\/em>recebendo as requisi\u00e7\u00f5es HTTP para, por exemplo, aproveitar-se de seus recursos de cache, e solicitando ao Apache, o qual estar\u00e1 em <em>backend<\/em>, as demais requisi\u00e7\u00f5es. Tal combina\u00e7\u00e3o permite a redu\u00e7\u00e3o de recursos do ambiente Web.<\/p>\n<p>\u00c9 poss\u00edvel, por exemplo, diminuir o consumo de recursos do Apache fazendo com que as requisi\u00e7\u00f5es web passem primeiro pelo Nginx que ir\u00e1 processar e\/ou armazenar em cache determinados tipos de arquivos.<\/p>\n<h2>Principais caracter\u00edsticas<\/h2>\n<ul>\n<li><strong>Velocidade<\/strong>: Por usar socket ass\u00edncrono (arquitetura orientada a eventos), n\u00e3o espalha processos quando recebe requisi\u00e7\u00f5es. Um processo para cada n\u00facleo de processamento \u00e9 suficiente para dar conta de milhares de conex\u00f5es, permitindo o uso mais eficiente da CPU e mem\u00f3ria;<\/li>\n<li><strong>Configura\u00e7\u00e3o flex\u00edvel<\/strong>: Seu arquivo de configura\u00e7\u00e3o \u00e9 muito mais simples de ser entendido, pois usa o conceito de blocos hier\u00e1rquicos e documenta\u00e7\u00e3o API detalhada;<\/li>\n<li><strong>Streaming:<\/strong> Nginx possui suporte nativo para streaming de conte\u00fado FLV e MP4, sem necessidade de m\u00f3dulos adicionais.<\/li>\n<li><strong>Instala\u00e7\u00e3o de m\u00f3dulos:<\/strong> Diferentemente do Apache, que permite o acoplamento din\u00e2mico dos m\u00f3dulos que provem funcionalidade adicional ao Nginx devem ser especificados no momento da compila\u00e7\u00e3o. Ou seja, caso voc\u00ea deseje, por exemplo, ter suporte a requisi\u00e7\u00f5es HTTPS na vers\u00e3o j\u00e1 instalada no sistema, voc\u00ea ter\u00e1 que recompilar novamente o web server.<\/li>\n<li><strong>Configura\u00e7\u00e3o de hosts virtuais: <\/strong>Toda e qualquer configura\u00e7\u00e3o referente a um dom\u00ednio hospedado no Nginx deve ser realizado diretamente em seu arquivo de configura\u00e7\u00e3o (nginx.conf). Isto garante uma melhor performance no processamento da requisi\u00e7\u00e3o, por\u00e9m, retira um pouco da flexibilidade que o Apache permite atrav\u00e9s de seus arquivos .htaccess.<\/li>\n<\/ul>\n<h2>Conclus\u00e3o<\/h2>\n<p>O Nginx, por possuir uma arquitetura mais enxuta e possibilidades de uso al\u00e9m das fun\u00e7\u00f5es de servidor Web, se adequa melhor \u00e0s necessidades de alta demanda t\u00e3o necess\u00e1rias para sites de sucesso.<\/p>\n<p>Por isto, nota-se uma crescente migra\u00e7\u00e3o de sites que utilizam outros<em>web servers <\/em>para o Nginx dentro dos top sites melhores ranqueados, como ocorreu com o Facebook, SourceForge, WordPress, ImageShack, dentre outros. Tanto que, desde maio\/2014 o Nginx \u00e9 o web server mais utilizado entre os top 1000 websites rankeados pelo Alexa, tendo 49,3% de participa\u00e7\u00e3o, frente aos 27,3% do Apache e 6,1% do IIS, <a href=\"http:\/\/w3techs.com\/technologies\/cross\/web_server\/ranking\" target=\"_blank\" rel=\"noopener\">segundo levantamento do W3Techs<\/a>.<\/p>\n<ul>\n<li><strong><a href=\"https:\/\/www.kinghost.com.br\/nginx\" target=\"_blank\" rel=\"noopener\">Conhe\u00e7a o Nginx na KingHost<\/a><\/strong><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Nginx \u00e9 um webserver open source de alta performance. Testes comprovam que um \u00fanico servidor utilizando este software \u00e9 capaz de atender facilmente a mais de 10&nbsp;mil&nbsp;conex\u00f5es. Al\u00e9m de servidor web, o Nginx pode ser utilizado como proxy reverso, suportando os protocolos HTTP, SMTP, POP3 e IMAP, e como balanceador de carga, se tornando, assim, [&hellip;]<\/p>\n","protected":false},"author":253,"featured_media":9917,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1179,8],"tags":[1376],"class_list":["post-9916","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvimento","category-tecnologia","tag-desenvolvimento"],"_links":{"self":[{"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/posts\/9916","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/users\/253"}],"replies":[{"embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/comments?post=9916"}],"version-history":[{"count":1,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/posts\/9916\/revisions"}],"predecessor-version":[{"id":31296,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/posts\/9916\/revisions\/31296"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/media\/9917"}],"wp:attachment":[{"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/media?parent=9916"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/categories?post=9916"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/king.host\/blog\/wp-json\/wp\/v2\/tags?post=9916"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}