日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

搭建 Hexo 個人博客 寫作與部署

 MX飛魚 2019-04-18

在本地安裝Hexo框架

任務(wù)時間:大概需要三分鐘

安裝git

需要首先在本地安裝[git],可以在這里下載

在安裝過程中選擇將git添加到環(huán)境變量 (Add to PATH)

通過使用git, hexo可快速將本地的更新內(nèi)容部署到服務(wù)器上的網(wǎng)站中

安裝Hexo

Hexo是基于Node.js的,因此需要先安裝它

可以在這里下載,同樣需要將它添加到環(huán)境變量

隨后通過Node.js提供的包管理器npm安裝Hexo:

打開命令行(cmd 或 git bash),輸入命令

npm install -g hexo-cli

隨后輸入hexo version,如果Hexo已被安裝,你將能看到相關(guān)的版本號

初始化Hexo

選擇一個你喜歡的地方放置博客文件,在命令行中進(jìn)入父目錄(通過cd命令)

輸入下列命令將創(chuàng)建一個Hexo博客文件夾

hexo init <起個名字> # 例如 hexo init MyBlog
cd <剛才的名字> # 例如 cd MyBlog
npm install

此時將能看到一個這樣的目錄

.├── _config.yml
 ├── package.json
 ├── scaffolds
 ├── source
 |   ├── _drafts
 |   └── _posts
 └── themes

屬于我們博客的本地Hexo環(huán)境已經(jīng)搭建完畢

嘗試寫作與預(yù)覽效果

任務(wù)時間:大概需要兩分鐘

新建一篇文章

命令行進(jìn)入我們的博客文件夾,輸入下列命令將新建一篇文章

hexo new <文章名> # 例如 hexo new helloworld

此時你將能夠在博客的 public/_posts/ 文件夾下看到所創(chuàng)建的文章 (helloworld.md)

用記事本打開它,向其中寫入任意內(nèi)容

生成個人博客

輸入下列命令即可根據(jù)當(dāng)前所設(shè)置的主題、已有的文章生成網(wǎng)頁文件

hexo generate # 或者輸入 hexo g

整個個人博客網(wǎng)站即位于public/ 文件夾下

在本地瀏覽個人博客

如果直接使用瀏覽器打開public/index.html 不能顯示正確的樣式,如果希望在本地預(yù)覽博客,在命令行中輸入下列命令

hexo server # 或輸入 hexo s

此刻可在瀏覽器中輸入127.0.0.1:4000 來預(yù)覽博客 (默認(rèn)設(shè)置下)

在服務(wù)器上部署

任務(wù)時間:大概需要十分鐘

安裝git與Nginx

git幫助我們隨時部署博客更新,安裝:

sudo apt-get install git

Nginx將我們的博客網(wǎng)站供互聯(lián)網(wǎng)訪問,安裝:

sudo apt-get install nginx

設(shè)置Nginx

創(chuàng)建一個文件夾用于存放我們的網(wǎng)站

mkdir -p blog # 在這個例子中的路徑是 /home/ubuntu/blog

修改Nginx的設(shè)置,將網(wǎng)站的根目錄設(shè)置為這個文件夾:

輸入以下命令

sudo nano /etc/nginx/sites-available/default

在其中找到下列內(nèi)容并修改

...
server {
    ...
    ...
    root /home/ubuntu/blog; # 將此處設(shè)為你所創(chuàng)建的文件夾
    index index.html index.htm;
    ...
    ...
    server_name blog.example.com; # 設(shè)置你的域名(托管單個網(wǎng)站時可以不用設(shè)置)
...

創(chuàng)建一個Git倉庫

創(chuàng)建一個裸倉庫

git init --bare <名字.git>     # 例如 git init --bare blog.git
                            # 記得blog.git/ 與blog/文件夾的功能不同

創(chuàng)建一個鉤子,使得這個倉庫在接受提交后自動將所有文件放到之前的網(wǎng)頁目錄中去:

nano .../<名字.git>/hooks/post-receive #例如 nano blog.git/hooks/post-receive

向其中寫入以下內(nèi)容:

git --work-tree=.../<網(wǎng)頁文件夾> --git-dir=.../<名字.git> checkout -f
# --work-tree中填Nginx指向的網(wǎng)頁文件夾路徑 --git-dir填創(chuàng)建的git倉庫的路徑
# 例如 git --work-tree=/home/ubuntu/blog --git-dir=/home/ubuntu/blog.git checkout -f

需要給這個鉤子添加可執(zhí)行權(quán)限:

chmod +x .../<名字.git>/hooks/post-receive
# 例如 chmod +x /home/ubuntu/hooks/post-receive

到此,我們服務(wù)器就已設(shè)置完畢了

裸倉庫的意思是只接收推送,而不會在其上工作(通常以.git結(jié)尾命名)

推送到服務(wù)器

任務(wù)時間:大概需要三分鐘

SSH

當(dāng)我們從本地向服務(wù)器的blog.git倉庫推送時,通過SSH公鑰來驗證我們的身份。

因此,需要一對密鑰來進(jìn)行認(rèn)證,在這里生成密鑰(如果已經(jīng)擁有請?zhí)^生成的步驟):

打開git-bash (該工具包括在MSysGit軟件包中)

ssh-keygen # 隨后根據(jù)提示輸入信息,按回車為默認(rèn)

默認(rèn)情況下,它將生成于用戶目錄(C:\User\<你的用戶名>)下的.ssh\文件夾中,名為id_rsa 與 id_rsa.pub。

其中id_rsa.pub為公鑰,將它的內(nèi)容寫到服務(wù)器中/home/ubuntu/.ssh/authorized_keys文件夾里。

請注意:如果有多對公鑰,需要配置一個config文件才能指示使用哪個私鑰進(jìn)行驗證,它類似下面這樣:

# 位置在....sshconfig
Host blog.styxs.cn
    HostName blog.example.cn
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa
    User ubuntu

推送

安裝Hexo的git部署插件,輸入命令

npm install hexo-deployer-git --save

編輯博客文件夾下的_config.yml文件,設(shè)置部署信息

...
deploy:
    type: git
    repo: 用戶名@服務(wù)器IP或域名:路徑/裸倉庫.git
    branch: master
...

repo中填寫內(nèi)容的示例: ubuntu@111.111.111.111:/home/ubuntu/blog.git

在本地預(yù)覽網(wǎng)頁無誤后推送到服務(wù)器

hexo generator # 生成網(wǎng)頁文件
hexo server # 在本地預(yù)覽
hexo deploy # 推送到服務(wù)器

以上就是本地寫作并部署到云服務(wù)器的Hexo博客工作流。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多