真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Eiblog初體驗,搭建教程

用過其它博客系統(tǒng),不喜歡,不夠輕,不夠快!自己做過共兩款博客系統(tǒng),完美主義的我(畢竟×××座)也實在是不想再在這件事情上過多糾結(jié)了。Eiblog 應(yīng)該是一個比較穩(wěn)定的博客系統(tǒng),且是博主以后使用的博客系統(tǒng),穩(wěn)定性和維護你是不用擔(dān)心的,唯獨該系統(tǒng)部署過程太過復(fù)雜,并且不推薦沒有計算機知識的朋友搭建,歡迎咨詢。該博客的個中優(yōu)點(明顯快,安全),等你體驗。

創(chuàng)新互聯(lián)一直通過網(wǎng)站建設(shè)和網(wǎng)站營銷幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實效"的一站式服務(wù),以做網(wǎng)站、網(wǎng)站建設(shè)、移動互聯(lián)產(chǎn)品、營銷型網(wǎng)站建設(shè)服務(wù)為核心業(yè)務(wù)。十多年網(wǎng)站制作的經(jīng)驗,使用新網(wǎng)站建設(shè)技術(shù),全新開發(fā)出的標(biāo)準(zhǔn)網(wǎng)站,不但價格便宜而且實用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡單易用,維護方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設(shè)的選擇。

介紹

整個博客系統(tǒng)涉及到模塊如下:

  • MongoDB,博客采用 mongodb 作為存儲數(shù)據(jù)庫。

  • Elasticsearch,采用elasticsearch作為博客的站內(nèi)搜索,盡管占用內(nèi)存稍高。

  • Disqus,作為博客評論系統(tǒng),國內(nèi)大部分被墻,故實現(xiàn)兩種評論方式。

  • Nginx,作為反向代理服務(wù)器,并做相關(guān)http header和證書的設(shè)置。

  • Google Analytics,作為博客系統(tǒng)的數(shù)據(jù)分析統(tǒng)計工具。

  • 七牛 cdn,作為博客系統(tǒng)的靜態(tài)文件存儲,博文的圖片附件什么上傳至這里。

相關(guān)技術(shù)有:

  • Golang,博客系統(tǒng)后端采用golang編寫,并開源至Eiblog。

  • HTML Javascript CSS,博客系統(tǒng)的前端采用htmljquery編寫,樣式采用CSS。

  • Glide, golang 編寫。作為博客系統(tǒng)的包依賴管理器,其開源地址是Glide。

  • Docker,博客系統(tǒng)可 docker 部署,方便,快捷。

  • Docker Compose,博客系統(tǒng)可完全 docker 運行,compose起到很好管理作用。

  • SSL 證書,https是未來的趨勢,整個博客系統(tǒng)都將圍繞著證書進行,請事先準(zhǔn)備好一張有效的 ssl 證書。

  • Travis,作為博客系統(tǒng)的自動構(gòu)建工具,自動構(gòu)建docker鏡像并推送到鏡像倉庫。

  • Yaml,博客系統(tǒng)的配置文件使用yaml,請悉知。

