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:
-
execute o script compile-nginx.sh deste githubist e deixe um pacote com o último estável nginx (1.8.0) ser criado.
-
desinstale os pacotes nginx do seu sistema
apt-get autoremove nginx nginx-common nginx-custom
-
instale o novo pacote
dpkg -i dpkg -i /home//sources/nginx-1.8.0/nginx_1.8.0-1_amd64.deb
-
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
- não há etapa 5, seus sites devem estar ativos novamente:)