利用阿里雲服務器結合Git+Nginx實現個人網站搭建部署

利用阿里雲服務器結合Git+Nginx實現個人網站搭建部署

  相信很多小夥伴們在平時學習編程的時候都有練習過大大小小的Demo。一般我們都會用Github來管理我們的這些項目。但是光本地運行不行,有時我們需要將它們部署到線上進行訪問。在使用阿里雲之前,我的做法是將Github本身作爲一臺服務器,將項目直接部署到Github上進行線上訪問。
  但是漸漸地我發現這種部署存在三個問題:

  • 域名繁雜冗長,如: ‘https://github.com/BlackCodingCat/beauty-resume2020/index.html’   
  • 線上訪問速度極慢   
  • 逼格太低

  於是果斷改用阿里雲服務器,開啓踩坑之旅,在此做一份踩坑記錄,也希望給後面學習阿里雲服務器部署的朋友們一些解決問題的思路。

步驟:

step1: 阿里雲服務器購買
  • 如果是學生身份的話,我們還是可以享受阿里雲翼計劃很大的優惠政策的。以下是窮學生購買鏈接
    這裏我選擇的是雲服務器ECS,默認配置是1核CPU、2G內存、1M帶寬以及40G系統盤,預裝系統是CentOS7。包月僅需9塊9!
  • 社會人士轉向這裏,選擇雲服務器ECS。
    在這裏插入圖片描述
step2: 囉嗦的"售後"說明
  • 購買完成後我們就擁有了具有上述配置的一臺雲服務器,相當於我們購買了一臺新的電腦,上面預裝了全新的操作系統。阿里雲也會爲這臺服務器分配一個獨一無二的ip地址,顯然這就是訪問我們部署項目的關鍵信息。舉個例子,這裏我分配的公網ip是120.26.74.176,那麼以後我的項目便可以通過https://120.26.74.176/xxx/xxx這樣的形式進行線上訪問。
    如果是外貌協會成員,覺得ip地址直接暴露在外面太醜了,可以申請域名,將域名與ip地址進行綁定。之後用戶在訪問的時候通過DNS服務器進行域名解析也可以訪問到我們的項目。
  • 進入阿里雲的控制檯,在這裏我們可以看到實例列表信息,實例簡單來說可以理解爲一個具體的操作系統。(有關鏡像、實例、容器的概念推薦《Docker入門與實踐》這本書,雖然我也並沒有看完。。。)。
    在這裏插入圖片描述
step3: 安裝Nginx

    很顯然,我們無法直接通過https://120.26.74.176 進行訪問。這個時候,我們需要在新購買的雲主機上配置Nginx反向代理服務器。
    在配置之前,我們需要先熟悉一下 新朋友CentOs7操作系統。操作它有多種途徑,這裏我介紹兩種:

  1. 使用putty。這也是我平時在公司裏使用的比較多的工具。如何使用putty連接上遠程服務器? 谷歌一下,你就知道。putty遠程連接的方式在此不再贅述。
  2. 直接使用阿里雲控制檯實例列表後面的遠程連接工具:

在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述

  關於Linux的一些命令,比如 "ll"查看目錄下文件、"cd "進入文件夾、 “cd …” 進入上級目錄、"mkdir"新建文件夾、vim編輯器相關指令這些都不再贅述,後面都會用到,有需要時直接谷歌搜索一下即可。

  進入控制檯後,我們就可以正式開始通過命令的形式操作CentOs了。(坑點: 有一個到後面我才恍然大悟的大坑,原來剛開始我們進來的這個目錄是"root文件夾",而不是"根目錄"。我們"ll"一下,在root文件夾下剛開始是空空如也的。然後我們可以看一下根目錄下的路徑:)
在這裏插入圖片描述

   關於如何在CentOs7上安裝Nginx,我是參考的這篇文章,朋友們按步驟點進去一步步操作即可:CentOS 7 下 yum 安裝和配置 Nginx,我們只需要操作到文章中的第四步"打開防火牆端口"即可。

   這裏有幾個操作nginx的命令我們需要熟記(在此特別提一下,因爲需要經常性地操作):