作為博主之心血之作,Eiblog實現(xiàn)了什么功能,有什么特點,做了什么優(yōu)化呢?

  1. 系統(tǒng)目前只有首頁、專題、歸檔友鏈、關(guān)于搜索界面。相信已經(jīng)可以滿足大部分用戶的需求。

  2. .js、.css等靜態(tài)文件本地存儲,小圖片 base64 內(nèi)置到 css 中,不會產(chǎn)生網(wǎng)絡(luò)所帶來的延遲,加速網(wǎng)頁訪問。版本控制方式,動態(tài)更新靜態(tài)文件。

  3. 采用谷歌統(tǒng)計,并實現(xiàn)異步(將訪問信息發(fā)給后端,后端提交給谷歌)統(tǒng)計,加速訪問速度。

  4. 采用直接緩存 markdown 轉(zhuǎn)過的 html 文檔的方式,加速后端處理。響應(yīng)速度均在 3ms 以內(nèi),真正極速。

  5. 特定格式[ ![alt](https://st.deepzz.com/static/img/avatar.jpg =256x256) ]圖片懶加載策略,加快訪問速度。

  6. 通過 Nginx 的配置,開啟壓縮縮小傳輸量,服務(wù)器傳輸證書鏈、開啟Session ResumptionSession Ticket、OCSP Stapling等加速證書握手,再次提高速度。

  7. 文章評論數(shù)量(不重要)后端跑定時腳本,定時更新,所以有時評論數(shù)是不對的。這樣減少了 api 調(diào)用,又再次達到加速訪問的目的。

  8. 針對disqus被墻原因,實現(xiàn)Jerry Qu的另類評論方式,保證評論的流暢。

  9. 開源Typecho完整后臺系統(tǒng),全功能markdown編輯器,讓你體驗什么是簡潔清爽。

  10. 博客后臺直接對接七牛 SDK,實現(xiàn)后臺上傳文件和刪除文件的簡單功能。

  11. 采用elasticsearch作為站內(nèi)搜索,添加google opensearch功能,搜索更加自然。

當(dāng)然,在信息安全方面也沒少下功夫,雖然我們只是一個小小的博客系統(tǒng)。

  1. CDN,使用七牛融合CDN,并https化,實現(xiàn)全站https。七??缮暾埫赓M證書了。

  2. CT,證書透明度檢測,提供一個開放的審計和監(jiān)控系統(tǒng)。可以讓任何域名所有者或者 CA 確定證書是否被錯誤簽發(fā)或者被惡意使用,從而提高 HTTPS 網(wǎng)站的安全性。

  3. OCSP,在線證書狀態(tài)協(xié)議。用來檢驗證書合法性的在線查詢服務(wù).

  4. HSTS,強制客戶端(如瀏覽器)使用 HTTPS 與服務(wù)器創(chuàng)建連接??梢院芎玫慕鉀Q HTTPS 降級***。

  5. HPKP,HTTP公鑰固定擴展,防范由「偽造或不正當(dāng)手段獲得網(wǎng)站證書」造成的中間人***。該功能讓我們選擇信任哪些CA。

  6. SSL Protocols,羅列支持的TLS協(xié)議,SSLv3被證實是不安全的。

  7. SSL dhparam,迪菲赫爾曼密鑰交換。

  8. Cipher suite,羅列服務(wù)器支持加密套件。

可以容易的看到httpsecurityreport評分96,ssllabs評分A+,堪稱完美。這些安全的相關(guān)配置會在后面的部署過程中接觸到。

相關(guān)圖片展示:Eiblog 初體驗,搭建教程

Eiblog 初體驗,搭建教程

Eiblog 初體驗,搭建教程

Eiblog 初體驗,搭建教程

:圖片1,圖片2是博客界面,圖片3是后臺界面,圖片4是性能展示。

好了,說了那么多,吹了那么多,我們實際來動手搭建一個Eiblog吧。

安裝

1、Eiblog提供多個平臺的壓縮包下載,可到Eiblog release選擇相應(yīng)版本和平臺下載。也可通過:

$ curl -L https://github.com/eiblog/eiblog/releases/download/v0.1.0/eiblog-v0.1.0.`uname -s | tr '[A-Z]' '[a-z]'`-amd64.tar.gz > eiblog-v0.1.0.`uname -s | tr '[A-Z]' '[a-z]'`-amd64.tar.gz

2、如果有幸你也是Gopher,相信你會親自動手,你可以通過:

$ go get https://github.com/eiblog/eiblog

進行源碼編譯二進制文件運行。

3、如果你對docker技術(shù)也有研究的話,你也可以通過docker來安裝:

$ docker pull registry.cn-hangzhou.aliyuncs.com/deepzz/eiblog

鏡像內(nèi)部只提供了eiblog的二進制文件,因為其它內(nèi)容定制化的需求過高。所以需要將confstatic、views目錄映射出來,后面會具體說到。

本地測試

在我們下載好可執(zhí)行程序之后,我們可以開始本地測試的工作了。

本地測試需要搭建兩個服務(wù)mongodbelasticsearch3.4.1(可選,搜索服務(wù)不可用)。

Eiblog默認(rèn)會連接hostnameeidbeisearch,因此你需要將信息填入/etc/hosts下。假如你搭建的mongodb地址為127.0.0.1:27017,elasticsearch地址為192.168.99.100:9200,如:

SH$ sudo vi /etc/hosts# 在末尾加上兩行127.0.0.1       eidb
192.168.99.100  eisearch
MongoDB 搭建

1、MongoDB搭建,Mac 可通過brew install mongo進行安裝,其它平臺請查詢資料。

Elasticsearch 搭建

2、Elasticsearch搭建,它的搭建要些許復(fù)雜。博主尚未接觸如何直接安裝,因此建議通過docker搭建。需要注意的是 es 自帶的分析器對中文分詞是不友好的,這里采用了elasticsearch-analysis-ik分詞器。如果你想了解更多Github或則實現(xiàn)博客站內(nèi)搜索。

  • pull 鏡像docker pull elasticsearch:2.4.1,必需使用該版本。

  • 添加環(huán)境變量ES_JAVA_OPTS: "-Xms512m -Xmx512m",除非你想讓你的服務(wù)器爆掉。

  • 映射相關(guān)目錄:

  conf/es/config:/usr/share/elasticsearch/config  conf/es/plugins:/usr/share/elasticsearch/plugins  conf/es/data:/usr/share/elasticsearch/data  conf/es/logs:/usr/share/elasticsearch/logs

如果你想查看詳細(xì),請查看docker-compose.yml文件。

總結(jié)一下,docker運行 es 的命令為:

SH$ docker run -d --name eisearch \
    -p 9200:9200 \    -e ES_JAVA_OPTS: "-Xms512m -Xmx512m" \
    -v conf/es/config:/usr/share/elasticsearch/config \
    -v conf/es/plugins:/usr/share/elasticsearch/plugins \
    -v conf/es/data:/usr/share/elasticsearch/data \
    -v conf/es/logs:/usr/share/elasticsearch/logs \
    elasticsearch:2.4.1

之后執(zhí)行./eiblog,咱們的eiblog就可以運行起來了。

通過127.0.0.1:9000可以進入博客首頁,127.0.0.1:9000/admin/login進入后臺登陸,賬號密碼為eiblog/conf/app.yml下的usernamepassword。也就是初始賬號密碼deepzdeepzz。

準(zhǔn)備部署

如果你在感受了該博客的魅力了之后,仍然堅持想要搭建它。那么,恭喜你,獲得的一款不想再更換的博客系統(tǒng)。下面,我們跟隨步驟對部署流程進一步說明。

這里只提供Docker的相關(guān)部署說明。你如果需要其它方式部署,請參考該方式。

前提準(zhǔn)備

這里需要準(zhǔn)備一些必要的東西,如果你已準(zhǔn)備好。請?zhí)^。

  • 一臺服務(wù)器。

  • 一個域名,國內(nèi)服務(wù)器需備案。

  • 有效的證書。一般使用免費的就可以。如:Let‘s Encrypt,另外qcloud七牛也提供了免費證書的申請,均是全球可信。

  • 七牛CDN。博客只設(shè)計接入了七牛cdn,相信該CDN服務(wù)商不會讓你失望。

  • Disqus。作為博客評論系統(tǒng),你得有×××的能力注冊到該賬號,具體配置我想又可以寫一片博客了。簡單說需要shornamepublic key。

  • Google Analystic。數(shù)據(jù)統(tǒng)計分析工具。

  • Superfeedr。加速 RSS 訂閱。

  • Twitter。希望你能夠有一個twitter賬號。

當(dāng)這些已經(jīng)準(zhǔn)備好了,請參照conf/app.yml中的說明更改配置。

是不是這么多要求,很費解。其實當(dāng)初該博客系統(tǒng)只是為給人而設(shè)計的,是自己心中想要的那一款。博主些這篇文章不是想要多少人來用該博客,而是希望對那些追求至極的朋友說:你需要這款博客系統(tǒng)。

文件準(zhǔn)備

盡管大多數(shù)文件已經(jīng)準(zhǔn)備好。但有些默認(rèn)的文件需要特別指出來,需要你在 CDN 上寫特殊的路徑。

假如你的 CDN 域名為st.example.com,那么:

  • favicon.ico,其 URL 應(yīng)該是st.example.com/static/img/favicon.ico。故你在 CDN 中的文件名為static/img/favicon.ico,以下如是。

  • 左側(cè)背景圖片,500*1200左右,CDN 中文件名:static/img/bg04.jpg。如需更改,請在eiblog/view/st_blog.css中替換該名稱。

  • 頭像160*160~256*256之間,CDN 文件名:static/img/avatar.jpg。另外你需要將該圖片 Base64 編碼后替換掉eiblog/views/st_blog.css中合適位置的圖片。

  • blank.gif,CDN 文件名:static/img/blank.gif。該圖片請從這里下載并上傳至你的 CDN。

  • default_avatar.png,CDN 文件名:static/img/default_avatar.png,請從這里下載并上傳至你的 CDN。

  • disqus.js,該文件名是會變的,每次更新如果沒有提及就沒有改變。CDN 文件名格式是:static/js/name.js。在我寫這篇文章是使用的是:static/js/disqus_a9d3fd.js,請從這里下載并上傳至你的 CDN。

注意:本人 CDN 做了防盜鏈處理,故請將這些資源上傳至您的 CDN ,以免靜態(tài)資源不能訪問,請悉知。

配置說明

走到這里,我相信只走到60%的路程。放棄還來得及。

這里會對eiblog/conf下的所有文件做說明,希望你做好準(zhǔn)備。

├── app.yml                         # 博客配置文件
├── blackip.yml                     # 博客ip黑名單
├── es                              # elasticsearch配置
│   ├── config                      # 配置文件
│   │   ├── analysis                # 同義詞
│   │   ├── elasticsearch.yml       # 具體配置
│   │   ├── logging.yml             # 日志配置
│   │   └── scripts                 # 腳本文件夾
│   └── plugins                     # 插件文件夾
│       └── ik1.10.1                # ik分詞器
├── nginx                           # nginx配置
│   ├── domain                      # 域名配置,nginx會讀區(qū)改文件夾下的.conf文件
│   │   └── deepzz.conf│   ├── ip.blacklist                # nginx ip黑名單
│   └── nginx.conf                  # nginx配置,請?zhí)鎿Q原有配置
├── scts                            # ct文件
│   ├── aviator.sct│   └── digicert.sct├── ssl                             # 證書文件,具體請看deepzz.conf│   ├── dhparams.pem│   ├── domain.key│   ├── domain.pem│   ├── full_chained.pem│   └── session_ticket.key└── tpl                             # 模版文件
    ├── feedTpl.xml
    ├── opensearchTpl.xml
    └── sitemapTpl.xml

1、app.yml,整個程序的配置文件,里面已經(jīng)列出了所有配置項的說明,這里不再闡述。
2、blackip.yml,如果沒有使用Nginx,博客內(nèi)置ip過濾系統(tǒng)。 3、es全名elasticsearch,非常強大的分布式搜索引擎,github用的就是它。里面的配置基本不用修改,但es/analysis/synonym.txt是同義詞,你可以照著已有的隨意增加。

├── es
│   ├── config
│   │   ├── analysis
│   │   │   └── synonym.txt                 #同義詞配置│   │   ├── elasticsearch.yml               #分詞器配置│   │   ├── logging.yml                     #日志配置│   │   └── scripts                         #腳本│   └── plugins                             #中文分詞插件│       └── ik1.10.0
│

注意,scripts文件夾雖然是空的,但必需存在,不然elasticsearch報錯。

4、nginx,系統(tǒng)采用nginx作為代理(相信博客系統(tǒng)也不會獨占一臺服務(wù)器~)。請使用nginx.conf替換原nginx的配置。博客系統(tǒng)的配置文件是domain/deepzz.conf,或則重命名(只要是滿足*.conf)。deepzz.conf文件里面學(xué)問是最多的?;蛟S你想一一弄懂,或許…。

注意本配置需要更新nginx到最新版,openssl更新到1.0.2j,具體請到Jerry Qu的本博客 Nginx 配置之完整篇查看,了解詳情。

5、scts,存放 ct 文件。

6、ssl,這里存放了所有證書相關(guān)的內(nèi)容。

├── dhparams.pem                #參見eiblog/conf/nginx/domain/deepzz.conf├── domain.key                  #證書私鑰,一般頒發(fā)者處下載
├── domain.pem                  #證書鏈,一般從證書頒發(fā)者那可以直接下載到
├── full_chained.pem            #參見eiblog/conf/nginx/domain/deepzz.conf└── session_ticket.key          #參見eiblog/conf/nginx/domain/deepzz.conf

7、tpl模版相關(guān),不用修改。

開始部署

docker

請確定你已經(jīng)完成了上面所說的所有步驟,在本地已經(jīng)測試成功。服務(wù)器上MognoDBElasticsearch已經(jīng)安裝并已經(jīng)運行成功。

首先,請將本地測試好的conf,static,views文件夾上傳至服務(wù)器,建議存儲到服務(wù)器/data/eiblog下。

注意conf/es/config/scripts空文件夾是否存在

SH$ tree /data/eiblog -L 1

├── conf
├── static
├── views

然后,將鏡像 PULL 到服務(wù)器本地。

# PULL下Eiblog鏡像$ docker pull registry.cn-hangzhou.aliyuncs.com/deepzz/eiblog

最后,執(zhí)行docker run命令,希望你能成功。

SH$ docker run -d --name eiblog --restart=always \
    --add-host disqus.com:23.235.33.134 \
    --link eidb --link eisearch \
    -p 9000:9000 \    -e GODEBUG=netDNS=cgo \
    -v /data/eiblog/logdata:/eiblog/logdata \
    -v /data/eiblog/conf:/eiblog/conf \
    -v /data/eiblog/static:/eiblog/static \
    -v /data/eiblog/views:/eiblog/views \
    registry.cn-hangzhou.aliyuncs.com/deepzz/eiblog

這里默認(rèn)MongDBElasticsearch均為docker部署,且名稱為eidb,eisearch

nginx + docker

通過Nginx+docker部署,是博主推薦的方式。這里采用Docker Compose管理我們整個博客系統(tǒng)。

請確認(rèn)你已經(jīng)成功安裝好Nginxdocker、docker-compose。Nginx 請一定參照 Jerry Qu 的Nginx 配置完整篇。

首先,請將本地測試好的conf,static,views,docker-compose.yml文件夾和文件上傳至服務(wù)器。前三個文件夾建議存儲到服務(wù)器/data/eiblog下,docker-compose.yml存放在你使用方便的地方。

注意conf/es/config/scripts空文件夾是否存在

SH$ tree /data/eiblog -L 1

├── conf
├── static
├── views

$ ls ~/

docker-compose.yml

然后,執(zhí)行:

$ cd ~
$ docker-compose up -d

等待些許時間,成功運行。


本文題目:Eiblog初體驗,搭建教程
本文鏈接:http://weahome.cn/article/gjsdss.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部