使用gitlab-ctl status命令查看所有GitLab相关服务(如unicorn、sidekiq、postgresql、redis等)的运行状态。若服务未运行或显示异常(如“down”),可通过gitlab-ctl restart重启服务,或针对单个服务(如gitlab-ctl restart unicorn)重启特定组件。
GitLab日志集中存储在/var/log/gitlab/目录下,涵盖rails应用、nginx、postgresql等组件的日志。常用查看方式:
sudo gitlab-ctl tail;sudo gitlab-ctl tail nginx/gitlab_access.log;sudo grep -E 'ERROR|WARN' /var/log/gitlab/gitlab-rails/production.log(统计错误数量可加| wc -l)。GitLab依赖PostgreSQL(数据库)、Redis(缓存)、Nginx(Web服务)等组件,需逐一检查其状态:
sudo gitlab-ctl status postgresql(查看数据库状态);sudo gitlab-ctl status redis(查看缓存状态);sudo systemctl status nginx(查看web服务状态,若未使用GitLab自带的nginx则需检查系统nginx)。sudo gitlab-ctl start postgresql)。GitLab默认使用80(HTTP)、443(HTTPS)、22(SSH)等端口,需确保:
sudo netstat -ntlp | grep 80查看80端口占用进程,若有则kill -9 <PID>终止);firewall-cmd):sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
GitLab主配置文件为/etc/gitlab/gitlab.rb,需重点检查:
external_url配置(需与服务器IP/域名一致,如external_url 'http://192.168.1.100');gitlab_rails['db_host']、gitlab_rails['db_password']);http_proxy/https_proxy配置正确)。sudo gitlab-ctl reconfigure使配置生效,再重启服务(sudo gitlab-ctl restart)。sudo dd if=/dev/zero of=/data/swap bs=512 count=8388616 # 创建4GB交换文件
sudo mkswap /data/swap # 格式化交换文件
sudo swapon /data/swap # 启用交换分区
df -h查看磁盘使用情况,若/var/opt/gitlab(GitLab数据目录)或/var/log/gitlab(日志目录)空间不足,需清理旧日志(如sudo rm -rf /var/log/gitlab/*.log.*)或归档数据。使用journalctl查看GitLab相关系统日志,获取更全面的系统级错误信息:
sudo journalctl -u gitlab-rails -f;sudo journalctl -u gitlab-rails --since "1 hour ago";sudo journalctl -u gitlab-rails -b(-b表示当前启动周期)。sudo gitlab-ctl restart unicorn sidekiq);/var/opt/gitlab目录属主错误),需修复权限(sudo chown -R git:git /var/opt/gitlab);/etc/gitlab/gitlab.rb中添加gitlab_rails['git_max_size'] = 1024 * 1024 * 1024,即1GB),并调整nginx的client_max_body_size(如设置为1024M),修改后重启服务。