【问题标题】:Determining which user is executing my Apache app?确定哪个用户正在执行我的 Apache 应用程序?
【发布时间】:2011-10-01 10:08:45
【问题描述】:

在我使用 apache2/rails 3.0.3 的 Ubuntu 服务器上,我想知道哪个用户运行我的应用程序。

文档和网络上的许多来源都说 config/environnement.rb 的所有者是运行该应用程序的人。

如果我ps -aux|grep apache,我只能看到以www-data 为所有者的进程。没有乘客或 ruby​​ 或 rails 进程。

我如何确定哪个用户正在运行我的 rails 应用程序?

【问题讨论】:

    标签: ruby-on-rails apache2 passenger


    【解决方案1】:

    使用ps aux | grep -i passenger,或者如果没有任何结果,使用ps aux | grep -i /application/directory/

    如果它作为乘客应用程序运行,这将返回乘客进程。具体来说,您可能正在寻找Passenger ApplicationSpawner:/your/app/public/

    【讨论】:

    • 好的,但是,为什么 apache 有关于他无法读取的图像的跟踪错误?我有由带有 rwxr-w 属性的回形针生成的图像文件夹,该属性归 rails 用户所有。 apache 是否也应该与 rails 用户一起执行?
    • 我在生产环境中运行 nginx,它归 root 所有。乘客归铁路用户所有。 Paperclip 正在使用正确的权限进行编写,因为它是一个通过Passenger/Rails 运行的ruby 进程。听起来你需要寻找一些关于回形针配置的答案。
    • Sylario - 请注意passenger 进程不是您感兴趣的进程。
    • @Sylario:你的权限不好。文件夹应该是 750(如果 apache 属于文件所属的组),否则应该是 755。
    • 我希望他们是 755,750 apache 无法访问图像!
    【解决方案2】:

    看起来 rack 可能会更改您的 rails 进程的进程名称。我的显示为“机架:/path/to/app”。试试ps -ef | grep Rack

    【讨论】:

      【解决方案3】:

      改用ps aux | grep -i rails

      更新

      嘿,一大堆答案,cam 提醒我 - 如果你有一个 config.ru,那么你的应用程序将是一个机架应用程序。如果没有,那么它将是一个 Rails 应用程序。所以他的或我的都会为你工作。

      【讨论】:

      • 确实如此 - 应用程序文件夹的 grep 会更好。我会更新我的答案。
      猜你喜欢
      • 2019-04-14
      • 1970-01-01
      • 2011-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-14
      相关资源
      最近更新 更多