Answers:
您认为这不是最佳途径是正确的。此路线需要许多手动步骤,并且非常容易出错,并且扩展性不佳。
使用linux发行版时,您应尽可能坚持软件包管理。
使用包管理的优点:
当您仅从源代码开始工作时,您将失去所有这些出色的功能,并且事情很快就会变得混乱。
为了解决您的特殊问题,您应该查看ubuntu backports存储库,也许他们有NGinx的更新版本供您使用。
如果他们没有合适的版本,那么最好的解决方案是自己创建一个反向移植的ubuntu软件包。确实并不难,而且比每次手动从源代码进行编译要少。基本上,反向移植需要从ubuntu中获取源程序包,将旧的upsteam tar.gz文件替换为所需的最新文件,然后重新构建该程序包。
您可以使用本指南来帮助您将软件包反向移植。
我发现将不同版本安装在单独的位置非常方便,只需符号链接到您要使用的版本,例如:
lrwxr-xr-x 1 root wheel 7B Jun 7 18:26 /usr/local/foo -> foo-1.0
drwxr-xr-x 2 root wheel 512B Jun 7 18:26 /usr/local/foo-1.0
drwxr-xr-x 2 root wheel 512B Jun 7 18:26 /usr/local/foo-1.1
好处是:
/usr/local/foo/bin/bar
当然,您仍然必须重新应用对先前版本所做的所有配置更改,但是为此,您可以使用某些版本控制系统(RCS / SVN / GIT)或Bcfg2之类的配置管理工具。
而且,当然,这仅适用于少数或更少的主机。