0

完整的铁路和乘客新手。我在 Linux Mint 上运行乘客 3.0.19。我的应用程序与 WEBrick(rails 服务器)和独立乘客一起运行良好。当我尝试使用 mod_passenger 时,我得到“致命:用户“me_user”的对等身份验证失败(PG::Error)”:

#Phusion Passenger config info
LoadModule passenger_module /var/lib/gems/1.9.1/gems/passenger-3.0.19/ext/apache2/mod_passenger.so
PassengerRoot /var/lib/gems/1.9.1/gems/passenger-3.0.19
PassengerRuby /usr/bin/ruby1.9.1

#Suppose you have a Rails application in /somewhere. Add a virtual host to your
#Apache configuration file and set its DocumentRoot to /somewhere/public:

<VirtualHost *:80>
  ServerName localhost
  # !!! Be sure to point DocumentRoot to 'public'!
  DocumentRoot /var/www/myapp/public
  <Directory /var/www/myapp/public>
     # This relaxes Apache security settings.
     AllowOverride all
     # MultiViews must be turned off.
     Options -MultiViews
  </Directory>
</VirtualHost>

我应该注意:db 帐户通过命令行工作,并在 database.yml 中配置。我已经看到 ppl 表明这是 pg_hba.conf 的问题......但如果这是我的问题,那么应用程序也无法独立运行......但它确实如此。提前致谢。

4

2 回答 2

0

在没有看到您的 pg_hba.conf 的情况下,我可以从我自己让 Postgres 与 mod_rails 正常工作的有趣经历中猜测。确保你有:

host: localhost

在你的 database.yml 中。这将影响 Rails 尝试连接数据库的方式。

此外,请确保在使用 psql 客户端进行测试时,您能够在模拟运行 mod_rails 的用户时这样做。例如,如果此用户名为“乘客”:

sudo -u passenger psql -h localhost -U <db_user> -d <db name>

如果这不起作用,请发布适当编辑的 database.yml 和 pg_hba.conf,我可以看看这些。

于 2013-04-16T19:53:37.370 回答
0

database.yml(注意:测试和开发的定义与生产完全相同)

生产:

适配器:postgresql

编码:unicode

数据库:mydb

游泳池:5

用户名:myuser

密码:pwd

pg_hba.conf:

# 通过 Unix 域套接字本地所有 postgres 对等方进行数据库管理登录

# "local" 仅适用于 Unix 域套接字连接

本地所有所有对等

# IPv4 本地连接:

托管所有 127.0.0.1/32 md5

# IPv6 本地连接:

托管所有::1/128 md5

谢谢麦克里兹!

于 2013-05-15T20:54:52.420 回答