gitlab修改預設埠
阿新 • • 發佈:2019-01-08
部署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埠,也是可以的哦。