前言
最近博主的阿里雲主機又到了續費的時候了,剛買雲主機的時候那是各種優惠各種打折,續費的時候只能當孫子了。
為了節省開支,又保證高效能的前提下,買了臺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編譯釋出流程,也歡迎大家把自己的程式碼託管進來。
另外內網伺服器的記憶體還是小了點,後續將會升級。