成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

hexo搭建博客分享

psychola / 3093人閱讀

摘要:在這里的作用只要是用管理員權(quán)限安裝一些軟件和開(kāi)啟一些服務(wù)創(chuàng)建操作用戶和分配權(quán)限。輸入完畢之后,命令模式下輸入強(qiáng)制保存退出。保存之后,修改文件權(quán)限最后一步,開(kāi)放服務(wù)器中的端口。

知識(shí)點(diǎn)準(zhǔn)備

我主要參考了兩篇文章:

【持續(xù)更新】最全Hexo博客搭建+主題優(yōu)化+插件配置+常用操作+錯(cuò)誤分析

基于CentOS搭建Hexo博客

我采用的方案是云服務(wù)器+域名的方式

首先是要搞懂一些概念

Nginx
Nginx (engine x) 是一個(gè)高性能的HTTP和反向代理web服務(wù)器,同時(shí)也提供了IMAP/POP3/SMTP服務(wù)。在這里的主要作用就是掛載相關(guān)目錄到對(duì)應(yīng)端口(或者說(shuō)讓其他計(jì)算機(jī)訪問(wèn)服務(wù)器的某個(gè)端口時(shí),直接訪問(wèn)對(duì)應(yīng)目錄)。該教程中只需要裝在服務(wù)器。
Git
Git(讀音為/g?t/。)是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),可以有效、高速地處理從很小到非常大的項(xiàng)目版本管理。簡(jiǎn)單來(lái)說(shuō)就是代碼庫(kù)及版本管理工具。在這里的作用就是:在服務(wù)器中創(chuàng)建倉(cāng)庫(kù)(鉤子),然后在本地的git工具中拉取項(xiàng)目和提交項(xiàng)目。其中hexo里面集成了提交打包好的文件的命令,即hexo d。該教程需安裝在服務(wù)器和客戶端。
Linux
Linux是一套免費(fèi)使用和自由傳播的類Unix操作系統(tǒng),是一個(gè)基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。它能運(yùn)行主要的UNIX工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位硬件。Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。一般用于服務(wù)器的操作系統(tǒng),多用戶這個(gè)概念很重要,不同的用戶對(duì)文件的操作權(quán)限都會(huì)不同。在這里的作用只要是用root管理員權(quán)限安裝一些軟件和開(kāi)啟一些服務(wù)、創(chuàng)建git操作用戶和分配權(quán)限。git用戶只能對(duì)git倉(cāng)庫(kù)所在文件夾進(jìn)行操作。
注意:在這里使用的是centos版本。其中yum是centos自帶的包管理工具。文中編輯文本信息都用的是vim編輯器。
Node.js
Node 是一個(gè)讓 JavaScript 運(yùn)行在服務(wù)端的開(kāi)發(fā)平臺(tái),它讓 JavaScript 成為與PHP、Python、Perl、Ruby 等服務(wù)端語(yǔ)言平起平坐的腳本語(yǔ)言。也就是說(shuō)node.js是一個(gè)后臺(tái)語(yǔ)言。這個(gè)是hexo的依賴環(huán)境,同時(shí)我們還需要用到node.js里面包含的包管理工具npm。一般來(lái)說(shuō)這個(gè)只需要安裝在本地即可,也就是說(shuō)你要對(duì)博客進(jìn)行操作或者開(kāi)發(fā)的時(shí)候,就一定要有node.js的環(huán)境。
思路整理

結(jié)合上面涉及的知識(shí)點(diǎn),我先大概列一下服務(wù)器端和客戶端所需要做的事情。
服務(wù)器端:

安裝Git、創(chuàng)建倉(cāng)庫(kù)、及配置自動(dòng)部署

創(chuàng)建git用戶并分配好文件夾權(quán)限

安裝Nginx和配置好

客戶端:

安裝Git

安裝node.js

安裝hexo框架

客戶端配置

客戶端方面的配置比起服務(wù)器端就簡(jiǎn)單很多,因?yàn)榭蛻舳说墓ぷ髦灰?fù)責(zé)編輯文章、修改項(xiàng)目文件、推送文章等操作。
本人使用的操作系統(tǒng)是windows,下面的配置項(xiàng)也只提供windows的操作方法。

安裝Git

直接在 Git官網(wǎng) 找到該位置下載,然后安裝即可

安裝了之后配置一下個(gè)人信息,輸入以下命令。

git config --global user.name "yourname"

git config --global user.email "youremail"

(第一次安裝git的跳過(guò)這一步)然后檢查該電腦有沒(méi)有創(chuàng)建ssh密匙對(duì),“id_rsa”(私匙)和“id_rsa.pub(公匙)”這兩個(gè)。找到圖中的目錄(Administrator這個(gè)是我的用戶名,視個(gè)人情況而定。)。

(已經(jīng)有密匙對(duì)的話跳過(guò)這一步)在git bash中輸入以下命令創(chuàng)建密匙對(duì)(注意修改自己的郵箱):

ssh-keygen -t rsa -C "自己的郵箱"

到這里就應(yīng)該已經(jīng)完成了密匙對(duì)的創(chuàng)建了,注意一下這個(gè) id_rsa.pub ,待會(huì)服務(wù)器配置會(huì)用得上。

