studygolang源码阅读小结(一)

whispermemory · 2013-04-17 12:47:07 · 6124 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2013-04-17 12:47:07 的主题,其中的信息可能已经有所发展或是发生改变。

最近待业在家,闲来无事。在博主大神@polaris的指点下,开始探索studygolang的源码。最初定的题目是studygolang源码剖析,想想不合适,牛皮吹的有点大了。还是叫源码阅读小结吧。写一些个人的浅薄理解与看法,可能会有错误,希望大伙儿指正。

第一节 源码的获取与本地化运行

本文的目的在于把源码本地运行起来

###准备工作###

首先源码地址 https://github.com/studygolang,下载最新代码

在本地要编译并执行源码还需要安装下面3个package,使用go get工具

          go get  github.com/Go-SQL-Driver/MySQL
          go get  github.com/studygolang/mux
          go get  github.com/gorilla/sessions

在mac下面安装MySQL的时候我遇到了问题,报错如下

  go get github.com/go-sql-driver/mysql

 ` can't load package: package github.com/go-sql-driver/mysql: no Go source files in  /usr/local/go/src/pkg/github.com/go-sql-driver/mysql`

如果报该错误到/usr/local/go/src/pkg/github.com/ 下面rm -R go-sql-driver 这个文件夹,删除之后sudo go get一遍。

###源码文件结构###

├───code
│   ├───studygolang
│   │   ├───bin(可执行文件目录)
│   │   ├───conf(网站配置,内有样例)
│   │   ├───log(需要自己创建,并在下面创建一个文件名panic.log)
│   │   ├───pid
│   │   ├───pkg(需要自己安装的pkg,见第一步)
│   │   ├───src(源码)
│   │   ├───static(一些静态的元素)
│   │   └───template(html)
│   └───thirdparty
└───databases

我们需要做的事就是在conf中,新建一个config.json文件,在code下面创建一个 log文件夹 然后在文件夹里面创建一个panic.log文件。

###运行后台服务###

用bash命令执行code文件夹下的install 与 start

    bash install

    bash start

执行conf文件夹下studygolang

    ./studygolang

然后在浏览器中输入127.0.0.1:port (port的值在conf文件夹下config.json文件中配置),这时候就可以本地访问网页了。


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

6124 次点击  
加入收藏 微博
6 回复  |  直到 2013-05-27 06:57:17
whispermemory
whispermemory · #1 · 12年之前

文件结构下面那句话,写漏了 在code下面创建一个 log文件夹 然后在文件夹里面创建一个panic.log文件

jianfengye110
jianfengye110 · #2 · 12年之前
whispermemorywhispermemory #1 回复

文件结构下面那句话,写漏了 在code下面创建一个 log文件夹 然后在文件夹里面创建一个panic.log文件

log文件要手动创建?

whispermemory
whispermemory · #3 · 12年之前
jianfengye110jianfengye110 #2 回复

#1楼 @whispermemory log文件要手动创建?

嗯log文件夹 以及log文件夹下的error.log都是自己手动创建的。没有的时候编译会出问题。具体没仔细研究。

webboy
webboy · #4 · 12年之前

F:\golang\src\studygolang>install.bat

studygolang

src\studygolang\main.go:41: undefined: websocket.Handler finished

polaris
polaris · #5 · 12年之前
jianfengye110jianfengye110 #2 回复

#1楼 @whispermemory log文件要手动创建?

目前log文件夹可以自动创建。

本来打算将一个空文件夹(log)放到github,但发现,空文件夹竟然放不上去……

whispermemory
whispermemory · #6 · 12年之前
webboywebboy #4 回复

F:\golang\src\studygolang>install.bat # studygolang src\studygolang\main.go:41: undefined: websocket.Handler finished

#3楼 @whispermemory 这个应该是作者新添加的一个第三方package,可以用go install go.net/websocket 命令安装

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传