摘要:在這里的作用只要是用管理員權(quán)限安裝一些軟件和開啟一些服務創(chuàng)建操作用戶和分配權(quán)限。輸入完畢之后,命令模式下輸入強制保存退出。保存之后,修改文件權(quán)限最后一步,開放服務器中的端口。
知識點準備
我主要參考了兩篇文章:
【持續(xù)更新】最全Hexo博客搭建+主題優(yōu)化+插件配置+常用操作+錯誤分析
基于CentOS搭建Hexo博客
我采用的方案是云服務器+域名的方式
首先是要搞懂一些概念
NginxNginx (engine x) 是一個高性能的HTTP和反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務。在這里的主要作用就是掛載相關(guān)目錄到對應端口(或者說讓其他計算機訪問服務器的某個端口時,直接訪問對應目錄)。該教程中只需要裝在服務器。Git
Git(讀音為/g?t/。)是一個開源的分布式版本控制系統(tǒng),可以有效、高速地處理從很小到非常大的項目版本管理。簡單來說就是代碼庫及版本管理工具。在這里的作用就是:在服務器中創(chuàng)建倉庫(鉤子),然后在本地的git工具中拉取項目和提交項目。其中hexo里面集成了提交打包好的文件的命令,即hexo d。該教程需安裝在服務器和客戶端。Linux
Linux是一套免費使用和自由傳播的類Unix操作系統(tǒng),是一個基于POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統(tǒng)。它能運行主要的UNIX工具軟件、應用程序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位硬件。Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計思想,是一個性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。一般用于服務器的操作系統(tǒng),多用戶這個概念很重要,不同的用戶對文件的操作權(quán)限都會不同。在這里的作用只要是用root管理員權(quán)限安裝一些軟件和開啟一些服務、創(chuàng)建git操作用戶和分配權(quán)限。git用戶只能對git倉庫所在文件夾進行操作。Node.js
注意:在這里使用的是centos版本。其中yum是centos自帶的包管理工具。文中編輯文本信息都用的是vim編輯器。
Node 是一個讓 JavaScript 運行在服務端的開發(fā)平臺,它讓 JavaScript 成為與PHP、Python、Perl、Ruby 等服務端語言平起平坐的腳本語言。也就是說node.js是一個后臺語言。這個是hexo的依賴環(huán)境,同時我們還需要用到node.js里面包含的包管理工具npm。一般來說這個只需要安裝在本地即可,也就是說你要對博客進行操作或者開發(fā)的時候,就一定要有node.js的環(huán)境。思路整理
結(jié)合上面涉及的知識點,我先大概列一下服務器端和客戶端所需要做的事情。
服務器端:
安裝Git、創(chuàng)建倉庫、及配置自動部署
創(chuàng)建git用戶并分配好文件夾權(quán)限
安裝Nginx和配置好
客戶端:
安裝Git
安裝node.js
安裝hexo框架
客戶端配置客戶端方面的配置比起服務器端就簡單很多,因為客戶端的工作只要負責編輯文章、修改項目文件、推送文章等操作。
本人使用的操作系統(tǒng)是windows,下面的配置項也只提供windows的操作方法。
直接在 Git官網(wǎng) 找到該位置下載,然后安裝即可
安裝了之后配置一下個人信息,輸入以下命令。
git config --global user.name "yourname" git config --global user.email "youremail"
(第一次安裝git的跳過這一步)然后檢查該電腦有沒有創(chuàng)建ssh密匙對,“id_rsa”(私匙)和“id_rsa.pub(公匙)”這兩個。找到圖中的目錄(Administrator這個是我的用戶名,視個人情況而定。)。
(已經(jīng)有密匙對的話跳過這一步)在git bash中輸入以下命令創(chuàng)建密匙對(注意修改自己的郵箱):
ssh-keygen -t rsa -C "自己的郵箱"
到這里就應該已經(jīng)完成了密匙對的創(chuàng)建了,注意一下這個 id_rsa.pub ,待會服務器配置會用得上。
安裝Node.js很簡單,直接到 官網(wǎng) 下載、安裝即可。
安裝了Node.js之后里面包含了npm包管理工具。
這一步就需要用到剛剛下載Node.js里面的npm命令了。
首先通過npm全局安裝hexo,打開cmd命令行輸入:
npm install -g hexo-cli
等到安裝完成后,就要開始創(chuàng)建、初始化項目了。先把剛剛的命令窗口關(guān)掉吧。然后進入你要創(chuàng)建項目的目錄,比如在 D:/projects/ 創(chuàng)建之后就是 D:/projects/blog,然后在當前目錄打開命令行,輸入:
hexo init blog
等到安裝結(jié)束后進入項目目錄。找到"package.json",編輯文件,在"dependencies"中追加以下一行:
在當前項目目錄下執(zhí)行以下命令:
npm install
到這里客戶端的項目就已經(jīng)可以啟動了,輸入以下驗證下:
hexo s
如果看到這條信息,說明項目啟動成功,打開瀏覽器訪問 localhost:4000 就可以看到網(wǎng)站了。
客戶端的就差不多了,其中還有個服務器倉庫配置在“服務器端配置”章中底部會說明。
文章末還會有一些常用命令的小補充。
登錄服務器的root用戶,運行以下代碼安裝nginx:
yum -y update yum install -y nginx
配置nginx
接下來要修改配置,設(shè)置網(wǎng)站映射的根目錄和訪問域名。使用vim編輯以下文件:
vi /etc/nginx/conf.d/default.conf
找到對應配置,修改中文的地方:
server { listen 80; #這里填端口號,80即默認端口,訪問時不需帶端口號。 server_name 這里填寫域名 root 這里填寫網(wǎng)站根目錄地址; }
啟動nginx:
service nginx start安裝git和創(chuàng)建鉤子
安裝git:
yum install -y git
創(chuàng)建git用戶以及設(shè)置密碼(創(chuàng)建git用戶是為了安全起見,防止權(quán)限太大進行其他操作):
adduser git passwd git
給git用戶分配更高級的權(quán)限
輸入以下代碼 sudo vi /etc/sudoers ,打開sudoers文件,輸入 :/root 進行搜索,搜索到代碼行 root ALL=(ALL) ALL ,然后在這一行下添加以下代碼 git ALL=(ALL) ALL 。輸入完畢之后,命令模式下輸入 wq! 強制保存退出vi。
效果如下圖:
圖片來自網(wǎng)站:https://segmentfault.com/a/11...
切換到git用戶登錄,在用戶home目錄中添加密匙文件。作用是識別客戶端的主機身份,可免登錄操作git倉庫
su git mkdir ~/.ssh vi ~/.ssh/authorized_keys
編輯 authorized_keys 文件時將(上文提過)客戶端創(chuàng)建的公匙 “id_rsa.pub” 內(nèi)容復制到文件中。
接下來就要分配權(quán)限
chmod 600 ~/.ssh/authorized_keys chmod 700 ~/.ssh
現(xiàn)在就驗證下之前的配置是否生效,在客戶端的git bash中輸入(記得改服務器ip):
ssh -v git@服務器ip
在git的home目錄中創(chuàng)建 初始化一個裸庫,以管理代碼。
cd ~ git init --bare blog.git
創(chuàng)建一個鉤子,作用是當倉庫文件有新的推送時,把文件拷貝到站點根目錄下。使用vim創(chuàng)建并編輯post-receive文件:
vi ~/blog.git/hooks/post-receive
添加以下內(nèi)容進去(其中/var/www這個是網(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
最后一步,開放服務器中的80端口。
先輸入以下命令確認防火墻有無開發(fā)80端口:
iptables -L -n # 注意 Chain OUTPUT里面有無以下這行,沒有的話就是沒有開發(fā) ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
若沒有開放則需要修改配置:
vi /etc/sysconfig/iptables #打開后在配置項找到對應的位置插入以下這行。 -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
然后重啟防火墻以更新配置
service iptables restart
到這里服務器端的就配置完啦
接下來就是上文說到的倉庫地址配置
在客戶端的項目目錄下找到_config.yml,修改下面的對應信息:
deploy: type: git repo: git@SERVER:/home/git/blog.git #此處的SERVER需改為你自己服務器的ip branch: master補充
hexo還有很多用戶制作的主題供大家選擇,可以在 官網(wǎng)主題 上找,進去對應的主題中會有教程的了。
hexo常用指令有如下(都可以只寫第一個字母,如 hexo n):
hexo clean # 清空緩存文件和已生成的靜態(tài)文件 hexo new [名字] # 新建一篇文章 hexo generate # 生成靜態(tài)文件,即html文件 hexo deploy # 部署網(wǎng)站,即提交到服務器的倉庫(之前的git鉤子已設(shè)置成倉庫文件一旦更新,會自動更新到站點目錄)。
更多指令可在 官方文檔 中查詢。
第一次寫一篇這么長的文章,口水話很多,也有很多不清晰的地方。不過相信會越寫越好的。
祝大家學習愉快,工作順利!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/105018.html
摘要:工具技術(shù)創(chuàng)建項目賬戶注冊和新建項目,項目必須要遵守格式賬戶名,不然接下來會有很多麻煩。安裝在自己認為合適的地方創(chuàng)個文件夾,我是在盤建了一個文件夾。 工具:Visual Studio Code/MarkdownPad技術(shù):Hexo+Github 創(chuàng)建Github項目 Github賬戶注冊和新建項目,項目必須要遵守格式:賬戶名.github.io,不然接下來會有很多麻煩。并且需要勾選In...
摘要:工具技術(shù)創(chuàng)建項目賬戶注冊和新建項目,項目必須要遵守格式賬戶名,不然接下來會有很多麻煩。安裝在自己認為合適的地方創(chuàng)個文件夾,我是在盤建了一個文件夾。 工具:Visual Studio Code/MarkdownPad技術(shù):Hexo+Github 創(chuàng)建Github項目 Github賬戶注冊和新建項目,項目必須要遵守格式:賬戶名.github.io,不然接下來會有很多麻煩。并且需要勾選In...
摘要:工具技術(shù)創(chuàng)建項目賬戶注冊和新建項目,項目必須要遵守格式賬戶名,不然接下來會有很多麻煩。安裝在自己認為合適的地方創(chuàng)個文件夾,我是在盤建了一個文件夾。 工具:Visual Studio Code/MarkdownPad技術(shù):Hexo+Github 創(chuàng)建Github項目 Github賬戶注冊和新建項目,項目必須要遵守格式:賬戶名.github.io,不然接下來會有很多麻煩。并且需要勾選In...
摘要:下面貼上棧長博客的地址,也是技術(shù)棧的官方博客地址今天分享一下,如何從開始搭建一個自己的技術(shù)博客,基于棧長的博客。的國內(nèi)訪問不是很快,這里推薦使用自己搭建國內(nèi)的云服務器,使用搭建靜態(tài)服務。 技術(shù)博客的選型有很多種,如:博客園、CSDN、開源中國、簡書、知乎等……都可以用來寫文章,形成自己的技術(shù)博客。 上面的博客都是第三方的,有沒有方式搭建自己的服務器、自己的域名的博客呢?棧長知道的成熟方...
閱讀 1190·2021-11-24 09:38
閱讀 2600·2021-09-27 14:00
閱讀 1160·2019-08-30 15:55
閱讀 1333·2019-08-30 14:16
閱讀 1488·2019-08-30 10:54
閱讀 2862·2019-08-28 17:58
閱讀 757·2019-08-26 13:22
閱讀 1229·2019-08-26 12:01