Ruby 服务器方面的问题,求支招

xjz19901211 · 2013年08月08日 · 最后由 046569 回复于 2013年08月10日 · 3070 次阅读

自己写了一个项目部署管理的,目前遇到的问题:

  1. 我用Net::SSH登陆到服务器后,用sudo apt-get 安装软件要输密码,我在自己的虚拟机里可以正常安装的。怎么解决sudo操作要密码的问题?

  2. 服务器安装软件我都是通过sudo apt-get 一个个的安装,有什么简单的庘,可以直接ssh到服务器上,然后自动安装指定软件的?

虽说现在已经可以在自己虚拟机里自动部署上一个项目并运行了,但功能还是弱爆了。。。

共收到 30 条回复
visudo (nopassword

1 sudoers

echo "your_user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

2 gem install mina , 写到 mina setup 里

第一个 直接输入你的密码就行了。 第二个 查看 http://ruby-china.org/wiki/install-rails-on-ubuntu-12-04-server Server 版 Ubuntu 12.04 $ curl -L https://raw.github.com/gist/2521307/install-rails-12-04-server.sh | bash

@xiaogui

  1. 后台上运行的ssh,我在网页上操作,没法输入密码
  2. 这些我都知道,我现在要做的就是一个网页,你点一个按钮,就自动把这些操作全做好了

@Saito @alvin2ye 1.都是修改服务器配置啊,这个问题。。是我不了解。。。 2.我现在就是用mina,没想用他都自动安装软件去了,这个可以试试

现在最恶心的就是部署项目。。。

https://ymate.me 是不是类似这种?

老谢这样折腾部署啊!顶

@kaka 是被部署折腾了。。。

@046569 我要弄的应该就是这种类型的网站吧,管理虚拟机服务器,Rails项目的部署及备份等管理

想法是美好的,自己实现确是痛苦的。。

https://github.com/xjz19901211/deploy_helper 还在起点跑的。。

还想做做类似云服务,来专门管理各个项目的数据库,在项目运行时传入数据地址用户名密码,或是弄个专门的Gem什么的。。

@kaka 自己瞎折腾最有味了,哈哈

@ouyang 谢谢,原来已经有这么个东东了,准备试用下,可以我就不用自己写了,哈哈

@ouyang 看了下使用,发现还只是一个工具简化了一些操作,而不是一个应用专门来配置管理这一群的服务器与项目

@ouyang 不过还是有很多地方可以借鉴的,因为我连这些自动化的都没有做到。。。

#15楼 @xjz19901211 同时管理100台服务器都没问题:D chef本来就是干这事的。

#15楼 @xjz19901211 折腾是有味,但是要有足够的时间

@ouyang 我想要的是可以在网页上显示我的所有服务器列表,可以对其中的一个或多个服务器下达指令(重启,更新,安装什么软件),或是对这个服务器中部署的项目下达指令(重启或是其它的)

#19楼 @xjz19901211

读:http://ruby-china.org/topics/12997 中的3.2。使用chef-server或者hosted chef

我写的示范项目是基于chef-solo的示范,但是改为chef-server非常容易,无需更改代码。

@kaka 周末或是晚上下班。。。

最近又在弄新版的blog,顺序练手,用Sinatra + AngularJS + SeaJS做个应用,完全用ajax请求操作,弄好后我得买个vps,不放github上了,嘿嘿

@ouyang 我觉得这又是一个大工程,我又得弄上几个月 有个问题请指点下,关于部署方面我看到的都是把项目clone本地再部署到服务器,为什么不是直接指定一个git地址,直接在服务器上运行脚本clone项目,然后做各种初始操作?

工作,工作。。。。

#22楼 @xjz19901211 ssh密钥、数据库密码信息,如无特殊情况,不许置入版本管理中。所以,一般需要git clone到本地。

有了mina,做部署非常之方便

#10楼 @xjz19901211 若是开放接口让你自定义Bash脚本,能否简化你的工作?

可以看看Ansible 网上已经有人用Ansible配置ruby开发环境和部署环境 https://github.com/tobyhede/ansible-centos-rails-nginx-passenger https://www.google.com/search?newwindow=1&safe=off&client=firefox-a&hs=ugJ&rls=org.mozilla%3Aen-US%3Aofficial&q=Ansible+rails&oq=Ansible+rails&gs_l=serp.3..0l2.3094.3861.0.3996.5.4.0.1.1.0.147.252.2j1.3.0....0...1c.1.24.serp..1.4.254.3PCow5JNasg

另外我自己也搞了一套Ansible的ruby部署配置.自动配置rails环境,通过一条命令,新建一个puma应用环境,并添加好系统用户,数据库用户和nginx配置文件. https://github.com/mangege/kimi

#26楼 @046569 能详细一点吗?谢谢

#27楼 @cxh116 谢谢,又知道了一个好东西,哈哈

#28楼 @xjz19901211 比如你以前每台都要安装Nginx,你需要apt-get install nginx,现在就是让你上传安装的脚本,然后勾选服务器,批量安装,如同你挨个SSH上去.

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册