公司内部导航go搭建

简介:

公司内部导航go搭建

一,go介绍,
Sinatra URL shortener.


Go is a super simple Sinatra URL shortener for use behind the firewall.


Most companies soon start to build up a fair number of internal URLs, and it can often be tricky remembering these all. This especially difficult when somebody new joins the company.


Go is a simple solution to this problem. Once installed you could point http://go/wiki, for example, to your company's internal wiki.


Features:


Shortens URLs


OpenSearch integration & autocomplete


Navigate to 'go' to create/remove shortcuts


Dynamic parameter substitution


Hit counts


Open source


二,安装准备


[root@mango ~]#yum install git
[root@mango ~]#yum install rubygems ruby-devel sqlite-devel
[root@mango ~]#gem install bundle bundler


[root@mango ~]# git clone https://github.com/maccman/go.git
[root@mango ~]#cd go


[root@mango go]# bundle install


The source :rubygems is deprecated because HTTP requests are insecure.


Please change your source to 'https://rubygems.org' if possible, or 'http://rubygems.org' if not.


Fetching gem metadata from http://rubygems.org/..........


Fetching gem metadata from http://rubygems.org/..


Installing daemons (1.1.8)


Using erubis (2.7.0)


Installing eventmachine (0.12.10)



Installing rack (1.4.1)


Installing rack-protection (1.2.0)


Installing sequel (3.35.0)


Installing tilt (1.3.3)


Installing sinatra (1.3.2)


Using sinatra-sequel (0.9.0)


Using sqlite3 (1.3.6)


Installing thin (1.3.1)


Using bundler (1.3.5)


Your bundle is complete!


Use `bundle show [gemname]` to see where a bundled gem is installed.


[root@mango go]# gem list 查看gem下软件包有哪些



*** LOCAL GEMS ***



bundle (0.0.1)


bundler (1.3.5)


daemons (1.1.9, 1.1.8)


erubis (2.7.0)


eventmachine (1.0.3, 0.12.10)


rack (1.5.2, 1.4.1)


rack-protection (1.5.0, 1.2.0)


sequel (4.2.0, 3.35.0)


sinatra (1.4.3, 1.3.2)


sinatra-sequel (0.9.0)


sqlite3 (1.3.6)


thin (1.5.1, 1.3.1)


tilt (1.4.1, 1.3.3)


把多余的卸载


[root@mango go]# gem uninstall sinatra --version=1.4.3


Successfully uninstalled sinatra-1.4.3


[root@mango go]# gem uninstall sequel --version=4.2.0


Successfully uninstalled sequel-4.2.0


[root@mango go]# gem uninstall rack-protection --version=1.5.0


Successfully uninstalled rack-protection-1.5.0


[root@mango go]# gem uninstall rack --version=1.5.2


Successfully uninstalled rack-1.5.2


[root@mango go]# gem uninstall eventmachine --version=1.0.3


Successfully uninstalled eventmachine-1.0.3


[root@mango go]# gem uninstall daemons --version=1.1.9


Successfully uninstalled daemons-1.1.9


[root@mango go]# gem list


[root@mango go]# bundle install
[root@mango go]#sudo sed -i "1i\require 'rubygems'" app.rb


[root@mango go]# vim /usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra


sinatra/ sinatra.rb


[root@mango go]# vim /usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb


运行go


[root@mango go]# ruby app.rb


/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- json (LoadError)


from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'


from app.rb:5



提示缺少rubygem-json


[root@mango go]# yum -y install rubygem-json




[root@mango go]# ruby app.rb


== Sinatra/1.3.2 has taken the stage on 4567 for development with backup from Thin


>> Thin web server (v1.3.1 codename Triple Espresso)


>> Maximum connections set to 1024


>> Listening on 0.0.0.0:4567, CTRL+C to stop

打开浏览器,输入IP加端口访问,默认是4567端口,可以修改


#vim /usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb 查找到4567,改成相应的端口


set :bind, '0.0.0.0'


set :port, 4567



110049237.png