// 啓動服務
sudo systemctl start nginx
// 停止服務
sudo systemctl stop nginx
// 重新加載服務,每次配置之後我們都需要重新加載一下
sudo systemctl reload nginx
// 查看服務狀態
sudo systemctl status nginx 

在這裏插入圖片描述
安裝完成後,我們需要回到阿里雲控制檯添加安全組規則:

  1. 在實例右側點擊"管理"
    在這裏插入圖片描述
  2. 點擊左側邊欄"本實例安全組"-> 點擊右側的安全組列表,配置規則-> 添加安全組規格,按圖示進行添加即可。
    在這裏插入圖片描述
    在這裏插入圖片描述

好了,經過一番操作,讓我們來驗證一下Nginx的安裝是否成功吧:
在瀏覽器中輸入ip地址,如果出現Nginx的歡迎語就代表我們已經安裝成功了。
在這裏插入圖片描述

step4: 部署項目的思路

  部署項目的思路是這樣的: 首先,我們的項目統一由Github(如果在公司可能就是Gitlab)在git上進行管理。我們在Github上創建一個項目,將其克隆到本地進行開發,開發完成後,我們將打包好的項目push到git上,這些都是常規操作,也是我們每天工作都在乾的事情。
  現在我們有了阿里雲服務器,在服務器上我們也把項目clone下來,當我們準備部署到線上時,  只需要使用git pull把代碼拉下來即可,用戶就可以直接通過訪問線上路徑訪問我們的項目。
簡而言之,就是我們自己操作兩臺電腦進行協同項目開發。

step5: 在centos上安裝git

   根據上述思路,我們需要在服務器上安裝git

  1. 輸入命令 sudo yum install git
    在這裏插入圖片描述
  2. 查看git版本: git --version
    在這裏插入圖片描述
  3. 在根目錄下新建一個專門用來存儲項目的文件夾
// 進入根目錄
cd /
// 創建名爲www的文件夾
mkdir www
// 進入www文件夾
cd www
// 克隆項目地址
git clone https://github.com/BlackCodingCat/beauty-resume2020.git

在這裏插入圖片描述
我們可以看到,項目已經克隆到了www文件夾下。以後我們在本地繼續提交該項目的代碼時,只需git pull將代碼拉下來即可。

step6: 配置Nginx,部署項目

   找到/etc/nginx/conf.d/目錄下的default.conf 配置文件:
在這裏插入圖片描述

vim default.conf

用vim編輯器打開default.conf進行編輯:
在這裏插入圖片描述
找到location配置項,該配置項用於配置訪問路徑。按圖示進行配置。
修改完成後,回到根目錄下 cd / 重載nginx sudo systemctl reload nginx:

// 回到根目錄
cd /
// 重載nginx
sudo systemctl reload nginx

訪問 http://120.26.64.176/beauty-resume2020/index.html,此時我們可能會遇到403 Forbidden的錯誤,這時我們需要修改www文件夾的權限,將其設置爲777最高權限:

// 進入根目錄
cd /
// 將www文件夾設置爲最高級權限
chmod 777 www
// 重新加載nginx
sudo systemctl reload nginx

再次訪問 http://120.26.64.176/beauty-resume2020/index.html。項目終於部署成功!!
在這裏插入圖片描述

參考文檔:

  1. 拿Nginx 部署你的靜態網頁
  2. nginx用法總結,映射靜態資源,代理http,負載均衡,tcp服務,附帶 haproxy 簡單配置
  3. nginx 啓動報錯:Job for nginx.service failed because the control process exited with error code
  4. CentOS 初體驗十:文件權限查看和修改
  5. 配置靜態站點,修改Nginx默認根目錄

如果朋友們在實際操作中遇到啥問題的話,歡迎加微信進行技術討論。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章