Ubuntu上GitLab常見問題及解決方案
E: Unable to locate package gitlab-ee
,多為Ubuntu版本與GitLab包不兼容或包源未正確配置所致。需前往GitLab官方包頁面下載對應Ubuntu版本的安裝腳本,嚴格按腳本指引操作。curl
、openssh-server
、ca-certificates
、postfix
等必要依賴,否則會因依賴問題導致安裝失敗。root
,若忘記密碼,可通過SSH登錄服務器,執行cat /etc/gitlab/initial_root_password
查看系統生成的初始密碼,或進入Rails控制臺重置(命令:sudo gitlab-rails console
,然后輸入user = User.where(id: 1).first; user.password = '新密碼'; user.password_confirmation = '新密碼'; user.save!”
)。/etc/gitlab/gitlab.rb
中的external_url
(如改為域名或新IP),需執行sudo gitlab-ctl reconfigure
重新應用配置,否則服務可能無法正常訪問。/etc/gitlab/gitlab.rb
中配置SMTP參數(如gitlab_rails['smtp_enable'] = true
、gitlab_rails['smtp_address'] = "smtp.example.com"
等),修改后執行sudo gitlab-ctl reconfigure
使配置生效。runsv not running
或端口沖突(如80、443端口被占用),可先通過sudo gitlab-ctl status
查看組件狀態,再執行sudo systemctl start gitlab-runsvdir
啟動runsv服務;若為端口沖突,需修改/etc/gitlab/gitlab.rb
中的端口設置(如nginx['listen_port'] = 8080
),然后重新配置并重啟服務。sudo gitlab-ctl tail
)定位具體原因;502錯誤多為端口被占用或內存不足,需檢查端口沖突或通過增加swap分區緩解內存壓力。sudo fallocate -l 2G /swapfile
創建并啟用swap分區(后續執行sudo chmod 600 /swapfile
、sudo mkswap /swapfile
、sudo swapon /swapfile
),或優化GitLab配置(如調整unicorn/sidekiq的內存限制)。sudo gitlab-rake gitlab:cleanup:orphan_job_artifacts
)、構建產物及Docker Registry未使用鏡像,避免磁盤空間耗盡影響服務。postgresql['shared_buffers']
)等參數;對于大附件、備份文件,建議配置對象存儲(如Amazon S3或MinIO),減少數據庫負擔。unicorn['worker_processes']
、sidekiq['concurrency']
),合理分配CPU和內存資源;啟用Redis緩存(默認已啟用),提升數據訪問速度。