不久前,我使用库拉氏PPA在VPS上安装了Nginx+Pagespeed。我想把它更新到最新版本,但是来自库拉的最新软件包并不是最近的,我正在考虑自己下载它们(Nginx + Pagespeed),编译它们并使用它们,而不是PPA提供的包。
我想知道做这件事的正确过程是什么。我是否必须删除Kura软件包,然后编译并安装最新的正式软件包,还是只编译并安装这些软件包,它们将取代PPA软件包?
发布于 2015-08-02 14:49:29
基本上,重新编译源代码就像这个github上的代码片段中概述的那样简单,这主要是确保Ubuntu的路径是正确的。
以下是对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 \另外,正如关于SO (如何用编译后的源代码替换nginx的软件包安装?)的类似问题中所描述的,apt-get自动删除nginx (或您已经安装的任何版本)仍将保留配置文件,您可以在以后的新编译版本中重用该配置文件。
在Ubuntu14.04上自己测试之后,我可以确认这些步骤非常有效,停机时间仅为几秒钟:
在这个阶段,旧的nginx进程应该仍然在RAM中,所以服务应该拒绝启动(端口已经被占用)。因此,您可以确保其他所有内容都是正确的(我必须创建目录/var/cache/nginx/client_temp )--如果一切正常,请执行以下操作
> sudo killall nginx
> sudo service nginx restarthttps://askubuntu.com/questions/584120
复制相似问题