什么用户正在运行我的Rails应用程序?

我正试图在Apache,Passenger 3.0.0和Rails 3.0.3下部署一个简单的Rails应用程序。 我遇到了各种奇怪的错误。 主要围绕我认为与bundler或RAILS_ENV相关的内容。

关于应用程序,只有非默认的事情是开发和测试环境使用SQLite3,生产使用MySQL。

当从Web浏览器访问应用程序时,Passenger会抛出有关gems(sqlite3)的错误,这些错误是(在Gemfile和database.yml中)声明为非生产环境的一部分。

如何判断服务器尝试运行我的Rails应用程序的用户是什么? 我想确保为该用户正确设置RAILS_ENV,因为我认为Passenger因某种原因试图在开发模式下运行此应用程序。

编辑:添加了ps aux | grep httpd结果 ps aux | grep httpd

 myserver:current elvis$ ps aux | grep httpd elvis 4424 0.4 0.0 66152 192 s000 S+ 11:03AM 0:00.00 grep httpd _www 1950 0.0 0.2 93024 2544 ?? S 11:40PM 0:01.23 /usr/sbin/httpd -D FOREGROUND root 1918 0.0 1.0 93024 10244 ?? Ss 11:39PM 0:02.75 /usr/sbin/httpd -D FOREGROUND _www 4084 0.0 0.2 93024 2536 ?? S 9:41AM 0:00.15 /usr/sbin/httpd -D FOREGROUND 

ls -l

 myserver:current elvis$ ls -l config total 48 -rw-rw-r-- 1 aaron admin 1923 Nov 19 21:40 application.rb -rw-rw-r-- 1 aaron admin 326 Nov 19 21:40 boot.rb -rw-rw-r-- 1 aaron admin 741 Nov 19 21:40 database.yml -rw-rw-r-- 1 aaron admin 1257 Nov 19 21:40 deploy.rb -rw-rw-r-- 1 aaron admin 149 Nov 19 21:40 environment.rb drwxrwxr-x 5 aaron admin 170 Nov 19 21:40 environments drwxrwxr-x 7 aaron admin 238 Nov 19 21:40 initializers drwxrwxr-x 3 aaron admin 102 Nov 19 21:40 locales -rw-rw-r-- 1 aaron admin 1808 Nov 19 21:40 routes.rb 

默认情况下,乘客将以拥有config/environment.rbconfig.ru文件的用户身份运行您的应用,请参阅http://www.modrails.com/documentation/Users%20guide%20Apache.html#user_switching

默认情况下,Passenger将在production环境中运行,除非您使用RailsEnv告知它,请参阅http://www.modrails.com/documentation/Users%20guide%20Apache.html#rails_env

你可以运行ps aux | grep httpd ps aux | grep httpd查看用户正在运行您的apache进程。

这就是我用来检测哪些用户应该运行rails应用程序

 RAILS_USER=$(stat -c '%U' /YOUR_PATH/environment.rb) echo "Detected rails user: $RAILS_USER"