Какой пользователь запускает мое приложение Rails? - PullRequest
5 голосов
/ 20 ноября 2010

Я пытаюсь развернуть приложение Rails с пустыми руками, развернутое под Apache, Passenger 3.0.0 и Rails 3.0.3.Я получаю все виды странных ошибок.в основном вращается вокруг того, что, по моему мнению, связано с bundler или RAILS_ENV.

Единственное, что не относится к приложению по умолчанию, это то, что среды разработки и тестирования используют SQLite3, а производственные - MySQL.

При обращении к приложению из веб-браузера Passenger выдает ошибки, касающиеся драгоценных камней (sqlite3), которые специально (в Gemfile AND в database.yml) объявлены как НЕ производственные среды.

Как узнать, от какого пользователя сервер пытается запустить мое приложение Rails?Я хотел бы убедиться, что RAILS_ENV установлен правильно для этого пользователя, поскольку я думаю, что Пассажир по какой-то причине пытается запустить это приложение в режиме разработки.

Редактировать: добавлены результаты 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

Ответы [ 3 ]

11 голосов
/ 20 ноября 2010

По умолчанию пассажир будет запускать ваше приложение как пользователь, которому принадлежит файл config/environment.rb или config.ru, см. http://www.modrails.com/documentation/Users%20guide%20Apache.html#user_switching

Пассажир по умолчанию будет работать в среде production, если вы не укажете иначе с помощью RailsEnv, см. http://www.modrails.com/documentation/Users%20guide%20Apache.html#rails_env

3 голосов
/ 20 ноября 2010

Вы можете запустить ps aux | grep httpd, чтобы увидеть, какой пользователь запускает ваш процесс apache.

0 голосов
/ 11 марта 2018

Это то, что я использую, чтобы определить, какой пользователь должен запустить приложение rails

RAILS_USER=$(stat -c '%U' /YOUR_PATH/environment.rb) 

echo "Detected rails user: $RAILS_USER"
...