2013-04-16 43 views
0

完整newb to rails &乘客。 我在Linux Mint上运行乘客3.0.19。我的应用程序运行良好与WEBrick(轨服务器)和独立乘客。当我尝试使用mod_passenger我得到“FATAL:对等身份验证失败,用户‘me_user’(PG ::错误)”:apache2中的乘客工程独立失败

#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> 

我应该注意:它通过命令行的数据库帐户的运作和数据库配置.yml。我见过ppl表明这是pg_hba.conf的一个问题......但如果这是我的问题,那么应用程序将无法独立运行......但它确实如此。 在此先感谢。

+0

难道你不需要在Directory标签中指定Passenger's Rails环境吗?像'RailsEnv生产' –

回答

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文件,我可以看看那些。

+0

sudo:未知用户:乘客 - 我想这是我的问题? –

+0

我的apache运行的是www-data。该命令适用于sudo -u www-data psql -h localhost -U ... –

0

的database.yml(注:测试和开发的定义完全一样的生产)

生产:

适配器:PostgreSQL的

编码:统一

数据库:MYDB

pool:5

用户名:myuser的

密码:密码

的pg_hba.conf:通过Unix域套接字

#数据库管理员登录 当地所有Postgres的同行

# “本土” 是仅适用于Unix域套接字连接

本地全部同行

#IPv4本地连接:

主机全部全部127.0.0。1/32 MD5

#IPv6本地连接:

主机的所有一切:: 1/128 MD5

感谢mikeryz!