免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
20年3月27日,Github被攻擊。我的GitPage博客也掛了,緊急修復(fù)之路,也教會(huì)你搭建 Jekyll 博客!

小傅哥 | https://bugstack.cn
沉淀、分享、成長,專注于原創(chuàng)專題案例,以最易學(xué)習(xí)編程的方式分享知識(shí),讓自己和他人都能有所收獲。目前已完成的專題有;Netty4.x實(shí)戰(zhàn)專題案例、用Java實(shí)現(xiàn)JVM、基于JavaAgent的全鏈路監(jiān)控、手寫RPC框架、架構(gòu)設(shè)計(jì)專題案例、源碼分析、算法學(xué)習(xí)等。

一、前言

萬萬沒想到!Github 竟然受到攻擊了!還能讓我使用了 GitPage 的博客癱瘓了!

整個(gè)網(wǎng)站一下不能訪問了,還是有點(diǎn)慌的,畢竟在這之前沒有考慮到還能有這事。但雖然沒有一個(gè)準(zhǔn)備好了的預(yù)案,但也還是可以使用自己技術(shù)把這事搞定,盡快恢復(fù)。為了可以盡快恢復(fù)博客的訪問,我把網(wǎng)站遷移到了 碼云 的Gitpage服務(wù),并開啟免費(fèi)一個(gè)月使用(挺香),并迅速搞定配置以及 HTTPS。嗯!遷移過來速度還比之前快了。但是后來發(fā)現(xiàn)有些網(wǎng)絡(luò)環(huán)境下竟然不能訪問,這又讓我感覺不爽了,否則我都快要交錢給 碼云 (一年90元)。到 碼云 官網(wǎng)群問使用這個(gè)搭建博客,百度收錄嗎?也沒有人回應(yīng)。如果不收錄我沒必要用了就,是吧。錢花了,事沒辦! 不過也還好有 Gitee,否則網(wǎng)站不能那么快恢復(fù),如果按照下面的方式搞,至少 24 小時(shí)才能完事。

接下來就是將網(wǎng)站遷移到我自己買的服務(wù)器上,雖然過程比較坎坷,但終究還是滿足了我的需求。提升了網(wǎng)站速度、體驗(yàn),也可以讓網(wǎng)站被百度爬蟲收錄。如果也有小伙伴遇到這樣問題或者想建博客,可以按照我下面的步驟,進(jìn)行安裝 Jekyll 部署博客。

二、版本

Ruby,一種簡單快捷的面向?qū)ο螅嫦驅(qū)ο蟪绦蛟O(shè)計(jì))腳本語言,在20世紀(jì)90年代由日本人松本行弘(Yukihiro Matsumoto)開發(fā),遵守GPL協(xié)議和Ruby License。它的靈感與特性來自于 Perl、Smalltalk、Eiffel、Ada以及 Lisp 語言。由 Ruby 語言本身還發(fā)展出了JRuby(Java平臺(tái))、IronRuby(.NET平臺(tái))等其他平臺(tái)的 Ruby 語言替代品。Ruby的作者于1993年2月24日開始編寫Ruby,直至1995年12月才正式公開發(fā)布于fj(新聞組)。因?yàn)镻erl發(fā)音與6月誕生石pearl(珍珠)相同,因此Ruby以7月誕生石ruby(紅寶石)命名。

序號(hào)官網(wǎng)描述
1https://rubyinstaller.org/downloads/Ruby官網(wǎng)下載
2https://gems.ruby-china.com/完整 RubyGems 鏡像China
3http://www.ruby-lang.org/zh_cn/documentation/Ruby 編程文檔
4http://jekyllthemes.org/jekyll 模版
5https://www.jekyll.com.cn/docs/快速入門手冊(cè)

Ruby 的版本比較多,安裝方式也分為整體安裝和分開安裝(Ruby + devkit),而這些也是最容易出錯(cuò)的地方。有時(shí)候安裝完了和自己的不博客版本對(duì)不上,而導(dǎo)致報(bào)錯(cuò)不能編譯。目前經(jīng)過測試此版本Ruby+Devkit 2.5.7-1 (x64)比較適合 Jekyll博客的編譯部署。如果你在官網(wǎng)下載速度較慢,可以添加公眾號(hào)bugstack蟲洞棧,回復(fù)郵箱。

三、安裝

Ruby+Devkit 2.5.7-1,完整包的安裝過程比較簡單,但需要注意以下幾點(diǎn);

  1. 安裝路徑不要有空格,中文等特殊符號(hào)
  2. 安裝中的選項(xiàng)內(nèi)容按照下圖執(zhí)行
  3. 安裝完后需要更換數(shù)據(jù)源,這些內(nèi)容會(huì)在下文具體執(zhí)行總展示