安裝Node.js

很簡(jiǎn)單,直接到 官網(wǎng) 下載、安裝即可。
安裝了Node.js之后里面包含了npm包管理工具。

安裝hexo

這一步就需要用到剛剛下載Node.js里面的npm命令了。
首先通過(guò)npm全局安裝hexo,打開(kāi)cmd命令行輸入:

npm install -g hexo-cli

等到安裝完成后,就要開(kāi)始創(chuàng)建、初始化項(xiàng)目了。先把剛剛的命令窗口關(guān)掉吧。然后進(jìn)入你要?jiǎng)?chuàng)建項(xiàng)目的目錄,比如在 D:/projects/ 創(chuàng)建之后就是 D:/projects/blog,然后在當(dāng)前目錄打開(kāi)命令行,輸入:

hexo init blog

等到安裝結(jié)束后進(jìn)入項(xiàng)目目錄。找到"package.json",編輯文件,在"dependencies"中追加以下一行:

在當(dāng)前項(xiàng)目目錄下執(zhí)行以下命令:

npm install

到這里客戶端的項(xiàng)目就已經(jīng)可以啟動(dòng)了,輸入以下驗(yàn)證下:

hexo s

如果看到這條信息,說(shuō)明項(xiàng)目啟動(dòng)成功,打開(kāi)瀏覽器訪問(wèn) localhost:4000 就可以看到網(wǎng)站了。

客戶端的就差不多了,其中還有個(gè)服務(wù)器倉(cāng)庫(kù)配置在“服務(wù)器端配置”章中底部會(huì)說(shuō)明。
文章末還會(huì)有一些常用命令的小補(bǔ)充。

服務(wù)器端配置 安裝Nginx和配置

登錄服務(wù)器的root用戶,運(yùn)行以下代碼安裝nginx:

yum -y update
yum install -y nginx

配置nginx
接下來(lái)要修改配置,設(shè)置網(wǎng)站映射的根目錄和訪問(wèn)域名。使用vim編輯以下文件:

vi /etc/nginx/conf.d/default.conf

找到對(duì)應(yīng)配置,修改中文的地方:

server {
    listen       80; #這里填端口號(hào),80即默認(rèn)端口,訪問(wèn)時(shí)不需帶端口號(hào)。
    server_name  這里填寫域名
    root         這里填寫網(wǎng)站根目錄地址;
}

啟動(dòng)nginx:

service nginx start
安裝git和創(chuàng)建鉤子

安裝git:

yum install -y git

創(chuàng)建git用戶以及設(shè)置密碼(創(chuàng)建git用戶是為了安全起見(jiàn),防止權(quán)限太大進(jìn)行其他操作):

adduser git
passwd git

給git用戶分配更高級(jí)的權(quán)限
輸入以下代碼 sudo vi /etc/sudoers ,打開(kāi)sudoers文件,輸入 :/root 進(jìn)行搜索,搜索到代碼行 root ALL=(ALL) ALL ,然后在這一行下添加以下代碼 git ALL=(ALL) ALL 。輸入完畢之后,命令模式下輸入 wq! 強(qiáng)制保存退出vi。
效果如下圖:

圖片來(lái)自網(wǎng)站:https://segmentfault.com/a/11...

切換到git用戶登錄,在用戶home目錄中添加密匙文件。作用是識(shí)別客戶端的主機(jī)身份,可免登錄操作git倉(cāng)庫(kù)

su git
mkdir ~/.ssh
vi ~/.ssh/authorized_keys

編輯 authorized_keys 文件時(shí)將(上文提過(guò))客戶端創(chuàng)建的公匙 “id_rsa.pub” 內(nèi)容復(fù)制到文件中。
接下來(lái)就要分配權(quán)限

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

現(xiàn)在就驗(yàn)證下之前的配置是否生效,在客戶端的git bash中輸入(記得改服務(wù)器ip):

ssh -v git@服務(wù)器ip

在git的home目錄中創(chuàng)建 初始化一個(gè)裸庫(kù),以管理代碼。

cd ~
git init --bare blog.git

創(chuàng)建一個(gè)鉤子,作用是當(dāng)倉(cāng)庫(kù)文件有新的推送時(shí),把文件拷貝到站點(diǎn)根目錄下。使用vim創(chuàng)建并編輯post-receive文件:

vi ~/blog.git/hooks/post-receive

添加以下內(nèi)容進(jìn)去(其中/var/www這個(gè)是網(wǎng)站根目錄,記得修改成自己的。):

#!/bin/sh
git --work-tree=/var/www --git-dir=/home/git/blog.git checkout -f

保存之后,修改文件權(quán)限

chmod +x ~/blog.git/hooks/post-receive

最后一步,開(kāi)放服務(wù)器中的80端口。
先輸入以下命令確認(rèn)防火墻有無(wú)開(kāi)發(fā)80端口:

iptables -L -n

# 注意 Chain OUTPUT里面有無(wú)以下這行,沒(méi)有的話就是沒(méi)有開(kāi)發(fā)
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80

若沒(méi)有開(kāi)放則需要修改配置:

