使用 Iris 打造一款個(gè)人博客(配置篇)

Golang:使用 Iris 打造一款個(gè)人博客(一)

Iris 號(hào)稱世界第一快的框架

實(shí)際上測試對(duì)比幾款高性能的 go web 框架杀赢,Iris 框架的響應(yīng)速度確實(shí)優(yōu)于其他框架(當(dāng)然 gin 和其他框架也不賴)
在知乎和一些技術(shù)論壇里也有主張不使用 Iris 框架的文章辩恼,大概的內(nèi)容是 Iris 存在不可預(yù)測的安全性問題
今天不討論這些玩意,反正我個(gè)人使用過程中并沒有碰到什么安全隱患赌蔑,反而中意 Iris 的高性能和并發(fā)量

官方源碼文檔 GitHub:https://github.com/kataras/iris

具體的實(shí)例 demo 可以自行參考官方文檔耍目,遵循 MVC 架構(gòu)

這就不廢話了房交,下面開始 Iris 編寫個(gè)人博客第一彈,配置篇

image

項(xiàng)目結(jié)構(gòu)

開始編碼之前總是需要定義一下總體的項(xiàng)目結(jié)構(gòu)

項(xiàng)目結(jié)構(gòu)

可以看到除了 配置文件糙捺,數(shù)據(jù)庫連接 和 主執(zhí)行文件 之外
剩下的就是 控制器(controller)诫咱,視圖(server) 和 模型(models)
這就是所謂的 MVC 模型了

今天就先來看看配置文件如何去寫(個(gè)人習(xí)慣) 以及 配置數(shù)據(jù)庫連接
其實(shí)這也是大多數(shù) web 開發(fā)者一開始做的事情


配置文件

Iris 提供幾種配置文件的格式,我個(gè)人使用 .json 或 .yaml
在根目錄下新建 config.json 文件
簡單配置一下端口 和 靜態(tài)目錄

# config.json
{
  "app_name": "Blog",
  "port": "5000",
  "static_path": "/static",
  "mode": "dev"
}

config

加載到 config.go 文件
在 config 目錄下新建 config.go 文件

package config

import (
"encoding/json"
"os"
)

//服務(wù)端配置
type AppConfig struct {
    AppName    string `json:"app_name"`
    Port       string `json:"port"`
    StaticPath string `json:"static_path"`
    Mode       string `json:"mode"`
}


//初始化服務(wù)器配置
func InitConfig() *AppConfig {
    file, err := os.Open("F:/Go_work/src/Iris框架/config.json")
    if err != nil {
        panic(err.Error())
    }
    decoder := json.NewDecoder(file)
    conf := AppConfig{}
    err = decoder.Decode(&conf)
    if err != nil {
        panic(err.Error())
    }
    return &conf
}

連接 Mysql 數(shù)據(jù)庫

在 datasource 目錄下新建 db.go 編寫數(shù)據(jù)庫連接

package datasource

import (
    "Iris_web/models"
    "fmt"
    _ "github.com/go-sql-driver/mysql"
    "github.com/jinzhu/gorm"
    _ "github.com/lib/pq"
)


var Db *gorm.DB

func init(){
    var err error

    mysql_conn := fmt.Sprintf("%s:%s@(%s:%d)/%s?charset=utf8mb4&parseTime=True&loc=Local", "root","wocao", "127.0.0.1", 3306, "iris_blog")

    //賦值給全局變量 Db 沒有 := 就是賦值
    Db, err = gorm.Open("mysql", mysql_conn)
    if err != nil{
        panic(err)
    }
    fmt.Println("初始化數(shù)據(jù)庫成功......")
    Db.LogMode(false)  //是否開啟log
    Db.AutoMigrate( &models.Article{},&models.G_count{}) //自動(dòng)遷移  跟py一樣
}

配置部分結(jié)束洪灯,是不是很簡單

歡迎轉(zhuǎn)載坎缭,但要聲明出處,不然我順著網(wǎng)線過去就是一拳签钩。
個(gè)人技術(shù)博客:http://www.gzky.live

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末掏呼,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子铅檩,更是在濱河造成了極大的恐慌憎夷,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昧旨,死亡現(xiàn)場離奇詭異拾给,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)兔沃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門蒋得,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人乒疏,你說我怎么就攤上這事额衙。” “怎么了怕吴?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵窍侧,是天一觀的道長。 經(jīng)常有香客問我转绷,道長伟件,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任暇咆,我火速辦了婚禮锋爪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘爸业。我一直安慰自己其骄,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布扯旷。 她就那樣靜靜地躺著拯爽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪钧忽。 梳的紋絲不亂的頭發(fā)上毯炮,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音耸黑,去河邊找鬼桃煎。 笑死,一個(gè)胖子當(dāng)著我的面吹牛大刊,可吹牛的內(nèi)容都是我干的为迈。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼缺菌,長吁一口氣:“原來是場噩夢啊……” “哼葫辐!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起伴郁,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤耿战,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后焊傅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體剂陡,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年租冠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鹏倘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡顽爹,死狀恐怖纤泵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情镜粤,我是刑警寧澤捏题,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站肉渴,受9級(jí)特大地震影響公荧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜同规,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一循狰、第九天 我趴在偏房一處隱蔽的房頂上張望窟社。 院中可真熱鬧,春花似錦绪钥、人聲如沸灿里。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽匣吊。三九已至,卻和暖如春寸潦,著一層夾襖步出監(jiān)牢的瞬間色鸳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來泰國打工见转, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留命雀,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓斩箫,卻偏偏與公主長得像咏雌,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子校焦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 這篇文章是從我的個(gè)人博客站點(diǎn)中搬過來的赊抖,后面不打算繼續(xù)維護(hù)站點(diǎn)了,所以將之前的文章搬過來寨典。 原文寫于2017年3月...
    忠視跡閱讀 746評(píng)論 0 5
  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí)氛雪,會(huì)觸發(fā)此異常。 O...
    我想起個(gè)好名字閱讀 5,317評(píng)論 0 9
  • 1. 簡介 1.1 什么是 MyBatis 耸成? MyBatis 是支持定制化 SQL报亩、存儲(chǔ)過程以及高級(jí)映射的優(yōu)秀的...
    笨鳥慢飛閱讀 5,523評(píng)論 0 4
  • 個(gè)人網(wǎng)站:https://sunfove.xyz,歡迎交流 Hexo Hexo 是一個(gè)快速井氢、簡潔且高效的博客框架弦追。...
    sunfove閱讀 2,525評(píng)論 5 12
  • 康查舒閱讀 217評(píng)論 0 1