1. 雙擊打開軟件(rubyinstaller-devkit-2.5.7-1-x64)

2. 設(shè)置路徑和選項(xiàng)

  • 注意!千萬不要把路徑設(shè)置有空格、中文、特殊符號(hào)
  • 注意!前兩個(gè)是必選項(xiàng),第三個(gè)可以不選

3. 繼續(xù)執(zhí)行直到完成

點(diǎn)擊下一步即可,不需要更改配置

初步安裝成功,點(diǎn)擊 Finsh

按照到這我們的軟件就已經(jīng)安裝完成了,此時(shí)你已經(jīng)可以執(zhí)行命令查看版本了。

Microsoft Windows [版本 6.1.7601]
版權(quán)所有 (c) 2009 Microsoft Corporation。保留所有權(quán)利。

C:\Users\xiaofuge>ruby -v
ruby 2.5.7p206 (2019-10-01 revision 67816) [x64-mingw32]

四、配置

在安裝完成之后還需要執(zhí)行一系列配置,才能讓軟件正常工作。并且不注意英文提示的小伙伴,可能你的一個(gè)回車就把剛安裝好的軟件卸載了!

1. 更換源

更新 Gem

C:\Users\xiaofuge>gem update --system
Updating rubygems-update
Fetching: rubygems-update-2.7.7.gem (100%)
Successfully installed rubygems-update-2.7.7
...

查看版本

C:\Users\xiaofuge>gem -v
2.7.7

替換源,否則你會(huì)下載的很慢

C:\Users\xiaofuge>gem sources --add https://gems.ruby-china.com/ --remove http
s://rubygems.org/
source https://gems.ruby-china.com/ already present in the cache
source https://rubygems.org/ not present in cache

查看新的源

C:\Users\xiaofuge>gem sources -l
*** CURRENT SOURCES ***

https://gems.ruby-china.com

2. 基礎(chǔ)的安裝和配置

接下來的步驟就比較簡單了,但整體的過程比較耗時(shí),黑窗口會(huì)在我們執(zhí)行命令后下載大約 600M 的軟件。

命令 1

命令 2

命令 3

好!當(dāng)你順利安裝到此后,你的軟件就已經(jīng)安裝完成,可以使用了!

五、安裝Jekyll

Ruby軟件已經(jīng)安裝完成,接下來就是我們的博客的相關(guān)內(nèi)容的安裝了。

檢查版本并安裝

E:\>gem -v
2.7.7

E:\>gem install jekyll
Fetching: public_suffix-4.0.3.gem (100%)
Successfully installed public_suffix-4.0.3
Fetching: addressable-2.7.0.gem (100%)
Successfully installed addressable-2.7.0
Fetching: colorator-1.1.0.gem (100%)
Successfully installed colorator-1.1.0
...
ass-converter, rb-fsevent, rb-inotify, listen, jekyll-watch, kramdown, kramdown-
parser-gfm, liquid, mercenary, forwardable-extended, pathutil, rouge, safe_yaml,
 unicode-display_width, terminal-table, jekyll after 33 seconds
26 gems installed

查看安裝的Jekyll版本

E:\>jekyll -v
jekyll 4.0.0

六、創(chuàng)建博客

Jekyll 給我們提供了創(chuàng)建博客的命令,你只需要選擇好自己文件夾地址,進(jìn)入執(zhí)行即可。

1. 進(jìn)入本地站點(diǎn)

C:\Users\xiaofuge>E:

E:\>cd E:\itstack

2. 創(chuàng)建博客

E:\>jekyll new myblog
Running bundle install in E:/myblog...
  Bundler: Fetching source index from https://rubygems.org/
  Bundler: Resolving dependencies.............
  Bundler: Using public_suffix 4.0.3
  Bundler: Using addressable 2.7.0
  ...
  New jekyll site installed in E:/myblog.
E:\>cd myblog

3. 編譯博客

這里執(zhí)行的編譯是默認(rèn)本地編譯,也就是編譯后文中都是 localhost:4000地址開頭,不要把這回內(nèi)容傳到服務(wù)端。

E:\myblog>jekyll build
Configuration file: E:/myblog/_config.yml
            Source: E:/myblog
       Destination: E:/myblog/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
       Jekyll Feed: Generating feed for posts
                    done in 1.184 seconds.
 Auto-regeneration: disabled. Use --watch to enable.
  • 編譯好后看到一個(gè) _site 的文件夾,這里就是我們的靜態(tài)博客內(nèi)容。

4. 運(yùn)行預(yù)覽

如果在本地我們沒編譯而是執(zhí)行運(yùn)行預(yù)覽也是可以的,他會(huì)自動(dòng)進(jìn)行編譯。

E:\myblog>jekyll s
Configuration file: E:/myblog/_config.yml
            Source: E:/myblog
       Destination: E:/myblog/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
       Jekyll Feed: Generating feed for posts
                    done in 0.847 seconds.
 Auto-regeneration: enabled for 'E:/myblog'
    Server address: http://127.0.0.1:4000/
  Server running... press ctrl-c to stop.
  • 這里可以指定端口和IP,也可以控制后臺(tái)運(yùn)行,具體可以看到 十、助記指令

5. 運(yùn)行效果

  • 具體如何使用Jekyll編寫博客,可以參考官網(wǎng)文檔

博客結(jié)構(gòu)

├── _config.yml
├── _includes
|   ├── footer.html
|   └── header.html
├── _layouts
|   ├── default.html
|   ├── post.html
|   └── page.html
├── _posts
|   └── 2020-03-28-welcome-to-jekyll.markdown
├── _sass
|   ├── _base.scss
|   ├── _layout.scss
|   └── _syntax-highlighting.scss
├── about.md
├── css
|   └── main.scss
├── feed.xml
└── index.html

七、克隆博客(使用模版)

好!接下來就是我們的重點(diǎn)內(nèi)容了,雖然默認(rèn)模版也不難看,但終究不是我們的博客。在這里我的目標(biāo)是將個(gè)人博客進(jìn)行本地編譯運(yùn)行。如果你有喜歡的模版或者是官網(wǎng),或者是別人個(gè)Github,可以下載到自己本地。

1. 下載bundler

E:\itstack\gitee.com\fuzhengwei.github.io>gem install bundler
Fetching: bundler-2.1.4.gem (100%)
bundler's executable "bundle" conflicts with D:/Ruby25-x64/bin/bundle
Overwrite the executable? [yN]  n
ERROR:  Error installing bundler:
        "bundle" from bundler conflicts with D:/Ruby25-x64/bin/bundle

2. 安裝環(huán)境

