部署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端口,也是可以的哦。