vi /etc/sysconfig/iptables

#打開(kāi)后在配置項(xiàng)找到對(duì)應(yīng)的位置插入以下這行。
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

然后重啟防火墻以更新配置

service iptables restart

到這里服務(wù)器端的就配置完啦

接下來(lái)就是上文說(shuō)到的倉(cāng)庫(kù)地址配置
在客戶端的項(xiàng)目目錄下找到_config.yml,修改下面的對(duì)應(yīng)信息:

deploy:
    type: git
    repo: git@SERVER:/home/git/blog.git       #此處的SERVER需改為你自己服務(wù)器的ip
    branch: master
補(bǔ)充

hexo還有很多用戶制作的主題供大家選擇,可以在 官網(wǎng)主題 上找,進(jìn)去對(duì)應(yīng)的主題中會(huì)有教程的了。

hexo常用指令有如下(都可以只寫第一個(gè)字母,如 hexo n):

hexo clean # 清空緩存文件和已生成的靜態(tài)文件
hexo new [名字] # 新建一篇文章
hexo generate # 生成靜態(tài)文件,即html文件
hexo deploy # 部署網(wǎng)站,即提交到服務(wù)器的倉(cāng)庫(kù)(之前的git鉤子已設(shè)置成倉(cāng)庫(kù)文件一旦更新,會(huì)自動(dòng)更新到站點(diǎn)目錄)。

更多指令可在 官方文檔 中查詢。

第一次寫一篇這么長(zhǎng)的文章,口水話很多,也有很多不清晰的地方。不過(guò)相信會(huì)越寫越好的。
祝大家學(xué)習(xí)愉快,工作順利!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/105018.html

相關(guān)文章

  • 使用Hexo+Github搭建屬于自己的博客

    摘要:工具技術(shù)創(chuàng)建項(xiàng)目賬戶注冊(cè)和新建項(xiàng)目,項(xiàng)目必須要遵守格式賬戶名,不然接下來(lái)會(huì)有很多麻煩。安裝在自己認(rèn)為合適的地方創(chuàng)個(gè)文件夾,我是在盤建了一個(gè)文件夾。 工具:Visual Studio Code/MarkdownPad技術(shù):Hexo+Github 創(chuàng)建Github項(xiàng)目 Github賬戶注冊(cè)和新建項(xiàng)目,項(xiàng)目必須要遵守格式:賬戶名.github.io,不然接下來(lái)會(huì)有很多麻煩。并且需要勾選In...

    tangr206 評(píng)論0 收藏0
  • 使用Hexo+Github搭建屬于自己的博客

    摘要:工具技術(shù)創(chuàng)建項(xiàng)目賬戶注冊(cè)和新建項(xiàng)目,項(xiàng)目必須要遵守格式賬戶名,不然接下來(lái)會(huì)有很多麻煩。安裝在自己認(rèn)為合適的地方創(chuàng)個(gè)文件夾,我是在盤建了一個(gè)文件夾。 工具:Visual Studio Code/MarkdownPad技術(shù):Hexo+Github 創(chuàng)建Github項(xiàng)目 Github賬戶注冊(cè)和新建項(xiàng)目,項(xiàng)目必須要遵守格式:賬戶名.github.io,不然接下來(lái)會(huì)有很多麻煩。并且需要勾選In...

    tangr206 評(píng)論0 收藏0
  • 使用Hexo+Github搭建屬于自己的博客

    摘要:工具技術(shù)創(chuàng)建項(xiàng)目賬戶注冊(cè)和新建項(xiàng)目,項(xiàng)目必須要遵守格式賬戶名,不然接下來(lái)會(huì)有很多麻煩。安裝在自己認(rèn)為合適的地方創(chuàng)個(gè)文件夾,我是在盤建了一個(gè)文件夾。 工具:Visual Studio Code/MarkdownPad技術(shù):Hexo+Github 創(chuàng)建Github項(xiàng)目 Github賬戶注冊(cè)和新建項(xiàng)目,項(xiàng)目必須要遵守格式:賬戶名.github.io,不然接下來(lái)會(huì)有很多麻煩。并且需要勾選In...

    laoLiueizo 評(píng)論0 收藏0
  • 從 0 開(kāi)始搭建一個(gè)技術(shù)博客,私藏干貨~

    摘要:下面貼上棧長(zhǎng)博客的地址,也是技術(shù)棧的官方博客地址今天分享一下,如何從開(kāi)始搭建一個(gè)自己的技術(shù)博客,基于棧長(zhǎng)的博客。的國(guó)內(nèi)訪問(wèn)不是很快,這里推薦使用自己搭建國(guó)內(nèi)的云服務(wù)器,使用搭建靜態(tài)服務(wù)。 技術(shù)博客的選型有很多種,如:博客園、CSDN、開(kāi)源中國(guó)、簡(jiǎn)書、知乎等……都可以用來(lái)寫文章,形成自己的技術(shù)博客。 上面的博客都是第三方的,有沒(méi)有方式搭建自己的服務(wù)器、自己的域名的博客呢?棧長(zhǎng)知道的成熟方...

    Zhuxy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<