前言
最近博主的阿里雲主機又到了續費的時候了,剛買雲主機的時候那是各種優惠各種打折,續費的時候只能當孫子了。
為了節省開支,又保證高性能的前提下,買了台10代NUC,內存和ssd自選,搭建一台個人服務器。
准備工作
1 安裝linux系統
建議安裝ubuntu,樓主安裝了centos8,需要配置網絡才能使用。安裝系統的時候考慮到了服務器用途,所以選擇了最小安裝,不包括GUI交互界面。具體安裝過程可以網上搜一下,不在這里具體闡述。
2 域名的購買,認證,備案。
在阿里雲的【域名注冊】里面可以選擇一個自己喜歡的域名,之后按照步驟認證,解析域名,域名備案。
3 公網雲主機
另外還需要一個公網IP,用來最為代理機器訪問內網個人服務器,博主選擇了盤石雲,對於公網主機只需要大帶寬以及優惠的價格即可。
所有的准備工作已經就緒,現在開始搭建應用吧。
frp內網穿透
如何通過公網IP代理到內網服務器呢,使用FRP內網穿透技術。
在雲主機和內網主機都需要下載frp包,樓主用的是0.33版本。下載,解壓。
在搭建frp之前,博主想在雲主機上搭建Nginx,反向代理frp服務,但之后可能涉及到了跨域的問題,為了簡化代理流程,直接使用frp的custom_domains配置域名解析。
1 雲主機作為frp的服務端,需要配置frps.ini文件
[common] bind_port = 9999 #作為frp連接的端口號,客戶端需要使用該端口維持frp連接 vhost_http_port = 80 #http服務默認使用80端口 vhost_https_port = 443 #https服務默認使用443端口 [gitlab] type = http # port 80 #指定gitlab服務
啟動frp服務端 nohup ./frps -c ./frps.ini &
2 內網主機主機作為客戶端,配置frpc.ini文件
[common] server_addr = 110.43.140.172 #遠程服務器ip地址 server_port = 9999 #frp端口 [gitlab] type = http local_ip = 127.0.0.1 local_port = 8099 #本機gitlab開放端口 custom_domains = code.gaojy.cc
啟動frp客戶端 nohup ./frpc -c ./frpc.ini &
管理面板
下載寶塔面板 https://www.bt.cn/ ,根據指南安裝即可。安裝完以后配置frp端口:
frps.ini
[baota]] type = http # port 80
frpc.ini
[baota] type = http local_ip = 127.0.0.1 local_port = 8888 custom_domains = system.gaojy.cc
重啟frp,效果如圖,用來管理你的主機,監控及創建一些定任務等.
gitlab服務器搭建
繼續面板的【軟件商店】下載gitlab應用,點擊安裝。安裝成功以后可看到運行狀態,以及內部端口。
同樣需要配置frp gitlab的端口,在上面的示例中已經展示。完成之后,來簡單測試一下吧 http://code.gaojy.cc
以為這么快就結束了?天真了,剛安裝完,clone的地址默認是內網ip和端口的地址,這個地址是無法被訪問的。
變更gitlab的訪問和clone地址
1 找到gitlab.rb文件 默認位置 /etc/gitlab/gitlab.rb 修改external_url
#external_url 'http://192.168.0.97:8099' 替換成域名 =>
external_url 'http://code.gaojy.cc:8099'
2 重新設置參數 並重啟
# gitlab-ctl reconfigure
# gitlab-ctl restart
或者手動修改gitlab.yml /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
3 查看效果
發現ssh和http的clone地址已經變更。
總結
最后,因為博主居住證的問題暫時還沒有通過工信部備案,會偶發攔截,刷新幾次就好。后續將會結合drone,jfrog搭建devops編譯發布流程,也歡迎大家把自己的代碼托管進來。
另外內網服務器的內存還是小了點,后續將會升級。