E:\itstack\gitee.com\fuzhengwei.github.io>bundle install
Fetching gem metadata from http://gems.ruby-china.com/..........
Using rake 12.3.0
Fetching concurrent-ruby 1.0.5
Installing concurrent-ruby 1.0.5
Fetching i18n 0.9.1
Installing i18n 0.9.1
Using minitest 5.10.3
Using thread_safe 0.3.6
Fetching tzinfo 1.2.4
Installing tzinfo 1.2.4
Fetching activesupport 4.2.10
...
lockfile (nokogiri (~> 1.6)).
Either installing with `--full-index` or running `bundle update

3. 更新bundle(按需執(zhí)行)

E:\itstack\gitee.com\fuzhengwei.github.io>bundle update
Fetching gem metadata from http://gems.ruby-china.com/...........
Fetching gem metadata from http://gems.ruby-china.com/.
Resolving dependencies....
Fetching rake 13.0.1 (was 12.3.0)
...

4. 編譯

bundle exec jekyll build 

5. 運(yùn)行

bundle exec jekyll s

http://localhost:4000/

  • 可以看到我們已經(jīng)很順利的運(yùn)行并訪問了博客,效果還不錯(cuò)。
  • 這會(huì)雖然是本地運(yùn)行,所以里面的鏈接都是 http://localhost:4000/,不能用于服務(wù)端部署。

八、手動(dòng)發(fā)布

如果部署到服務(wù)端,那么我們編譯后里面的鏈接地址都肯定以我們的域名開始,例如;https://bugstack.cn/。接下來我們開始執(zhí)行服務(wù)端部署的編譯和使用。

1. 清空和重新構(gòu)建

Microsoft Windows [版本 6.1.7601]
版權(quán)所有 (c) 2009 Microsoft Corporation。保留所有權(quán)利。

C:\Users\fuzhengwei>E:

E:\>cd E:\itstack\gitee.com\fuzhengwei.github.io

E:\itstack\gitee.com\fuzhengwei.github.io>bundle exec jekyll clean
Configuration file: E:/itstack/gitee.com/fuzhengwei.github.io/_config.yml
           Cleaner: Removing ./_site...
           Cleaner: Nothing to do for ./.jekyll-metadata.
           Cleaner: Removing ./.jekyll-cache...
           Cleaner: Nothing to do for .sass-cache.

E:\itstack\gitee.com\fuzhengwei.github.io>bundle exec jekyll build
Configuration file: E:/itstack/gitee.com/fuzhengwei.github.io/_config.yml
            Source: E:/itstack/gitee.com/fuzhengwei.github.io
       Destination: E:/itstack/gitee.com/fuzhengwei.github.io/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
   GitHub Metadata: No GitHub API authentication could be found. Some fields may
 be missing or have incorrect data.
                    done in 18.102 seconds.
 Auto-regeneration: disabled. Use --watch to enable.

E:\itstack\gitee.com\fuzhengwei.github.io>
  • 在以上我們分別執(zhí)行了清空(bundle exec jekyll clean)和構(gòu)建(bundle exec jekyll build),接下來看以看到文件下的 _site內(nèi)容的生成。

2. 部署到遠(yuǎn)程服務(wù)器

遠(yuǎn)程服務(wù)器的部署主要依賴于大家個(gè)子使用的服務(wù)器類型,我的手里有一臺(tái)云虛擬機(jī),通過FTP的方式進(jìn)行部署即可。如下;

  • 部署以后我們?cè)诰€網(wǎng)站就可以訪問了;https://bugstack.cn/

九、自動(dòng)發(fā)布

如果每次都是這樣去本地編譯在部署到服務(wù)端,代碼又得維護(hù)在 GitHub 還是比較麻煩的。可以使用;Github -> Travis CI -> Docker-> VPS。的方式進(jìn)行部署,不過還得花點(diǎn)錢買服務(wù)器。

  • 本地提交博客 Markdown 文件 到 Github 源文件 repository
  • Github 觸發(fā) Travis CI 執(zhí)行自動(dòng)編譯
  • Travis CI 編譯后 push 靜態(tài)文件到 Github 靜態(tài)文件 repository
  • Travis CI 通知 Docker 重建鏡像(預(yù)計(jì) 5 分鐘)
  • 服務(wù)器休眠 5 分鐘后,Travis CI 通知服務(wù)器
  • 服務(wù)器拉取最新鏡像,然后停止并刪除原容器,用最新鏡像重建容器

這種方式目前我還沒有錢和時(shí)間去折騰,等后面我的博客訪問量和內(nèi)容更大了以后在投入經(jīng)歷去搞!

十、助記指令

序號(hào)指令說明
1ruby -v查看Ruby版本
2gem update更新
3gem -v查看Gem版本
4gem install jekyll安裝jekyll
5gem install bundler下載bundler
6gem install jekyll-paginate下載jeky-paginate
7git clone git@github.com:xiaofuge/xiaofuge.github.io.git克隆主題(cd到xiaofuge.github.io,執(zhí)行jekyll serve 可以在http://localhost:4000看到效果)
8gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/更換源https://gems.ruby-china.com
9jekyll new myblog初始化默認(rèn)博客
10bundle install進(jìn)入博客文件夾執(zhí)行初始化
11jekyll build本地編譯默認(rèn)所有鏈接為http://localhost
13jekyll build --source --destination 編譯指定的文件夾,同時(shí)可以設(shè)定到指定的地方
12jekyll build --destination編譯到指定地方
14jekyll build --watch編譯后好自動(dòng)監(jiān)聽文件變化 自動(dòng)編譯
15bundle exec jekyll build您只需構(gòu)建您的站點(diǎn)(而不是在本地提供),然后您可以將生成的文件上傳到您的服務(wù)器(這將生成與_config.yml中配置變量url的值的規(guī)范鏈接)
16jekyll clean清空編譯_site
17jekyll serve本地啟動(dòng)服務(wù)
18jekyll serve --host 0.0.0.0 --port 80指定ip和端口啟動(dòng)
19nohup jekyll serve &后臺(tái)運(yùn)行
20ps -axugrep jekyll
21kill -9 [pid]殺死進(jìn)程

十一、總結(jié)

  • 通過這次 GitHub 掛了,也徹底讓我的博客又得花錢維護(hù)了。不花點(diǎn)錢是真不行!以前我忍受了;速度、收錄、體驗(yàn),但是突然的一掛,啥都拜拜了。所以只能掛到自己的服務(wù)器上,還好價(jià)格也不貴!畢竟是一個(gè)只能支持 PHP、ASP的虛擬機(jī)。
  • 從沒有那件事情是可以輕輕松松的,在 天災(zāi)人禍 來臨的時(shí)候,能幫你抵擋的都是你日積月累的能力。就像;是時(shí)候展示真正的技術(shù)了!
  • Jekyll 搭建的博客還是蠻好看的,也蠻容易維護(hù)的。技術(shù)人員還是要有自己的博客,通過不停的折騰從里面不斷的獲取各個(gè)技術(shù)點(diǎn)的突破。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
GitHub Pages搭建個(gè)人博客
octopress的個(gè)性化配置
rvm,gems,rubygems,bundle,gemfile,git,rake,怎么這么多概念,都是干什么用的?
整理Ruby相關(guān)的各種概念(rvm, gem, bundle, rake, rails等) | Henter
使用 jsDelivr 免費(fèi)加速 GitHub Pages 博客的靜態(tài)資源(二)
在github.io上寫博客
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服