vkill'blog

“技术本身没有太多价值,掌握了新的思考方式才是真的收获”

更改 passenget 的运行用户身份

22:19 , vkill
环境: archlinux、nginx0.8.31、passenger2.2.2、rails2.3.4,rails部署采用nginx+passenger

关于 passenger 到底是以那个用户身份运行的,下面这段给了明确的定义
Quotation

passenger是根据config/environment.rb这个文件的owner来决定采用哪个用户来运行。如果 config/environment.rb的主人是www,那么就已www运行。
但是passenger永远也不会以root身份运行,如果它发现 config/environment.rb的主人是root,就会用PassengerDefaultUser的值来替代。


那么如何更改 passenget  的运行用户身份哪?可以看下面的官方文档
http://www.modrails.com/documentation/Users%20guide%20Nginx.html#PassengerDefaultUser

好了,下面说说 nginx+passenger 部署下如何更改 PassengerDefaultUser 的值

#在http段中修改,修改默认用户为www用户
http{
  ...
  passenger_root /usr/src/nginx-0.8.31/passenger;
  passenger_ruby /usr/bin/ruby;
  passenger_default_user www;  
  server {
    listen 81;
    server_name localhost;
    root /srv/http/railsapp/paperclip/public;
    passenger_enabled on;
    rails_env development;
  }
  ...
}


后记:当采用 nginx+passenger 部署rails时,比如说上传文件时,可能就会用到文件权限问题,知道 passenget  的运行用户身份就很重要了。
Last modified by vkill on2011/02/20 23:36
类别:ruby & rails | Tags: , , , | 0 条评论, 927 次阅读
网友评论(0):
发表评论:

Nickname: 
Email:
Site URI: