我需要做一个新的镜像,并select新的16.04 Ubuntu的,所以我可以得到一些包的新版本,而不是从源代码安装。 到目前为止,我很遗憾,因为在线文档的决定是稀疏的。
对于12.04和14.04,我经常能够通过安装一个软件包,然后删除(不清除)它来创buildubuntu启动脚本,从而重新定义用于自定义编译的启动脚本。 然后我可以编辑它们来指向正确的configuration文件和二进制文件。
例如,要使用最新的openresty,我可以这样做:
apt-get install nginx apt-get remove nginx
然后,我可以更新/etc/init.d/nginx脚本指向我的自定义二进制/configuration文件,我有一个快乐的Ubuntu的启动脚本。 大!
这种方法不再适用于16.04。
我编辑过:
/etc/init.d/nginx /etc/init/nginx.conf /lib/system.d/system/nginx.service Ubuntu永远不会拉我的二进制文件(这是在/usr/local/openresty/nginx/sbin/nginx )。 它总是在启动时运行/sbin/nginx (我错过了首先卸载'nginx-core')或者什么也没有。 其他软件包也是如此。
关于从新贵转型而来的Ubuntu文档在这个领域是欠缺的,他们关心的是“起步停止”。
我不知道 Ubuntu是在哪里决定的。 我无法find任何指向/sbin/nginxconfiguration文件。 没有日志帮助。 我遇到的每个潜在文件都指向备用二进制文件和configuration文件。
如果任何人都可以分享使用新发射系统的好资源以及它看起来/存储信息的地方,我会非常感激。
似乎有一个数据库涉及,因为它检测到文件更改,并要求我重新加载 – 但我还没有find它。
在玩了很多之后,我想到了以下几点:
看来,nginx软件包安装了两种types的设置,但只使用一种。 有些问题与此有关。
/etc/init.d/nginx和/etc/init/nginx.conf /lib/systemd/system/nginx.service和/etc/systemd/system/nginx.service 从试用和错误:*运行systemctl disable nginx.service禁用/删除大多数链接和文件*删除/etc/systemd/system/nginx.service中的文件,如果存在*将一个新的文件放在/ lib / systemd / system / nginx.service *运行systemctl enable nginx.service
/lib/systemd/system/nginx.service中的文件必须是文件; 它不能是符号链接(否则会出现太多的符号链接错误)
这似乎现在工作。 我希望我可以使用符号链接,因为这些文件绑定到版本控制。
你可以为你的自定义安装创build一个新的服务,然后使它自动启动?
[Unit] Description=Jonathan Vanasco nginx [Service] ExecStart=STARTUP COMMAND YOU WANT FOR CUSTOM [Install] WantedBy=multi-user.target
然后检查它开始:
systemctl start NAMEOFCUSTOM.service
然后设置为在启动时自动启动:
systemctl enable NAMEOFCUSTOM.service