如何重启GitLab
根据您安装GitLab的方式,有不同的方法重新启动其服务。
如果你想要TL;DR版本,跳转到:
综合设施
如果你用过综合包来安装GitLab,那么您应该已经安装了gitlab-ctl
在你的路径
.
gitlab-ctl
与Omnibus包交互,可以用来重新启动GitLab Rails应用程序(Unicorn)以及其他组件,如:
- GitLab主力
- Sidekiq
- PostgreSQL(如果你使用的是捆绑的)
- NGINX(如果你使用的是捆绑版)
- Redis(如果你使用的是捆绑版)
- 邮件收发室
- Logrotate
重新启动GitLab
在文档中,有时会要求您这样做重新启动GitLab。此时,需要执行如下命令:
sudogitlab-ctl重启
输出应该如下所示:
Ok:运行:gitlab-workhorse:(pid 11291) 1sOk: run: logrotate:(pid 11299) 0sOk:运行:mailroom:(pid 11306) 0sOk:运行:nginx:(pid 11309) 0sOk:执行命令postgresql:(pid 11316) 1sOk:运行:redis:(pid 11325) 0sOk:运行:sidekiq:(pid 11331) 1s好的:运行:unicorn:(pid 11338) 0s
控件的服务名后,可以单独重新启动组件重新启动
命令。例如,重启只有你会运行NGINX:
sudo重启nginx
查看GitLab服务状态:
sudogitlab-ctl状态
注意,所有服务都说好:跑
.
有时,组件在重启过程中会超时,有时会卡住。在这种情况下,你可以使用Gitlab-ctl kill
发送SIGKILL
例如,向服务发送信号sidekiq
.在此之后,重新启动应该可以正常执行。
作为最后的手段,你可以试着重新配置GitLab代替。
Omnibus GitLab重新配置
在文档中,有时会要求您这样做重新配置GitLab。请记住,此方法仅适用于Omnibus包。
用以下命令重新配置Omnibus GitLab:
sudogitlab-ctl重新配置
重新配置GitLab应该发生在它的配置中的某些事情(/etc/gitlab/gitlab.rb
)已经发生了变化。
执行此命令时,厨师Omnibus GitLab是支持Omnibus GitLab的底层配置管理应用程序,它将确保所有目录、权限、服务等都已到位,并且形状与最初发布时相同。
如果GitLab组件的任何配置文件发生了更改,它还将在需要的地方重新启动GitLab组件。
如果您手动编辑任何文件/var/opt/gitlab
由Chef管理的文件,运行reconfigure将恢复更改并重新启动依赖于这些文件的服务。
从源安装
如果您已经按照官方的安装指南进行安装从源代码安装GitLab,执行以下命令重新启动GitLab:
Sudo服务gitlab重启
输出应该如下所示:
关闭GitLab Unicorn关闭GitLab Sidekiq关闭GitLab Workhorse关闭GitLab邮件室...GitLab没有运行。创建GitLab Unicorn启动GitLab Sidekiq启动GitLab Workhorse启动GitLab邮件室...pid为28059的GitLab Unicorn web服务器正在运行。pid为28176的GitLab Sidekiq作业调度程序正在运行。pid为28122的GitLab工作马正在运行。pid为28114的GitLab MailRoom电子邮件处理器正在运行。GitLab及其所有组件都已启动并运行。
这应该重新启动Unicorn, Sidekiq, GitLab Workhorse和邮件收发室(如果启用)。init服务文件可以在您的服务器上的/etc/init.d/gitlab
.
如果您正在使用其他初始化系统,如systemd,您可以检查GitLab食谱一些非官方服务的存储库。这些都是不官方支持,所以使用它们的风险由你自己承担。