gitlab無法訪問
1. 打開我自己的網站,打不開,頁面顯示「將您重定向的次數過多」,求解。
出現此問題的原因多是由於DNS設置錯誤,或者IE組件出現錯誤導致的DNS可以手動設置,IE組件非常的多,因此手動修復很困難,使用電腦管家修復即可,具體操作步驟如下:
1、首先,在計算機桌面上單擊電腦管家,如下圖所示,然後進入下一步。
2. 怎麼在win10下訪問搭建在ubuntu上的gitlab伺服器
GitLab是由Ruby語言開發的基於Linux的Git伺服器,是我見過的最強大的Git伺服器。發現它之後,立即決定將Git伺服器換成GitLab。但安裝好GitLab之後面臨一個問題,如何將伺服器上的git項目直接導入到GitLab,之前的Git伺服器是由是git+apache搭建的(詳見在Linux上用Apache搭建Git伺服器)。
在網上發現了這篇文檔——Import bare repositories into your GitLab instance,並按之進行了操作。
1)設置存放代碼庫的主目錄
vi /etc/gitlab/gitlab.rb
比如這里設置為:git_data_dir "/gitlab/repos"
2)訪問剛搭建的GitLab站點,創建一個group,比如cnblogs。
這時會在 /gitlab/repos 下創建 /gitlab/repos/repositories/cnblogs 文件夾。
然後在/gitlab/repos/repositories/創建一個文件夾,比如cnblogs
3)將現有的所有git項目文件復制到這個文件夾
cp -r /data/git/* /gitlab/repos/repositories/cnblogs
4)修改一下復制過來的文件夾的所有者:
chown -R git:git /gitlab/repos/repositories/cnblogs
5)運行GitLab導入命令
cd /var/opt/gitlab
gitlab-rake gitlab:import:repos
等了一段時間之後,顯示done,卻一個項目也沒導入進來。
經研究發現,在導入時,GitLab只認文件夾名以.git結尾的項目。於是,將要導入的項目文件夾名稱加上.git後綴,再次進行導入。
結果顯示導入成功,比如:
Processing cnblogs/CNBlogsJob.git
* Created CNBlogsJob (cnblogs/CNBlogsJob.git)
Done!
可以是GitLab站點上卻看不到已導入的項目。多次努力,也沒能解決這個問題。
後來,實在沒辦法,改為手動導入,導入方法如下:
1)在GitLab站點上創建與要導入的項目同名的項目。
2)進入剛創建的項目文件夾
cd /gitlab/repos/repositories/cnblogs/項目名稱.git
3)刪除該文件下的所有文件
rm -rf *
4)將要導入的項目文件夾下的所有文件復制過來
cp -r /data/git/CNBlogsJob/* /gitlab/repos/repositories/cnblogs/CNBlogsJob.git
就這樣將項目一個一個地導入進來。
5)導入完成後,修改一下導入的所有項目的文件所有者
chown -R git:git /gitlab/repos/repositories/cnblogs
如果不修改所有者,客戶端無法進行git push。
就這樣手動地完成了現有Git項目的導入。
備註:操作系統是CentOS 6.2,GitLab版本是7.8.4。
3. gitlab重新載入報錯
在本版本的gitlab中,在/opt/gitlab*中找不到uninstall文件,無法通過該方法卸載gitlab
經過摸索,可通過以下方法徹底卸載gitlab
sudo gitlab-ctl stopsudo gitlab-ctl uninstallsudo gitlab-ctl cleansesudo rm -rf /opt/gitlab1234
之後通過reboot命令重啟系統即可
其中,可通過sudo gitlab-ctl help來獲取相關命令
sudo gitlab-ctl uninstall,關於其的說明是
Kill all processes and uninstall the process supervisor (data will be preserved).
但在實際操作中,只通過uninstall無法徹底卸載gitlab
安裝方法
bitnami的下載鏈接https://bitnami.com/stack/gitlab/installer中只提供了虛擬機版本及雲伺服器版本,本人沒找到.run的安裝文件,於是只能通過官方的方法安裝。
本人是在amazon的雲伺服器上進行安裝,由於Ram只有1GB,不符合gitlab的最低運行要求,若直接安裝,會使得伺服器卡頓不堪,難以使用,且gitlab也無法正常運行,進入gitlab的服務網頁,會提示
502 Whoops, GitLab is taking too much time to respond:
無法使用,於是得先配置虛擬內存
另外,在伺服器剛啟動時,也會返回這個提示,是因為gitlab系統還沒跑起來,稍等片刻即可
sudo dd if=/dev/zero of=/swapfile bs=1024 count=2048ksudo mkswap /swapfilesudo swapon /swapfilesudo vim /etc/fstab
++/swapfile none swap defaults 0 012345
++後面的內容是添加到fstab文件中的內容
此處配置的虛擬內存(交換文件)是2GB,gitlab最低的運行內存要求是2GB,讀者們可以根據自己的硬碟情況和內存情況進行試驗
由於新版gitlab佔用內存變大,系統默認的在內存佔用超過40%時啟用swap不太合適,現象就是通過putty連接伺服器過慢,打開gitlab的網頁過慢等,影響到使用
於是可以把該閾值調整為50%。
方法是修改/etc/sysctl.conf文件
sudo vim /etc/sysctl.conf1
找到
vm.swappiness=601
將60,改為50
若找不到,則在文件最後一行添加上即可
vm.swappiness=60的意思是,當內存佔用超過40%時啟用swap
經測試,在本測試機上若按網上通常說的,把該閾值改為90%,是會出現訪問慢的問題,讀者需要根據自己的機器情況進行相關的調整
此外,gitlab佔用80埠提供網頁服務,若需要與其他web伺服器同時運行,需要進一步的設置
進入官方安裝向導https://about.gitlab.com/downloads/
選擇系統平台
根據提示輸入終端命令
終端命令如下:
- sudo apt-get install curl openssh-server ca-certificates postfix
- curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bashsudo apt-get install gitlab-cesudo gitlab-ctl reconfigure1234
域名(ip)配置
- cd /etc/gitlabsudo vim gitlab.rb
- /external_url123
- sudo postfix flush #立即發送隊列里的所有郵件sudo postqueue -p #顯示隊列里的郵件列表sudo postsuper -d ALLsudo postsuper -d MessageID #刪除特定ID的郵件sudo postfix reload #重新載入配置文件echo "This is the content" | mail -s "Mail Subject" target_address
- #echo後的雙引號內接郵件內容,"Mail Subject"雙引號內是主題的名稱,target_address處填寫目的郵箱地址12345678
本人使用amazon的雲伺服器,下載速度有十幾MB/s,無需擔心網速的問題,安裝過程及其快速,gitlab是使用nginx作Web伺服器,其中配置有redis等服務
初次通過網頁登錄gitlab,選擇login,將提示修改初始密碼,修改過後,可使用root作為用戶名以及剛修改的密碼來登錄gitlab
配置方法(ubuntu)
把external_url項修改為自己的域名或者是ip地址
/var/log/mail.log``/var/log/mail.err裡面分別有日誌和錯誤原因,內容復雜,比較難看清楚
配置文件只有一個:/etc/postfix/main.cfg
但其中的內容基本不用改,我改了好像也沒什麼影響
而對發件人有影響的是/etc/hostname,其中放著本機的名稱,修改它可使得測試時的發件人改變
在本機上,若hostname是ip-xxx-xx-xx-xxx,發件人地址則為[email protected],若為其他,則發件人地址為』ubuntu@$hostname』,需要重啟才能生效,其中ubuntu是伺服器的登錄用戶名
無論如何,測試郵件都可發送,只是時間長短的問題,可查看郵件隊列里的郵件,以及目標郵件的垃圾箱和被攔截郵件列表
4. 使用Docker部署GitLab
查看是否拉取成功
編寫內容
在該文件目錄下,授予 gitlab_start.sh 執行許可權
要注意埠是否被佔用
修改 gitlab_start.sh 文件,將映射到宿主機的埠改為 8088 ,或者其它沒被佔用的埠
重新運行 ./gitlab_start.sh 文件,報錯如下
這是因為之前的容器雖然沒有運行起來,但是已經創建了,把它刪除掉
重新運行 gitlab_start.sh 文件
可以看到容器成功啟動
創建 docker-compose.yml 文件,並在該文件所在的文件夾目錄下運行 docker-compose up -d
需要事先安裝 docker-compose
安裝docker-compose
注 :埠和映射目錄可根據需要修改
若開放訪問埠為 80 , external_url 可不加埠號,默認80
若以 3.1 方法創建,需要修改相關配置文件
在Gitlab容器 運行狀態 時,重啟服務,並遠程訪問網站測試
*若訪問Gitlab出現502等錯誤,使用命令檢查錯誤原因
e.g.
查看上述配置文件,查找錯誤原因
[圖片上傳失敗...(image-e9789-1636370071222)]
雖然容器啟動成功,但是卻沒辦法根據 ip:port 訪問gitlab
拉取tomcat鏡像
為了測試8088埠是否可用,先把gitlab的容器暫停
啟動tomcat容器,並將tomcat容器的8080埠映射到宿主機的8088埠
一切正常,訪問ip:8088,還是和以前一樣訪問不了
因為之前系統的防火牆一直是關閉的並且其它的服務能正常訪問,所以沒有懷疑是防火牆的問題
把防火牆打開
訪問之前能正常訪問的服務,果然沒法正常訪問。
把該服務的埠開發,正常訪問。
打開8088埠
再次訪問
返回tomcat的404頁面: HTTP Status 404 – Not Found
雖然是404頁面,但是說明此時的埠是能正常訪問的
把tomcat的容器停止運行,重新運行gitlab容器
雖然沒啟動成功,但離成功更進一步了:)
嘗試把這個容器刪除掉,再創建一次後還是得到這個錯誤。
還是訪問不了,檢查一下GitLab內部是否有問題
一切正常
我再次換成tomcat容器進行測試,發現8088埠訪問不了了。
但是在宿主機內ping本機是可以的
但是,換成 ip:8088 則不行
根據以上兩篇文章,提出 阿里雲的內網eth0 網段正好跟Docker 的虛擬網卡都是 172 網段,有沖突
觀察發現我使用的雲伺服器也是阿里雲,並且通過 ifconfig 查看
並且查看阿里雲的內網ip確實也是 172 開頭。
編輯配置文件 /etc/docker/daemon.json ,若 daemon.json 文件不存在新建即可。
重新啟動docker服務
可以看到docker0 的地址變了。
但是要注意,使用 docker 啟動的服務會默認使用 docker0 ,如果是用 docker-compose 啟動的服務則不會。上面的 br-12aa369ee4a6 對應的是docker-compose啟動的服務,可以看到還是172的網段。
docker-compose up使用自定義的網段的兩種方式(從其根源指定)
根據該文使用方法2,即修改 daemon.json 。但並不能成功訪問,我的環境是: docker:20.10.7 , docker-compose:1.24.1
後面發現訪問不成功的原因在於 docker 與防火牆之間的關系,可以關掉防火牆,開啟 docker ,不能訪問則打開防火牆。在它們之間來回試探 = =。
後面嘗試過關閉 firewalld ,打開 iptables 。
在啟用 iptables 時,一般關掉 iptables 可以正常訪問,打開則不能正常訪問。
在啟用 firewalld 時,按照 docker 和 firewalld 之間啟動關閉的順序不同,有時是開著防火牆能訪問,有時是關了防火牆能訪問。
但是容器內不能訪問外部網路,該問題現在還未解決。 有一種迂迴的解決方法就是容器使用 host 網路模式
問題 :懷疑是docker,firewalld與iptables之間的設置問題
Docker與IPtables
docker 埠映射 及外部無法訪問問題
Docker and IPtables
還有一種訪問不了GitLab的情況是埠映射和配置文件有誤。
快速的解決方法:將宿主機埠號和容器號設置相同,可參考下面的博客。
利用GitLab Docker images安裝GitLab(填坑)
[圖片上傳失敗...(image-457ad3-1636370071221)]
如果系統環境正常,安裝會十分順利,一般不會有奇怪的問題。
我在不同的伺服器安裝過
阿里雲 CentOS 7.6 : 訪問正常,但是因內存不夠出現502錯誤,容器內可正常連接外部網路
阿里雲 Alibaba Cloud Linux 2 : 可能不能正常訪問容器,容器內不能正常連接外部網路。懷疑是防火牆與docker的問題。
修改密碼:
5. 怎麼查看一個springboot項目的源代碼在哪
要查看基於Spring Boot的Java項目的代碼,您需要進行以下步驟:
查看項目結構:您可以在部署項目的位置找到項目文件夾。打開項目文件夾並查看項目結構。您可以找到源代碼文件夾(通常是「src」文件夾),該文件夾中包含Java源代碼辯慶文件。您也可以找到配置文件,資源文件和其他相關文件。
查看源代碼:在源代碼文件夾中,您可以找到Java文件,這些文件包含應用程序的代碼邏輯。您可以使用任何文本編輯器或IDE(集成開發環境)打開這些文件。IDE(如Eclipse、IntelliJ IDEA)通常提供更好的開發環境和代碼閱讀功能。
尋找關鍵詞:如果您不知道源代碼的特定位置,請嘗試在項目中搜索關鍵詞或特定函數。您可以使用文本編攜慶握輯器或IDE的搜索功能來搜索關鍵詞。
調試代碼:如果您想深入了解代碼差胡的實際執行過程,可以使用IDE的調試工具。在調試模式下,您可以單步執行代碼,並查看變數值和執行結果。
總之,查看基於Spring Boot的Java項目代碼需要一定的編程知識和經驗。如果您不熟悉Java編程語言或Spring框架,建議您先學習這些知識,然後再嘗試查看項目代碼。