1. 程式人生 > >gitlab修改預設埠

gitlab修改預設埠

部署gitlab的時候,一啟動,發現80和8080埠已經被佔用,無奈,只得先將監聽80埠的nginx和監聽8080埠的jenkins停止。這會兒有空,琢磨一下如何修改gitlab的預設埠。

修改主要分為兩部分,一部分是gitlab總的控制檔案,一部分是子模組真實監聽埠的修改。

當前我使用的是官方rpm 813版本。

gitlab.rb修改

  • 配置檔案在/opt/gitlab/etc/gitlab.rb。這個檔案用於gitlab如何呼叫80和8080的服務等。
## Advanced settings
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 8082
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3
nginx['listen_addresses'
] = ['*'] nginx['listen_port'] = 82 # override only if you use a reverse proxy: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md#setting-the-nginx-listen-port
  • 1
  • 2
  • 1
  • 2

gitlab-rails修改

  • 配置檔案/var/opt/gitlab/gitlab-rails/etc/unicorn.rb
# What ports/sockets to listen on, and what options for them.
#listen "127.0.0.1:8080"
, :tcp_nopush => true listen "127.0.0.1:8082", :tcp_nopush => true listen "/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket", :backlog => 1024
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

gitlab nginx 修改

  • 配置檔案 /var/opt/gitlab/nginx/conf/gitlab-http.conf。這個檔案是gitlab內建的nginx的配置檔案,裡面可以影響到nginx真實監聽埠號。
server {
  listen *:82;

  server_name gitlab.123.123.cn;
  server_tokens off; ## Don't show
the nginx version number, a security best practice
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
  • 修改完成後,重啟下,就可以放82埠的gitlab了。
gitlab-ctl restart
  • 1
  • 1

OS nginx修改

  • 如果還是想從80埠訪問gitlab,我們可以用監聽在80埠的nginx做一個反向代理。service nginx restart後可以正常訪問。
server {
    listen 80;
    server_name gitlab.123.123.cn;

    location / {
        #rewrite ^(.*) http://127.0.0.1:8082;
        proxy_pass http://127.0.0.1:8082;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

giltab-shell修改

後來在提交的時候,出現了錯誤:

這裡寫圖片描述

找了關於8080埠的相關資訊,最後發現

配置檔案:/var/opt/gitlab/gitlab-shell

修改成

# GitLab user. git by default
user: git

# Url to gitlab instance. Used for api calls. Should end with a slash.
#gitlab_url: "http://127.0.0.1:8080"
gitlab_url: "http://127.0.0.1:82" ## 關鍵是這個地方,因為82是gitlab nginx埠,不過上面的端口乾嘛是8080來,8080應該是unicorn的監聽埠。

http_settings:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

這裡寫圖片描述

  • 果然,修改成8082埠,也是可以的哦。

這裡寫圖片描述