我正在使用 Ubuntu 15.04。每当我尝试安装任何软件包时,都会在标题中收到错误消息。我怎样才能摆脱这个烦人的错误信息?
:~$ uname -a
Linux LongerVision001 3.19.0-25-generic #26-Ubuntu SMP Fri Jul 24 21:17:31 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
:~$ uname -a
Linux LongerVision001 3.19.0-25-generic #26-Ubuntu SMP Fri Jul 24 21:17:31 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 15.04
Release: 15.04
Codename: vivid
Run Code Online (Sandbox Code Playgroud) 我想在崩溃时可靠地重新启动我的应用程序和 Web 服务器进程。
如果我理解正确,runit 将每个服务作为子进程启动。如果子进程崩溃,它会向父进程发送一个信号,父进程又将服务重新生成为子进程。
这在新贵的情况下如何工作。它是否也会产生像 runit 这样的子进程?
我正在考虑为此使用 runit。这是需要的,还是暴发户对此足够好?
我在我的 Web 服务器上使用 nginx,在我的应用服务器上使用 gunicorn (python)。
我已经通过 apt-get 成功安装了 runit(至少我没有错误)
Setting up runit (2.1.2-9.2ubuntu1) ...
Run Code Online (Sandbox Code Playgroud)
但是,可以这么说,似乎runit 本身并没有运行。以下命令不显示任何内容。
ps -ef | grep runsvdir
Run Code Online (Sandbox Code Playgroud)
我能够手动运行runsvdir /etc/service
,它似乎可以工作,因为在那之后我的服务supervise
文件夹中出现了。但是如果我试着跑
sudo sv status my-service
Run Code Online (Sandbox Code Playgroud)
我收到
失败:我的服务:runsv 未运行
我使用 runit 来管理 ruby on rails 和 sidekiq 进程。服务器是数字海洋水滴。我有一台使用 Ubuntu 16.04(没有这个问题)和 Ubuntu 18.04(有)的服务器。
我在配置和部署后遇到的第一个错误实际上是
无法打开监督/确定:文件不存在
我想知道这些问题是否相关?
感谢您的时间!
我正面临一个脚本问题,我已经开始/etc/service
并正在使用runit
.
我的脚本/etc/service/myApp/run
看起来像:
#!/bin/bash
cd /src
forever -l forever.log -o out.log -e err.log -a start bin/www
Run Code Online (Sandbox Code Playgroud)
什么永远不会是我的运行脚本作为一个守护进程。但是这样做似乎让runit认为我的服务已经结束并/etc/service/myApp/run
一次又一次地运行......
我也试过不将它作为守护进程运行,它在前台运行良好,但我仍然有问题。我有一个干净的关闭命令在某个时候发送到我的服务器,这最终会关闭前台进程,我不希望它重新启动。但令我沮丧的是,/etc/service/myApp/run
立即被调用以重新启动我的服务器:(
我不是系统管理员,所以这方面的大部分内容对我来说都是新的。我想要的只是我的脚本在启动时运行而不是自动重启。谢谢你的帮助。
编辑:我更新了我的问题以包括runit
此处使用的事实。我看到 runit 监视进程以保持服务正常运行。我的问题仍然存在。