本文转自 deng304749970 51CTO博客,原文链接:http://blog.51cto.com/damondeng/1299966,如需转载请自行联系原作者
目录
相关文章
|
编译器 Go
揭秘 Go 语言中空结构体的强大用法
Go 语言中的空结构体 `struct{}` 不包含任何字段,不占用内存空间。它在实际编程中有多种典型用法:1) 结合 map 实现集合(set)类型;2) 与 channel 搭配用于信号通知;3) 申请超大容量的 Slice 和 Array 以节省内存;4) 作为接口实现时明确表示不关注值。此外,需要注意的是,空结构体作为字段时可能会因内存对齐原因占用额外空间。建议将空结构体放在外层结构体的第一个字段以优化内存使用。
|
运维 监控 算法
监控局域网其他电脑:Go 语言迪杰斯特拉算法的高效应用
在信息化时代,监控局域网成为网络管理与安全防护的关键需求。本文探讨了迪杰斯特拉(Dijkstra)算法在监控局域网中的应用,通过计算最短路径优化数据传输和故障检测。文中提供了使用Go语言实现的代码例程,展示了如何高效地进行网络监控,确保局域网的稳定运行和数据安全。迪杰斯特拉算法能减少传输延迟和带宽消耗,及时发现并处理网络故障,适用于复杂网络环境下的管理和维护。
|
11月前
|
存储 安全 Java
【Golang】(4)Go里面的指针如何?函数与方法怎么不一样?带你了解Go不同于其他高级语言的语法
结构体可以存储一组不同类型的数据,是一种符合类型。Go抛弃了类与继承,同时也抛弃了构造方法,刻意弱化了面向对象的功能,Go并非是一个传统OOP的语言,但是Go依旧有着OOP的影子,通过结构体和方法也可以模拟出一个类。
474 2
|
Cloud Native 安全 Java
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
733 1
|
开发框架 JSON 中间件
Go语言Web开发框架实践:路由、中间件、参数校验
Gin框架以其极简风格、强大路由管理、灵活中间件机制及参数绑定校验系统著称。本文详解其核心功能:1) 路由管理,支持分组与路径参数;2) 中间件机制,实现全局与局部控制;3) 参数绑定,涵盖多种来源;4) 结构体绑定与字段校验,确保数据合法性;5) 自定义校验器扩展功能;6) 统一错误处理提升用户体验。Gin以清晰模块化、流程可控及自动化校验等优势,成为开发者的优选工具。
|
JSON 编解码 API
Go语言网络编程:使用 net/http 构建 RESTful API
本章介绍如何使用 Go 语言的 `net/http` 标准库构建 RESTful API。内容涵盖 RESTful API 的基本概念及规范,包括 GET、POST、PUT 和 DELETE 方法的实现。通过定义用户数据结构和模拟数据库,逐步实现获取用户列表、创建用户、更新用户、删除用户的 HTTP 路由处理函数。同时提供辅助函数用于路径参数解析,并展示如何设置路由器启动服务。最后通过 curl 或 Postman 测试接口功能。章节总结了路由分发、JSON 编解码、方法区分、并发安全管理和路径参数解析等关键点,为更复杂需求推荐第三方框架如 Gin、Echo 和 Chi。
|
开发框架 JSON 中间件
Go语言Web开发框架实践:使用 Gin 快速构建 Web 服务
Gin 是一个高效、轻量级的 Go 语言 Web 框架,支持中间件机制,非常适合开发 RESTful API。本文从安装到进阶技巧全面解析 Gin 的使用:快速入门示例(Hello Gin)、定义 RESTful 用户服务(增删改查接口实现),以及推荐实践如参数校验、中间件和路由分组等。通过对比标准库 `net/http`,Gin 提供更简洁灵活的开发体验。此外,还推荐了 GORM、Viper、Zap 等配合使用的工具库,助力高效开发。
|
Cloud Native Go API
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
694 0
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
522 0
|
Cloud Native Java 中间件
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
558 0

热门文章

最新文章