Usando repos vs compile: hot wo substituir o Nginx do repo por um Nginx compilado? [duplicado]

1

Algum tempo atrás eu usei o PPA da Kura para instalar o Nginx + Pagespeed em meu VPS. Eu gostaria de atualizá-lo para a versão mais recente, mas os pacotes mais recentes do Kura não são tão recentes e estou pensando em baixá-los por mim mesmo (Nginx + Pagespeed), compilando-os e usando-os em vez dos fornecidos pelo PPA.

Eu me pergunto qual é o processo correto para fazer isso. Tenho que remover os pacotes do Kura e depois compilar e instalar os mais recentes, oficiais, ou posso apenas compilar e instalar esses e eles irão substituir os pacotes do PPA?

    
por javipas 11.02.2015 / 07:53

1 resposta

1

Basicamente, recompilar o código-fonte é tão fácil quanto descrito neste snippet de código no github , que está principalmente fazendo Certifique-se de que os caminhos estão corretos para o Ubuntu.

Aqui está uma breve visão geral de quais caminhos são importantes para o Ubuntu:

./configure --prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--user=www-data \
--group=www-data \

também, conforme descrito nesta pergunta semelhante em SO ( Como substituir a instalação do pacote do nginx com compilado da fonte? ) é descrito, que apt-get autoremove nginx (ou qualquer versão que você tenha instalado) ainda manterá os arquivos de configuração, que você pode reutilize com a versão recém-compilada mais tarde.

Depois de testá-lo no Ubuntu 14.04, posso confirmar que essas etapas estão funcionando perfeitamente, com um tempo de inatividade de apenas alguns segundos:

  1. execute o script compile-nginx.sh deste githubist e deixe um pacote com o último estável nginx (1.8.0) ser criado.

  2. desinstale os pacotes nginx do seu sistema

      

    apt-get autoremove nginx nginx-common nginx-custom

  3. instale o novo pacote

      

    dpkg -i dpkg -i /home//sources/nginx-1.8.0/nginx_1.8.0-1_amd64.deb

  4. reiniciar o nginx

      

    serviço sudo nginx restart

Neste estágio, os processos antigos do nginx ainda devem estar na RAM, portanto, o serviço deve se recusar a iniciar (porta já utilizada). Então você pode ter certeza de que todo o resto está correto (eu tive que criar o diretório / var / cache / nginx / client_temp) - se tudo estiver bem, faça

> sudo killall nginx
> sudo service nginx restart
  1. não há etapa 5, seus sites devem estar ativos novamente:)
por Nanofunk 02.08.2015 / 16:49