该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-12-01
遇到了一些问题,总结一下,希望能给遇到同样问题的朋友帮上忙. 我先是看了一篇帖子后安装的 http://www.ubfchina.cn/article/view.asp?id=29 安装的时候可以选语言,英文中文都无所谓,反正中文的安装后也仅部分汉化,还得上网下补丁才行. 引用上面帖子的内容 ,修改源才能更新 ======= 在终端输入并运行 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (备份当前的源列表,以便日後需要时恢复) sudo gedit /etc/apt/sources.list (修改sources.list文件中源的列表) 我是选的北方网通的源,具体源内容大家参照上面的帖子吧,人家写的很好,所以还是去捧场吧. 帖子中也提到deb http://archive.ubuntu.org.cn/ubuntu-cn/ feisty main restricted universe multiverse要加上. 我常识过弄更高级的3D桌面,换主题,结果好像少什么文件,启动不了,所以放弃了.华而不实的东西,暂时没兴趣考虑. 闲话少说,安装Ruby RubyGems Rails Mongrel Nginx. 这次Ubuntu7.10的源里都有了,所以用新立得安装就行了,Ruby要选上ruby1.8和ruby1.8-dev. 但是好像还缺东西,补充上sudo apt-get install libssl-dev(必须) sudo apt-get install libzlib-ruby rdoc ri irb (我不记得新立得选ruby的话会不会安装这些了,写多了也没事,不会重复安装的) 下面再装mongrel_cluster来管理多个mongrel服务 sudo gem install daemons gem_plugin mongrel mongrel_cluster 记得选的版本里面是ruby编译的.如果报错就是ruby开发包少装了. 建立mogrel用户 sudo /usr/sbin/addusr mongrel 密码也mongrel吧 用rails 建立个站点 比如在 /home/abendas/www/www.abendas.com 给站点目录加上刚才mongrel用户的权限吧 sudo chown -R mongrel:mongrel /home/abendas/www.abendas.com/ 然后设置站点mongrel配置 cd /home/abendas/www/www.abendas.com sudo mongrel_rails cluster::configure -e development -p 8000 -N 2 -c /home/abendas/www.abendas.com/ -a 127.0.0.1 --user mongrel --group mongrel 说明下 -e development 是rails的development模式,可以跟自己需要改其他模式.-p 8000 开始用的端口号 -N 2 是开的mongrel进程数量(我 现在开了2个线程,每个都要用单独端口,向后排,那就是8000 和 8001端口分给它们俩使用了) -c /home/abendas/www.abendas.com/ 站点的路 径 -a 127.0.0.1 mongrel服务所在的电脑的IP. --user mongrel --group mongrel 注意是两个-,用户名和组,就是刚才我们建立的 mongrel用户. 这时候在站点的config里面生成了一个mongrel_clueter.yml文件,可以看看里面是怎么写的,回头可以自己方便的改. 下面的工作就是把配置文件放到统一的一个地方来. sudo mkdir /etc/mongrel_cluster sudo ln -s /home/abendas/www/www.abendas.com/config/mongrel_cluster.yml /etc/mongrel_cluster/abendas.yml 意思就是从站点目录把yml文件链接到 /etc/mongrel_cluster/下重新命名,可随意,我是命名为abendas.yml了. 下面,不同与7.04的地方出现了 要找mongrel_cluster, sudo find / -name mongrel_cluster 结果在/var/lib/gems/1.8/gems/mongrel_cluster-1.0.2/resources/mongrel_cluster找到了,我记得是跟7.04不一样. 放到启动文件夹去. cd /etc/init.d/ sudo cp /var/lib/gems/1.8/gems/mongrel_cluster-1.0.2/resources/mongrel_cluster mongrel_cluster 给它可执行的属性 sudo chmod +x /etc/init.d/mongrel_cluster 然后设为随机启动 sudo update-rc.d mongrel_cluster defaults 然后我们可以启动了吧?sudo /etc/init.d/mongrel_cluster start 没反应..... 2B的现象发生了........ 我查看mongrel_cluster的代码,每个语句执行发现mongrel_cluster_ctl 找不到... 恍然大悟 sudo find / -name mongrel_cluster_ctl 在/var/lib/gems/1.8/bin/mongrel_cluster_ctl 那我们就 #################################################################### sudo ln -s /var/lib/gems/1.8/bin/mongrel_cluster_ctl /usr/bin/ #################################################################### 再sudo /etc/init.d/mongrel_cluster 就ok了,这地方一开始不知道,重装了一次还是出错,所以我觉得是这个版本的mongrel_cluster安装默认 设置漏掉把它链接到/usr/bin/了吧. 如果米有给mongrel帐号在站点目录的权限,或者站点目录在/var/www里,可能会报 mongrel8000.pid什么的错误,那是权限的问题.自行解决吧 刚才在新立得里就已经安装nginx了,不错的很. 配置nginx 在/etc/nginx/nginx.conf 默认里面有句 include /etc/nginx/sites-enabled/*; 那就去 /etc/nginx/site-enabled里面找文件打开 我的配置如下 #后面的注释后来打的,不知道会不会影响,不行就去掉注释哈. upstream abendas { #命名为abendas了再复制一份改个名字就是另一个站点的mongrel群,注意端口号. server 127.0.0.1:8000; server 127.0.0.1:8001; } server { listen 80;#至少要有个server{}带着 listen 80 ,不然启动的时候不能自动运行..可能是启动在dns服务器之前了 listen www.abendas.com:80; server_name www.abendas.com; #加上 server_name www.abendas.cn; 就是多域名指向同一个站点 access_log /var/log/nginx/localhost.access.log; location / { root /home/abendas/www/www.abendas.com/public; #rails站点目录的public目录 index index.html index.htm; } location / { proxy_pass http://abendas; #跟对应的mongrel群名字要对上 proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location ~* ^.+\. (jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|mov)$ { #以上后缀名的文件直接走nginx不走mongrel了 root /home/abendas/www/www.abendas.com/public; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/nginx-default; } } 记得以后重启mongrel和nginx就在 sudo /etc/init.d/mongrel start|restart|stop sudo /etc/init.d/nginx start|restart|stop 补充: nginx的设置里面 server { listen 80;... 如果米有,就会开机启动不了nginx,在nginx的日志里说无法解析ip... 可想而知,nginx的启动顺序比name等服务要靠前了... sudo update-rc.d nginx remove 删除nginx自动启动 sudo update-rc.d nginx start 99 1 2 3 4 5 6 #99是顺序,你可以看看其他启动项的顺序,然后把nginx放后面就行了 也没装输入法,所以退了ubuntu来xp下写这个东西. 安装中文输入法,中文字体,eva代替qq等,大家可以到网上搜搜,我用中文的话还是习惯xp的宋体,改过,还行,如果有想要的可以再联系我,我回头 把配置发一下,其实都是在网上总结各位达人的帖子,根据自己喜好修改的. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-12-01
楼主可以重新排版么?
另在Ubuntu7.10下面,用一个包 sudo apt-get install ruby-full 就可以安装所有ruby依赖包 |
|
返回顶楼 | |
发表时间:2007-12-02
真麻烦呀!
改用gentoo吧! |
|
返回顶楼 | |
发表时间:2007-12-03
lingice 写道 真麻烦呀!
无语,ubuntu linux for human being 麻烦,只是我重来没装过系统的人,看了一下别人装的过程就给ubuntu华拉我的pc怎么一点都不麻烦,记得一同学为了装jdk(在windows下)花了一天还是在有老师先讲过的前提下没装成,看见我sudo apt-get install sun-java6-jdk就开始些java程序都傻眼拉。
改用gentoo吧! |
|
返回顶楼 | |
发表时间:2007-12-03
装ruby相关还是喜欢用gem,ubuntu自带的包管理器太混乱了
|
|
返回顶楼 | |
发表时间:2007-12-03
还是自己编译的好,用安装包连选择装在什么地方的余地都没有。安装的到处都是文件,乱七八糟的。
|
|
返回顶楼 | |
发表时间:2007-12-03
不乱阿 var usr etc 各地其所。。。
|
|
返回顶楼 | |
发表时间:2007-12-03
realeric 写道 不乱阿 var usr etc 各地其所。。。
这就是我说的乱。 |
|
返回顶楼 | |
发表时间:2007-12-03
莎士比亚说过一句什么话来
对于linux1千个人有一千种要求 |
|
返回顶楼 | |
发表时间:2007-12-09
我安装过,好像没记得这么麻烦吧?
|
|
返回顶楼 | |