網(wǎng)站性能檢測評(píng)分
注:本網(wǎng)站頁面html檢測工具掃描網(wǎng)站中存在的基本問題,僅供參考。
創(chuàng)建個(gè)人博客網(wǎng)站
免費(fèi)!利用 Github 搭建自己的網(wǎng)站 免費(fèi)視頻課程
1. 擁有一個(gè)域名
這個(gè)步驟我就不詳述了,去各大網(wǎng)站上買一個(gè)就行,選一個(gè)對(duì)自己有意義的域名
2. 擁有一個(gè) Github賬號(hào)
互聯(lián)網(wǎng)崇尚自由與分享。Github 是一個(gè)全世界程序員聚集的地方,大家相互分享自己寫的代碼,提升別人,也提升自己。大家都在為著開源社區(qū)努力著。因?yàn)槲覐拈_源項(xiàng)目中學(xué)到很多知識(shí),所以我也非常愿意分享我的所見所學(xué)所得,我的 Github 主頁:https://github/zhisheng17 (歡迎 follow 和對(duì)我的項(xiàng)目給個(gè) star 或者 fork 我的項(xiàng)目一起來和我完善項(xiàng)目)
如果還沒有 Github 賬號(hào)的話你就先去注冊一個(gè)吧,有的話,直接登錄就行,后面的操作都要用到 Github 的。
3. Github 上新建個(gè)人網(wǎng)站項(xiàng)目
登錄 GitHub 之后,在頁面右上角點(diǎn)擊 + 加號(hào)按鈕,點(diǎn)擊 New repository。
由于我們是新建一個(gè)個(gè)人網(wǎng)站項(xiàng)目,所有倉庫的名稱需要安裝 GitHub 個(gè)人網(wǎng)站項(xiàng)目的規(guī)定來寫。
規(guī)則就是:
YOUR-GITHUB-USERNAME.github.io
比如我的 GitHub 用戶名是 zhisheng17,那我就要填寫 zhisheng17.github.io。然后選擇公開模式,接著點(diǎn)擊創(chuàng)建倉庫按鈕。
創(chuàng)建成功之后,進(jìn)入了項(xiàng)目主頁面。點(diǎn)擊設(shè)置按鈕。
進(jìn)入之后,滾動(dòng)頁面到下方。點(diǎn)擊頁面自動(dòng)生成器按鈕。
點(diǎn)擊右下方繼續(xù)去布局按鈕。
選擇一個(gè)模板,點(diǎn)擊發(fā)布頁面按鈕。
這個(gè)時(shí)候,你就可以通過YOUR-GITHUB-USERNAME.github.io來訪問此頁面了。
4. 上傳個(gè)人網(wǎng)頁到 Github
自動(dòng)生成頁面,肯定不符合我們的要求,我們希望能夠自己設(shè)計(jì)自己的個(gè)人網(wǎng)站。我們可以自己編寫一個(gè)網(wǎng)頁文件,命名為 index.html。然后上傳到 GitHub個(gè)人網(wǎng)站項(xiàng)目上。這里為了節(jié)約時(shí)間,可以先下載我的個(gè)人網(wǎng)站項(xiàng)目代碼,然后修改為你的網(wǎng)頁上傳到 GitHub。
下面介紹詳細(xì)步驟。
進(jìn)入此項(xiàng)目https://github/zhisheng17/zhisheng17.github.io,然后下載源碼。解壓之后,拿到里面的index.html文件。
然后進(jìn)入自己的個(gè)人網(wǎng)站項(xiàng)目主頁 YOUR-GITHUB-USERNAME/YOUR-GITHUB-USERNAME.github.io。點(diǎn)擊上傳文件按鈕,進(jìn)入上傳文件頁面,將 index.html 文件拖入藍(lán)色大圈圈區(qū)域,點(diǎn)擊提交按鈕即可提交成功。此時(shí)打開網(wǎng)址 YOUR-GITHUB-USERNAME.github.io 就可以看到主頁已經(jīng)改變?yōu)槲覀冏约旱木W(wǎng)頁了。
通過 zhisheng17.github.io 查看效果:
5. 域名CNAME到個(gè)人網(wǎng)站項(xiàng)目
網(wǎng)頁上傳成功了,我們不想一直通過YOUR-GITHUB-USERNAME.github.io來訪問我們的個(gè)人網(wǎng)站,而是希望通過自己的域名來訪問。
下面講述詳細(xì)步驟。
點(diǎn)擊我們的個(gè)人網(wǎng)站項(xiàng)目設(shè)置選項(xiàng)卡,滾動(dòng)到下面,就會(huì)發(fā)現(xiàn)一個(gè)自定義域名卡片。輸入我們買的域名,然后點(diǎn)擊保存。
接著我們還要將我們的域名解析到這個(gè)個(gè)人網(wǎng)站項(xiàng)目上。因?yàn)槲业挠蛎窃隍v訊云上面買的,所以我打開騰訊云域名管理頁面,進(jìn)行相關(guān)的設(shè)置。
接著,點(diǎn)擊添加一條域名解析記錄,主機(jī)填寫www,代表你是一級(jí)域名來訪問,指向填寫YOUR-GITHUB-USERNAME.github.io,然后點(diǎn)擊保存按鈕。應(yīng)該要等會(huì),域名的解析時(shí)間可能不一樣,我的騰訊云就是很慢的
6. 訪問你的域名
所有這些步驟做完之后,在瀏覽器里輸入自己的域名,回車鍵一按,就會(huì)返回我們剛剛上傳到 GitHub 的index.html 頁面了。
這里只是入門了 GitHub 搭建個(gè)人網(wǎng)站的功能,GitHub 官方推薦 Jekyll 博客系統(tǒng)來發(fā)布自己的頁面。以后有數(shù)據(jù)更新,都可以通過 Jekyll 來重新編譯整個(gè)網(wǎng)站。(期待后續(xù)我的使用 Jekyll 博客系統(tǒng)發(fā)布自己博客的文章吧)
7. 注意事項(xiàng)
盡管GitHub個(gè)人網(wǎng)站項(xiàng)目是免費(fèi)的,但是卻有一些限制??傮w來說,完全夠用,甚至太多了。
單個(gè)倉庫大小不超過1GB,上傳單個(gè)文件大小不能超過100MB,如果通過瀏覽器上傳不能超過25MB
個(gè)人網(wǎng)站項(xiàng)目也不例外,最大空間1GB
個(gè)人網(wǎng)站項(xiàng)目每個(gè)月訪問請求數(shù)不能超過10萬次,總流量不能超過100GB
個(gè)人網(wǎng)站項(xiàng)目一小時(shí)創(chuàng)建數(shù)量不能超過10個(gè)
當(dāng)然了,這些政策可能隨時(shí)改變,可以通過此網(wǎng)頁查看最新政策。 https://help.github/articles/what-is-github-pages/#recommended-limits
如何搭建個(gè)人網(wǎng)站 互聯(lián)網(wǎng)視頻課程
之前也寫過此類的文章,但是因?yàn)楫?dāng)時(shí)入門不久,寫的文章可能會(huì)錯(cuò)誤的引導(dǎo)大家。現(xiàn)在,本博客建立的500+天了,博主從一個(gè)“菜鳥”轉(zhuǎn)為“有經(jīng)驗(yàn)的站長”了。
一、 域名,就是‘baidu’ ‘smallxu.me’的這種。在訪問某一個(gè)網(wǎng)站時(shí),必須輸入域名(或者IP),然后會(huì)通過DNS搜索到域名所解析的IP,然后去訪問這個(gè)IP。
域名的注冊可以去 阿里云 騰訊云 西部數(shù)碼 狗爹 等等域名注冊商,不建議注冊tk gq ga cf ml等免費(fèi)、非主流域名(搜索引擎雖然口頭上說不歧視,但是在實(shí)際應(yīng)用中還是有影響的)
ps:.me域名不支持北京備案(后面講備案)
二、 域名DNS
域名(英語:Domain Name),簡稱域名、網(wǎng)域,是由一串用點(diǎn)分隔的名字組成的Internet上某一臺(tái)計(jì)算機(jī)或計(jì)算機(jī)組的名稱,用于在數(shù)據(jù)傳輸時(shí)標(biāo)識(shí)計(jì)算機(jī)的電子方位(有時(shí)也指地理位置)。網(wǎng)域名稱系統(tǒng)(DNS,Domain Name System,有時(shí)也簡稱為域名)是因特網(wǎng)的一項(xiàng)核心服務(wù),它作為可以將域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫,能夠使人更方便的訪問互聯(lián)網(wǎng),而不用去記住能夠被機(jī)器直接讀取的IP地址數(shù)串。例如,wikipedia.org是一個(gè)域名,和IP地址208.80.152.2相對(duì)應(yīng)。DNS就像是一個(gè)自動(dòng)的電話號(hào)碼簿,我們可以直接撥打wikipedia的名字來代替電話號(hào)碼(IP地址)。我們直接調(diào)用網(wǎng)站的名字以后,DNS就會(huì)將便于人類使用的名字(如wikipedia.org)轉(zhuǎn)化成便于機(jī)器識(shí)別的IP地址(如208.80.152.2)。
域名的dns可以使用域名注冊商默認(rèn)的dns,也可以使用第三方dns或者cdn(或waf)的域名DNS。例如 cloudxns dnspod cloudflare (百度云加速 360網(wǎng)站衛(wèi)士 太垃圾,不提了)這些域名dns
也可以利用自己的服務(wù)器搭建域名DNS(不能保證可用性和穩(wěn)定性),如何利用服務(wù)器搭建DNS我們后面的文章在講解(搭建的域名DNS必須在對(duì)應(yīng)的域名后綴注冊局進(jìn)行DNS注冊,否則無法使用)
三、 網(wǎng)站服務(wù)器
網(wǎng)站服務(wù)器分為許多種 例如 虛擬主機(jī) 云服務(wù)器 VPS 以及物理服務(wù)器
1.虛擬主機(jī)
虛擬主機(jī)是指在網(wǎng)絡(luò)服務(wù)器上分出一定的磁盤空間,用戶可以租用此部分空間,以供用戶放置站點(diǎn)及應(yīng)用組件,提供必要的數(shù)據(jù)存放和傳輸功能。
虛擬主機(jī)有著便宜、快速、便捷的優(yōu)點(diǎn),但是隨著網(wǎng)站的發(fā)展,虛擬主機(jī)的缺點(diǎn)也就慢慢的出現(xiàn)了——①若虛擬主機(jī)所在的物理服務(wù)器被攻擊,該物理服務(wù)器下所有網(wǎng)站都會(huì)故障②有些虛擬主機(jī)不支持https③隨著網(wǎng)站發(fā)展,會(huì)發(fā)現(xiàn)虛擬主機(jī)的容量、流量不夠使用
2.VPS
VPS(Virtual Private Server 虛擬專用服務(wù)器)技術(shù),將一臺(tái)服務(wù)器分割成多個(gè)虛擬專享服務(wù)器的優(yōu)質(zhì)服務(wù)。實(shí)現(xiàn)VPS的技術(shù)分為容器 技術(shù),和虛擬化技術(shù) ] 。在容器或虛擬機(jī)中,每個(gè)VPS都可分配獨(dú)立公網(wǎng)IP地址、獨(dú)立操作系統(tǒng)、實(shí)現(xiàn)不同VPS間磁盤空間、內(nèi)存、CPU資源、進(jìn)程和系統(tǒng)配置的隔離,為用戶和應(yīng)用程序模擬出“獨(dú)占”使用計(jì)算資源的體驗(yàn)。VPS可以像獨(dú)立服務(wù)器一樣,重裝操作系統(tǒng),安裝程序,單獨(dú)重啟服務(wù)器。VPS為使用者提供了管理配置的自由,可用于企業(yè)虛擬化,也可以用于IDC資源租用。IDC資源租用,由VPS提供商提供。不同VPS提供商所使用的硬件VPS軟件的差異,及銷售策略的不同,VPS的使用體驗(yàn)也有較大差異。尤其是VPS提供商超賣,導(dǎo)致實(shí)體服務(wù)器超負(fù)荷時(shí),VPS性能將受到極大影響。相對(duì)來說,容器技術(shù)比虛擬機(jī)技術(shù)硬件使用效率更高,更易于超賣,所以一般來說容器VPS的價(jià)格都高于虛擬機(jī)VPS的價(jià)格。這些VPS主機(jī)以最大化的效率共享硬件、軟件許可證以及管理資源。每個(gè)VPS主機(jī)都可分配獨(dú)立公網(wǎng)IP地址、獨(dú)立操作系統(tǒng)、獨(dú)立超大空間、獨(dú)立內(nèi)存、獨(dú)立CPU資源、獨(dú)立執(zhí)行程序和獨(dú)立系統(tǒng)配置等. VPS主機(jī)用戶除了可以分配多個(gè)虛擬主機(jī)及無限企業(yè)郵箱外, 更具有獨(dú)立主機(jī)功能, 可自行安裝程序,單獨(dú)重啟主機(jī)。簡單理解VPS就是一臺(tái)擁有公網(wǎng)IP的服務(wù)器
VPS也可以去阿里這樣的大廠商購買(大部分都是云服務(wù)器)
3.云服務(wù)器
云服務(wù)器是一種簡單高效、安全可靠、處理能力可彈性伸縮的計(jì)算服務(wù)。其管理方式比物理服務(wù)器更簡單高效。用戶無需提前購買硬件,即可迅速創(chuàng)建或釋放任意多臺(tái)云服務(wù)器。云服務(wù)器幫助您快速構(gòu)建更穩(wěn)定、安全的應(yīng)用,降低開發(fā)運(yùn)維的難度和整體IT成本,使您能夠更專注于核心業(yè)務(wù)的創(chuàng)新。
云服務(wù)器和VPS之區(qū)別
云服務(wù)器是由一個(gè)集群所分擔(dān)的,假設(shè)該集群有一臺(tái)物理服務(wù)器故障,其他的服務(wù)器可以依靠鏡像正常運(yùn)行 VPS若物理服務(wù)器故障,那么VPS直接崩潰
4.物理服務(wù)器
物理服務(wù)器就是一臺(tái)實(shí)體計(jì)算機(jī)托管到機(jī)房,其配置可以由自己而定,擁有著和普通電腦相同的能力。但是在租用或托管一臺(tái)物理服務(wù)器時(shí),需要考慮其機(jī)房配置、寬帶配置、以及服務(wù)器供電。
綜合排序 物理服務(wù)器>云服務(wù)器>VPS>虛擬主機(jī)
PS. VPS及云服務(wù)器的虛擬化有多種方式 1.XEN 2.KVM 3.OVZ期綜合性能排序 KVM>=xen>ovz
五、 云服務(wù)器/VPS/物理服務(wù)器的環(huán)境選擇
就目前來說,php是全能語言,既可以在WIN上運(yùn)行也可以在linux上運(yùn)行
若你是用的是zblog一類以ASP(zblog也有php版)為主的程序,win是必選,因?yàn)橹挥蠾in可以運(yùn)行asp/aspx
如果使用php,那么linux是首選,其次是win,因?yàn)閘inux初始占用內(nèi)存小,占用系統(tǒng)資源小,對(duì)于低配置服務(wù)器是最佳選擇。而win則是圖形化操作,對(duì)于新手最好
網(wǎng)站環(huán)境nginx輕量、易操作,apache管理好,iis最為垃圾 但是因?yàn)閍sp只能運(yùn)行在iis上(目前這樣)而且iis只能在win上(聽說微軟在為linux開發(fā)Iis)
php環(huán)境因?yàn)?.0及以上不支持mysql拓展,所以一般建議5.6
六、 網(wǎng)站備案
在中國大陸以外的服務(wù)器可以不用備案,在中國大陸以內(nèi)的服務(wù)器必須向服務(wù)器管理商以及工信部提出備案申請,備案后就可以使用國內(nèi)服務(wù)器了
七、 https or http
https 是 http的安全版,搜索引擎會(huì)收錄較多的https鏈接
至此一個(gè)網(wǎng)站基本就成型了
by 小徐博客網(wǎng) smallxu.me
手把手搭建個(gè)人博客(圖文教程) 公司視頻課程
本文系投稿,作者:illgo
知音專欄
程序員的出路
寫程序時(shí)該追求什么,什么是次要的?
如何準(zhǔn)備Java初級(jí)和高級(jí)的技術(shù)面試
算法的力量,李開復(fù)聊算法的重要性
搭建個(gè)人博客
首先我們談一談搭建個(gè)人博客必要性,個(gè)人認(rèn)為在學(xué)習(xí)過程中,被動(dòng)接受知識(shí)對(duì)你的提高是輕微的。比如你看網(wǎng)課學(xué)習(xí),在聽老師講解的時(shí)候感覺簡單易懂,代碼邏輯明了清晰,當(dāng)自己敲代碼的時(shí)候,卻無從下手,這也屬于眼高手低的范疇。
當(dāng)自己主動(dòng)學(xué)習(xí),主動(dòng)思考其效率和對(duì)個(gè)人的提升無疑是高于被動(dòng)接受的。然而使你提高最大的是主動(dòng)說出自己認(rèn)知,把自己的知識(shí)和理解傳達(dá)給他人,這種方式是對(duì)你提升無疑是最顯著的。
可見搭建個(gè)人博客是非常有必要的,很多讀者很早就要求我發(fā)一篇搭建個(gè)人博客的文章,由于個(gè)人時(shí)間愿意本來想直接轉(zhuǎn)載,但是在自己實(shí)際操作中遇到很多坑,浪費(fèi)不少時(shí)間,都是把主要步驟給出且時(shí)間久遠(yuǎn),沒有詳細(xì)的圖文配合。
最終成果:
PC端:
一. 前言
本篇文章將會(huì)使用最初始的虛擬機(jī)安裝嶄新的系統(tǒng)(Windows 7)和DigitalOcean購買的服務(wù)器(CentOS7.5)作為示例,注意并不是讓大家在虛擬機(jī)上搭建,為了模擬嶄新的環(huán)境,作者采取虛擬機(jī)的方式,你們直接在個(gè)人電腦操作即可。
本文的特點(diǎn)是細(xì)節(jié)多,想到什么補(bǔ)充什么,因此,大家碰到問題時(shí),可以通過細(xì)節(jié)上的不同找到問題所在.
本篇文章的受眾:
極客,想擁有一個(gè)漂亮的博客,想快速了解,但不想把時(shí)間花在由于細(xì)節(jié)導(dǎo)致的各種問題上.只是想快速擁有一個(gè)在自己服務(wù)器上的博客的朋友.二. 博客框架的選擇
如果你是我所說的本篇文章的受眾,當(dāng)你要搭建一個(gè)博客時(shí),你絕不會(huì)想自己從頭到腳寫一個(gè)框架出來.我在這里向大家介紹幾款流行的Blog框架:
Jekyll (https://jekyllrb/)hugo(http://gohugo.org/)django(https://djangoproject/)hexo(https://hexo.io/)這里我考慮了一下,并沒有將需要我們自己管理數(shù)據(jù)庫的重型CMS(如:WordPress等)納入.選擇的標(biāo)準(zhǔn)有什么呢?
美觀程度系統(tǒng)需求搭建難度可擴(kuò)展性插件提供文檔是否全面假如你是python學(xué)習(xí)者,請選擇django,這幾乎是每個(gè)學(xué)習(xí)python的小伙伴的必經(jīng)之路.本篇文章我選擇的是Hexo,主要是它擁有我最喜歡的主題NeXT,滿足了我最大的需求:美觀.
如果你也和我一樣美觀是第一位,請點(diǎn)開每個(gè)框架的官網(wǎng),找到他們的Theme下的示例,找出你最喜歡的即可.那么,我們將會(huì)從Hexo開始,其他框架的請參照具體官網(wǎng)文檔,和他們的GitHub issues.
注: 和Hexo官網(wǎng)的Getting Started并不沖突,本文從零開始,全程截圖,與官方文檔互為補(bǔ)充.
三. Hexo介紹
Hexo 特點(diǎn)
支持Markdown: 支持Markdown意味著你可以把經(jīng)歷從排版中解放出來.輕量: 無需擁有后臺(tái)及數(shù)據(jù)庫,專心寫好你的文章一鍵部署: 可以通過Git或者ftp來將生成的靜態(tài)頁面部署到服務(wù)器或者主機(jī)空間中插件豐富: 豐富的插件可以滿足你的各種需求.Hexo的工作機(jī)制
Hexo基于Node.js,將/source文件夾下的資源(文章,圖片,模板),按照預(yù)定的配置文件,轉(zhuǎn)換成靜態(tài)頁面放置到/public目錄下.如果需要預(yù)覽或者部署,hexo會(huì)把public作為web目錄處理.具體的細(xì)節(jié)可以通過實(shí)踐接下來的步驟,來逐漸明曉.
Node.js和npm
如果您之前接觸過Node.js,可以略過此部分.Node.js是一個(gè)基于Chrome V8引擎的JavaScript運(yùn)行環(huán)境,為我們的Hexo提供js腳本的運(yùn)行環(huán)境.而npm則是一個(gè)JavaScript的包管理工具.主流的很多語言都會(huì)有自己的包管理器(們):
PHPComposerRubygemPythonpipeasy_installJavascriptbowernpmyarn包管理器可以幫助你管理依賴,比如我們要裝的Hexo以及Hexo插件,Hexo和Hexo插件是其他開發(fā)者開發(fā)的代碼(Package),包管理器可以幫你下載并管理這些代碼.
Hexo官網(wǎng)教程中使用的是npm,但是由于網(wǎng)絡(luò)問題以及便捷性,我選擇用yarn來代替,當(dāng)然,輕度使用的話只是在操作上大同小異.
四. 安裝所需環(huán)境
注: 以下安裝為本機(jī)客戶端環(huán)境安裝
安裝Node.js
Node.js官網(wǎng)下載最新LTS版本(截至發(fā)稿v8.11.1)的Node.js并安裝(如果你想同時(shí)管理多版本的Node.js請使用nvm)
Yarn官網(wǎng)下載最新版(截至發(fā)稿v1.5.1)并安裝.
安裝過程根據(jù)平臺(tái)不同因人而異,在此略去不表.
在命令行中通過查看版本,確保我們的環(huán)境安裝成功,并且可執(zhí)行文件路徑添加到了環(huán)境變量之中.
安裝git
Git - Downloads(https://git-scm/downloads)下載 64-bit Git for Windows Portable ,雙擊選擇依照你個(gè)人喜好指定的目錄(注意介于權(quán)限問題,避免在c:/program files下),我安裝在c:/some/git下右鍵開始(windows 10)-搜索,輸入環(huán)境變量,編輯系統(tǒng)環(huán)境變量.
3. 選擇環(huán)境變量
4. 在系統(tǒng)變量中選擇Path點(diǎn)擊編輯
5. 在末尾加上分號(hào),然后將你安裝目錄下,git.exe所在路徑填入(Windows 10更加簡便,不再贅述)
6. 新開一個(gè)終端,然后查看git命令是否生效
7. 設(shè)置git設(shè)置本地用戶的信息,引號(hào)內(nèi)隨意填
git config --global user.name "illgo"git config --global user.email "i@illgo"
安裝Hexo
在這一步,我們通過Yarn來全局安裝Hexo.在這里解釋Yarn(npm相同)全局安裝和本地安裝的區(qū)別:
全局安裝會(huì)把package存放在用戶目錄指定的目錄下,本地安裝則是存放在當(dāng)前項(xiàng)目的node_module目錄中.
全局安裝使我們的二進(jìn)制執(zhí)行文件在操作系統(tǒng)內(nèi)全局可用,比方說,命令行下輸入命令即可運(yùn)行.本地安裝則是作為依賴供項(xiàng)目調(diào)用.我們安裝hexo需要作為一個(gè)工具在命令行下可以直接運(yùn)行,所以采用全局安裝;而像hexo依賴的插件則可以在hexo項(xiàng)目目錄下本地安裝:
yarn globaladd hexo
如圖即為安裝成功!
五. 使用Hexo
你需要熟悉并修改兩個(gè)配置文件
Hexo配置文件:myblog/_config.yml主題配置文件: myblog/themes/next/_config.yml創(chuàng)建站點(diǎn)目錄
選擇一個(gè)目錄作為hexo站點(diǎn)目錄,我選擇在桌面新建一個(gè)myblog目錄,作為hexo目錄.
hexo init
安裝主題NexT
在你的hexo站點(diǎn)目錄下
git clone https://github/iissnan/hexo-theme-next themes/next
啟用主題
用任意編輯器打開Hexo配置文件長成這樣:
Ctrl + F 搜索 theme
theme: next
測試
hexo s --debug
按照提示,在瀏覽器中輸入url,即可查看效果.
Hexo基本配置
我們可以通過Configuration | Hexo來了解_config.yml的基本配置方法.后面我們將會(huì)對(duì)其進(jìn)行部分補(bǔ)充.
NexT主題配置
NexT主題的配置可以直接查看其配置文件中的注釋,已經(jīng)很詳細(xì)了.
六.部署
部署是本文的重點(diǎn),git部署有兩種方式:
部署到自己的服務(wù)器上網(wǎng)上流行的GitHub Pages本文講的是前者,服務(wù)器部署.
部署到服務(wù)器
我們的大體思路就是:hexo生成靜態(tài)頁面->git提交到git服務(wù)器->git服務(wù)器通過Hook運(yùn)行腳本,在www目錄下clone Git倉庫->呈現(xiàn)頁面
以臨時(shí)創(chuàng)建的Centos 7.5服務(wù)器為示例
為SSH連接創(chuàng)建密鑰對(duì)
由于使用git作為部署,所以無法避免的我們要使用密鑰對(duì)的方式來連接,而不是口令.
1. 創(chuàng)建SSH密鑰對(duì):
打開剛才安裝git目錄下的git-bash.exe.git-bash已經(jīng)提供了BASH環(huán)境,為了簡單和快捷,我們使用這個(gè)git-bash作為ssh工具
ssh-keygen-trsa-C "i@illgo"
按照提示他會(huì)在當(dāng)前用戶目錄下的.ssh目錄下生成兩個(gè)文件:
id_rsa 私鑰id_rsa.pub 公鑰
2. 在服務(wù)器中添加公鑰
后將公鑰添加到你在Centos的要登錄的用戶名下的,我們部署采用git用戶,按道理應(yīng)添加到服務(wù)器的/home/git/.ssh/authorized_keys文件中.但是本次采用DigitalOcean提供的添加公鑰功能,在Web中操作,他會(huì)將公鑰直接添加到/root/.ssh/authorized_keys中.如果你用其他的云服務(wù)器提供商,也會(huì)有類似的功能.此過程略去.
以下操作使用ssh連接服務(wù)器來操作.
在服務(wù)器上安裝Web服務(wù)器
Hexo會(huì)根據(jù)你的_config.yml配置的source_dir下的資源文件,在public_dir下生成靜態(tài)網(wǎng)頁,部署這些靜態(tài)文件.本次在服務(wù)器上安裝Apache作為web服務(wù)器,通過Git和Git hook來部署.
安裝Apache
yum -y install httpdsystemctl start httpd
然后訪問該服務(wù)器的80端口即可看到Apache的測試頁面:
在服務(wù)器上創(chuàng)建Git服務(wù)器
1. 服務(wù)器端安裝Git
使用root賬戶
yum install -y git
2. 創(chuàng)建Git用戶
useradd gitpasswd git
3. 創(chuàng)建空倉庫
創(chuàng)建一個(gè)空倉庫并把所有權(quán)給git用戶
mkdir -p /home/git/repos/myblog.gitgit init --bare /home/git/repos/myblog.git
chown -R git:git /home/git/repos/myblog.git/
5. 在web目錄下Clone
注意: 提交的用戶要對(duì)/var/www/html有寫權(quán)限
git clone /home/git/repos/myblog.git /var/www/htmlchown -R git:git /var/www/html/
4. 設(shè)置Git Hook
我們使用Git Hook的目的就是,在Hexo部署時(shí),會(huì)把Hexo生成的靜態(tài)web資源,自動(dòng)部署到web目錄下.我們需要一個(gè)post-receivew如下:
#!/bin/bash#判斷是不是遠(yuǎn)端倉庫IS_BARE=$(git rev-parse --is-bare-repository)if [ -z "$IS_BARE" ]; thenecho >&2 "fatal: post-receive: IS_NOT_BARE"exit 1fiunset GIT_DIRDeployPath="/var/www/html/"echo"==============================================="cd$DeployPathecho"deploying the myblog web"#git stash#git pull origin mastergit fetch --allgit reset --hard origin/mastertime=`date`echo"web server pull at webserver at time: $time."echo"================================================"
在DeployPath中填入你的www目錄,這里我采用Apache Web服務(wù)器默認(rèn)的位置.
在本地計(jì)算機(jī)中,我們可以利用剛git-bash.exe使用scp工具將這個(gè)文件上傳到git服務(wù)器的hook目錄下
配置git部署
添加 hexo-deployer-git 包依賴
yarn add hexo-deployer-git
設(shè)置_config.yml中的deploy:
- type: gitrepo: git@159.89.144.28:/home/repo/blog.git
測試
在Hexo站點(diǎn)目錄下
hexo g --deploy
訪問之前的url就會(huì)看到效果了!
七. SEO
關(guān)于SEO優(yōu)化和其它內(nèi)容我們單獨(dú)一篇文章講解,為了方便搜索引擎的檢索,我們要盡量使自己文章的路徑深度小,Google會(huì)收錄你的網(wǎng)站,但是百度需要一定的瀏覽訪問。你可以投稿原創(chuàng)文章到此平臺(tái),我們會(huì)注明你的博客鏈接,久而久之自己的博客會(huì)被收錄。
問題記錄
deploy的時(shí)候出現(xiàn)
mote: error: cannot run hooks/post-receive: No such file or directory
然而我的post-receive是存在且正確的,而且有執(zhí)行權(quán)限.當(dāng)直接運(yùn)行post-receive的時(shí)候發(fā)現(xiàn)錯(cuò)誤是這樣的:
-bash: /home/git/repos/myblog.git/hooks/post-receive: /bin/bash^M: bad interpreter: No such file or directory
這是因?yàn)閾Q行字符的原因,Unix下應(yīng)該是LF,所以提示的”未找到文件”指的是/bin/bash末尾多了個(gè)字符未找到.使用編輯器切換一下?lián)Q行方式并保存.
Git - remote: error: cannot run hooks/post-receive: No such file or directory報(bào)錯(cuò)查看下方鏈接:
https://stackoverflow/questions/11630433/git-remote-error-cannot-run-hooks-post-receive-no-such-file-or-directory/40355988
八、設(shè)置域名
首先去阿里云或者騰訊云購買域名,然后實(shí)名認(rèn)證就可以了。
1. 打開域名管理,點(diǎn)擊解析
2. 添加記錄,選擇 www
3. 記錄值為自己服務(wù)器的ip地址
4. 輸入 wang91
總結(jié)
以上便是完成個(gè)人博客搭建的教程了,如果你在操作過程中遇到了不懂的問題或者困難,請使用下方詢問碼,盡量問題說清楚。本來想從網(wǎng)上轉(zhuǎn)載一篇,發(fā)現(xiàn)教程都不是面向基礎(chǔ)的同學(xué),如果搭建成功,請打賞原作者,原創(chuàng)不易,多多支持。
部署過程遇到困難可以咨詢教程作者:
搭建成功、打賞作者
【Java知音】實(shí)時(shí)干貨推薦欄
紅黑樹并沒有我們想象的那么難(上)算法之單源最短路徑穩(wěn)定排序與不穩(wěn)定排序算法之廣度優(yōu)先搜索
自媒體人必看,打造個(gè)人品牌的重要一步,先建立個(gè)人博客網(wǎng)站 流量視頻課程
現(xiàn)在各種自媒體平臺(tái)泛濫,微信公眾號(hào)也非常多,建立成本非常的低廉。看似以前個(gè)人博客時(shí)代過去了,經(jīng)過這幾天的思考,我覺得建立個(gè)人博客網(wǎng)站還是很有必要。
首先,各種平臺(tái)最終可能是過眼云煙,指不定哪天就被淘汰了,我們很有比較利用個(gè)人博客網(wǎng)站建立備份。
其次,個(gè)人博客網(wǎng)站內(nèi)容基本不受管制,你想寫什么內(nèi)容都可以,相比較于各種五花八門的平臺(tái),限制可以說是忽略不計(jì),不會(huì)出現(xiàn)文章被封的情況。
最后,個(gè)人博客網(wǎng)站的樣式、布局,非常的容易修改。而且只要用心維護(hù),基本上你的網(wǎng)站可以一直存在于網(wǎng)絡(luò)上,這樣為你建立個(gè)人品牌的基站,奠定了基礎(chǔ)。
那么下面就分享一下建立個(gè)人博客網(wǎng)站的步驟:1.購買域名,建議去阿里云購買,大品牌放心使用。
2.購買云服務(wù)器,或者云虛擬主機(jī),初期建議云虛擬主機(jī),便宜實(shí)惠,依然推薦阿里云,后面流量大了之后,可以購買好一點(diǎn)的主機(jī)。
3.選擇網(wǎng)站程序,推薦WordPress程序,開源的博客程序,非常的強(qiáng)大,全世界很多站點(diǎn)都在使用,甚至是很多看起來復(fù)雜的網(wǎng)站,也是在它的基礎(chǔ)上建立起來的。
4.通過FTP工具,上傳網(wǎng)站程序到服務(wù)器并解壓在根目錄,F(xiàn)TP工具力薦FlashFXP軟件。
5.綁定域名和云虛擬主機(jī),并解析域名。域名后臺(tái)有解析的案例,照著上面設(shè)置就好了。
6.備案域名,按照官方步驟進(jìn)行就可以了,最好是所有上面用到的產(chǎn)品,全部選擇一家服務(wù)商,這樣設(shè)置上比較簡單。不會(huì)出現(xiàn)一些亂七八糟的情況。
7.設(shè)置WordPress程序的主題,想網(wǎng)站外觀漂亮一點(diǎn)的可以去買一個(gè)好點(diǎn)的主題。然后就可以開始寫文章了。主要的建立個(gè)人博客的步驟就是上面這些了,當(dāng)然其中還有很多細(xì)節(jié)末枝的問題,如果什么基礎(chǔ)都沒有的人,還是建議直接花錢找人做一個(gè)網(wǎng)站吧!
大家建站過程中有遇到什么問題,可以找我聊聊,或許我可以幫助你解決一些莫名奇妙的問題,因?yàn)槲覄倓偨⒘艘粋€(gè)個(gè)人博客,網(wǎng)站域名正在備案當(dāng)中,月底應(yīng)該可以上線了。
怎么創(chuàng)建個(gè)人博客?如何免費(fèi)建立個(gè)人站點(diǎn) 免費(fèi)視頻課程
很多人都想著能擁有自己的網(wǎng)站,但由于種種原因一直沒能建立。其實(shí)要?jiǎng)?chuàng)立一個(gè)個(gè)人站點(diǎn)很簡單,下面我們使用strikingly來建立一個(gè)站點(diǎn)。
首先我們打開strikingly的官網(wǎng),直接百度搜索即可。
我們填上相關(guān)信息,就可以直接注冊并且選擇模板。
這里隨便選擇一個(gè)比較順眼的模板即可,之后可以更換。
進(jìn)入編輯頁面,右側(cè)是主頁面,這里的文字,背景都可以直接更改。
左邊的菜單可以更改整個(gè)頁面的組成部分的名字,你可以隨意增加項(xiàng)目上去。
在編輯完成之后,點(diǎn)擊發(fā)布會(huì)彈出發(fā)布窗口,可以在這里更改域名,如果不更改會(huì)是一堆數(shù)字,更完之后還是很好記的。