前天剛買了個雲主機,就開始學着搭博客了,參考了挺多大手的博客,最終仍是選擇使用Hexo來做爲本身的博客框架。測試結束了,今天也將本身搭博客過程當中踩過的坑作一個輸出,但願對有想法要作本身的博客的同窗們有一些幫助。node
服務器我選擇的是阿里雲這邊的,因爲本身是學生因此體驗了一把阿里雲的雲翼計劃,固然阿里雲和騰訊雲的價格都差很少,同窗們能夠自行選擇。nginx
域名能夠上萬網本身找本身喜歡的,在這裏要說的是,若是是國內的域名是要備案的,個人域名也正在備案當中,大概是6-20個工做日,若是不想等的同窗能夠購買國外的域名。git
因爲阿里雲是默認不受權80端口的訪問的,因此咱們要手動配置。web
打開阿里雲服務器管理控制檯->點擊左側安全組->點擊右側的配置規則->點擊添加安全組規則npm
以下圖vim
咱們須要nginx做爲咱們的服務器,因此咱們首先要安裝nginx。可使用yum命令直接進行安裝。 安裝執行命令以下瀏覽器
yum install -y nginx
安全
啓動服務器:bash
systemctl start nginx
服務器
systemctl enable nginx
咱們要記住的是/etc/nginx/是nginx默認的配置路徑,一會要用到。
安裝並啓動服務器後,咱們就完成了第一步,如今咱們能夠嘗試使用本身的電腦去訪問服務器的公網IP。咱們能夠驚喜地發現,公網IP能夠打開一個nginx的默認網頁。這樣,咱們就成功了第一步。
可是咱們其實是想要讓這個地址指向咱們的博客,而不是nginx的默認網址,這就須要咱們去配置nginx的配置文件。我在配置的時候在網上查到的關於nginx配置文件的有關資料,大部分關於centOS的資料都是說配置位於etc/nginx/conf.d/ 下的dafault.conf 這個配置文件,可是我在配置的時候並無找到它,後來查看了一下文件結構,阿里雲默認的庫下載的是fedora版本的nginx,因此咱們應該配置的是位於 etc/nginx/ 下的 nginx.conf 。
咱們先不急着打開這個文件,由於我並不建議直接配置這個文件,咱們應該先建立一個新的文件,而後採用include的方式,將這個文件包含進nginx.conf中。
操做以下: 在/etc/nginx/目錄下建立一個文件夾 叫 vhost
cd /etc/nginx/a
mkdir vhost
cd vhost
vim blog.conf
複製代碼
編輯 blog.conf文件內容
server{
listen 80;
root /home/www/website;這裏填博客目錄存放的地址
server_name 這裏填域名如(www.baidu.com) 若是暫時沒有域名就填阿里雲的公網ip,之後有了再改回來;
location /{
}
}
複製代碼
保存並退出 :wq
打開/etc/nginx/目錄下的nginx.conf文件 vi /etc/nginx/nginx.conf
在剛纔咱們本身寫的blog.conf配置文件中root的路徑相應路徑創建博客的目錄:
cd /home
mkdir www
cd /www
mkdir website
複製代碼
這樣咱們就能夠獲得 /home/www/website 做爲博客的根路徑,就和配置文件中的路徑對應上了。
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install -y nodejs
複製代碼
安裝完成後執行 node -v 和 npm -v 若是打印版本號則安裝成功[root@localhost /]# node -v
v10.9.0
[root@localhost /]# npm -v
6.2.0
複製代碼
yum install git
配置git用戶 adduser git
修改用戶權限:chmod 740 /etc/sudoers
vi /etc/sudoers
複製代碼
找到這個位置添加下面這句話 git ALL=(ALL) ALL
`chmod 400 /etc/sudoers`
複製代碼
設置git用戶的密碼
`sudo passwd git`
複製代碼
切換到git用戶,而後在~目錄下建立.ssh文件夾
su git
cd ~
mkdir .ssh
cd .ssh
複製代碼
生成公鑰密鑰文件(這一步很重要,也是我踩過的坑)
ssh-keygen
此時在目錄下就會有兩個文件,分別是
id_rsa 和 id_rsa.pub
其中 id_rsa.pub 就是公鑰文件 咱們複製一份
cp id_rsa.pub authorized_keys
這樣目錄下就會有一個authorized_keys文件,它和id_rsa.pub如出一轍。
最後咱們修改它的權限
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
複製代碼
而後咱們在本身的電腦上本身的電腦上本身的電腦上(重要的事說三遍),打開cmd,使用ssh方式鏈接咱們的雲服務器。
`Welcome to Alibaba Cloud Elastic Compute Service !`
複製代碼
說明登陸成功了。
如今咱們要建立一個git的倉庫,而且新建一個post-receive文件,操做以下:
cd ~
git init --bare blog.git
vi ~/blog.git/hooks/post-receive
複製代碼
輸入如下內容:
`git --work-tree=/home/www/website --git-dir=/home/git/blog.git checkout -f`
複製代碼
保存退出並授予該文件可執行權限
chmod +x ~/blog.git/hooks/post-receive
至此咱們就完成了全部關於服務器端的配置。、
下載地址:Node.js 安裝過程基本直接 下一步 就能夠了。 安裝完成後使用cmd查看是否安裝成功
node -v
v10.16.2
npm -v
6.9.0
複製代碼
出現版本號說明安裝成功
因爲使用npm直接下載會有不少人遇到卡頓的問題(國外服務器),因此咱們要作的第一步工做是將npm換成淘寶的服務器。 cmd輸入下面的命令:
npm config set registry https://registry.npm.taobao.org
# 而後安裝cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
複製代碼
接下來就直接安裝 hexo
cnpm install -g hexo-cli
複製代碼
而後咱們選一個目錄用來初始化博客程序 例如G:/Blog
cmd輸入:
G:
cd Blog
hexo init
複製代碼
執行成功後安裝兩個插件
npm install hexo-deployer-git --save
npm install hexo-server
複製代碼
以後咱們就能夠在本身的本機上查看本身的博客了
hexo g
hexo s
複製代碼
打開瀏覽器訪問 http://localhost:4000
在剛纔生成hexo的目錄下,找到_config.yml,打開它。 找到deploy 作以下配置
deploy:
type: git
repo: git@這裏改成服務器公網IP:/home/git/blog.git
branch: master
message:
複製代碼
保存退出 而後嘗試寫一篇文章而且發佈到服務器上
hexo new "Hello My First Blog"
hexo clean && hexo generate --deploy
複製代碼
在服務器上從新運行nginx服務器 nginx -s reload
完成部署後能夠去Hexo主題下載本身喜歡的主題,美化博客。 如今去本地主機瀏覽器上輸入域名或者公網IP,訪問你的博客吧!
歡迎你們訪問個人我的博客:Object's Blog