记录本地Hexo博客部署到服务器上
文章目錄
- 前言:
- 武漢加油,中國加油!
- 一、服務器使用
- 二、部署博客
- 環境部署
- 服務器配置
- 0x01: 創建私有 Git 倉庫
- 0x02:配置 Nginx 托管文件目錄
- 0x03:創建 Git 鉤子
- 本地Hexo配置
- 0x01:修改URL
- 0x02: Git 部署
- 三、部署到docker中
前言:
阿里巴巴真的太好了,讓學生能免費領取一臺云ECS服務器,感謝,所以我就將原本部署到GitHub的博客部署到了這臺服務器,因為部署到GitHub上實在是太慢了。總結一下這次部署的過程以及域名等問題,因為我也是第一次,所以開始沒有少跌坑,希望我總結這篇的博客可以幫助和我一樣的新人。
最后希望疫情早日被消滅!!!
武漢加油,中國加油!
一、服務器使用
在云服務器管理控制器中的實例便是我們的服務器了
要做的第一步便是修改SSH連接的密碼,在這里便可以修改SSH連接的密碼
注意下面這個是修改VNC的密碼,不是修改SSH密碼,一開始就是卡在這里了。。。。
修改成功后,便可以用一些連接SSH的工具進行連接,可以去百度下這里就不多贅述
當連接好之后,比如你想要在服務器中搭建一個wordpress博客,那么新手的話推薦下載寶塔面板,很方便可以一鍵下載apache,MySQL等,當然也可以自己手動下載,具體的流程也很簡單,網上教程也有很多,只需按照人家的操作走就可以了,這里只說一下安全組的問題
比如你MySQL需要3306端口,就必須在安全組中開發這個3306端口
授權對象設置為0.0.0.0/0就可以了,具體原因可以去看下大師傅們的博客
了解了這些之后,就開始部署博客!
二、部署博客
環境部署
本地:
win10操作系統 Hexo博客已搭建好(之前是部署在GitHub上的,并非是剛開始搭建)服務器:
一臺云ECS服務器 操作系統: Ubuntu 18.04 64位服務器配置
首先安裝git和nginx,Git 用于版本管理和部署,Nginx 用于靜態博客托管。
apt-get update apt-get install git-core nginx0x01: 創建私有 Git 倉庫
在 /var/repo/ 下,創建一個名為 hexo_static 的裸倉庫,然后需要修改用戶對目錄的權限
sudo mkdir /var/repo/ sudo chown -R $USER:$USER /var/repo/ sudo chmod -R 755 /var/repo/然后,執行下面的命令:
cd /var/repo/ git init --bare hexo_static.git0x02:配置 Nginx 托管文件目錄
創建 /var/www/hexo 目錄,用于 Nginx 托管
sudo mkdir -p /var/www/hexo#修改目錄的所有權和權限 sudo chown -R $USER:$USER /var/www/hexo sudo chmod -R 755 /var/www/hexo#修改 Nginx 的 default 設置 sudo vim /etc/nginx/sites-available/default ... server {listen 80 default_server;listen [::]:80 default_server;root /var/www/hexo; # 需要修改的部分index index.html index.htm; ... 將其中的 root 指令指向 /var/www/hexo 目錄
修改完成之后,重啟 Nginx 服務,使改動生效
0x03:創建 Git 鉤子
在服務器上的裸倉庫 hexo_static 創建一個鉤子,在滿足特定條件時將靜態 HTML 文件傳送到 Web 服務器的目錄下,即 /var/www/hexo
#在自動生成的 `hooks` 目錄下創建一個新的鉤子文件 vim /var/repo/hexo_static.git/hooks/post-receive#在此文件中添加兩行代碼,指定 Git 的工作樹(源代碼)和 Git 目錄(配置文件等) #!/bin/bash git --work-tree=/var/www/hexo --git-dir=/var/repo/hexo_static.git checkout -f#保存退出文件后,需要讓該文件變為可執行文件。 chmod +x /var/repo/hexo_static.git/hooks/post-receive如果以上都配置好后,服務器端的配置基本就結束了,下面就開始配置本地的Hexo
本地Hexo配置
0x01:修改URL
之所以配置本地Hexo是為了自動部署到服務器端的 hexo_static 裸倉庫中,_config.yml 為 Hexo 的主配置文件。首先需要修改的便是博客的 URL 地址
0x02: Git 部署
編輯 _config.yml 文件,修改Deployment 部分
deploy:type: gitrepo: root@云服務器的IP地址:/var/repo/hexo_staticbranch: master
如果到這一步了,那基本就結束了
但是還是會遇到一些問題,如:在部署時會遇到(這里借用別人的圖)
就類似這種問題,解決方法網上也有,只不過讓人看的很暈,還好查到了一位大神的博客,出現這個問題的原因在于,第一次使用SSH連接時,會生成一個認證,儲存在客戶端的known_hosts中,解決方法就是:
這樣就可以將報錯提示的那行給刪掉了,從而可以進行正常的連接
hexo g && hexo d如果出現這樣顯示,那就是已經部署好了
這篇文章大多數操作都是模仿這位大師傅,如果哪里敘述的不是很詳細可以參考這位師傅的
在 Ubuntu 14.04 服務器上部署 Hexo 博客
—————————————————更新一下————————————-——————
三、部署到docker中
雖然都是靜態內容已經很安全了,但為了方便管理還是把博客放到docker里面,這里記錄一下如何放的。
先搜索一下含有nginx服務的centos7鏡像并拉取
docker search centos7-nginx docker pull centos7-nginx
映射好端口并建好容器數據卷,方便數據在主機和docker容器的傳輸
接下來進入docker容器中,修改一下nginx的配置
vi /etc/nginx/conf.d/default.conf
修改好之后就可以退出docker容器了,接下來在主機中進行操作
在 /var/repo/ 下,創建一個名為 hexo_static 的裸倉庫,然后需要修改用戶對目錄的權限
sudo mkdir /var/repo/ sudo chown -R $USER:$USER /var/repo/ sudo chmod -R 755 /var/repo/然后,執行下面的命令:
cd /var/repo/ git init --bare hexo_static.git修改/var/www/hexo目錄的所有權和權限
sudo chown -R $USER:$USER /var/www/hexo sudo chmod -R 755 /var/www/hexo在服務器上的裸倉庫 hexo_static 創建一個鉤子,在滿足特定條件時將靜態 HTML 文件傳送到 Web 服務器的目錄下,即 /var/www/hexo
#在自動生成的 `hooks` 目錄下創建一個新的鉤子文件 vim /var/repo/hexo_static.git/hooks/post-receive#在此文件中添加兩行代碼,指定 Git 的工作樹(源代碼)和 Git 目錄(配置文件等) #!/bin/bash git --work-tree=/var/www/hexo --git-dir=/var/repo/hexo_static.git checkout -f#保存退出文件后,需要讓該文件變為可執行文件。 chmod +x /var/repo/hexo_static.git/hooks/post-receive如果以上都配置好后,配置一下本地的Hexo就可以了
URL要加上映射的端口
上傳的時候不要映射端口,直接上傳到本機服務器上,由數據容器卷共享過去
這樣就可以了
總結
以上是生活随笔為你收集整理的记录本地Hexo博客部署到服务器上的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用 fail2ban 防御 SSH 暴
- 下一篇: 初识反弹Shell