论坛首页 编程语言技术论坛

Lighttpd在署Rails应用时还需要权限的配置?

浏览 2893 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-12-29  
我在Lighttpd1.4.13下布署了两个Rails应用,应用是在服务器上直接用
rails app-name 产生的,然后在本地通过FTP把本地应用上传,直接覆盖服务端已有的代码.
(说明一下,我的FTP用户是通过Pam认证的虚拟用户,在服务器上对应的用户是ftpuser)
然后
chmod 755 app-name/public/dispatch.fcgi
chown -R  app-name/public/dispatch.fcgi


问题是现在如果 应用现在的属主是root:root的话,Lighttpd运行一切正常,如果是ftpuser:ftpuser就启动不了,也不报异常信息
,还有就是如果是FTP直接上传Rails应用,也是无法启动,即使是将通过FTP上传的应用属主再次改为root:root也不是,无奈下试了
试在服务器上生成Rails应用的框架,再下载到本地,然后写一些代码,再通过FTP上传,直接覆盖相应文件,就没问题,但这个前提是
已经把在服务器上生成的Rails应用的属主改为ftpuser.


这个问题怎么就有点想不通,不知道是哪里出了问题,大家一般是怎么布署应用的呢.

如果现在FTP的用户目录如下:

/var/www/html/appname   且这个目录的属主是ftpuser
在Lighttpd里的虚拟主机指向上面这个目录,应该如果去布署呢,问题是出在操作有误上还是我分配的权限不对路啊
   发表时间:2006-12-29  
在你本地windows机器上生成的默认在Unix上面跑是肯定跑不起来的。这是因为dispatch.fcgi里面的第一句话声明的ruby解析器地址不对,在windows上生成的是:
c:\ruby\bin\ruby
你部署到Unix,是肯定找不到的,当你在Linux上面生成rails应用的时候,ruby解析器的位置是:
/usr/local/bin/ruby
这样就找到了,所以才可以跑起来。

另外在你本地windows上面生成的dispatch.fcgi不带可执行权限,所以上传以后不能执行,而你在linux上面生成的dispatch.fcgi已经带可执行权限了。


文件目录属主的问题可能是你的lighttpd里面没有指明web server运行时的属主造成的。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics