Problemas de configuration do server de produção

Estou tentando configurair rails 3.0.10 em um server Ubuntu VPS. Estou usando o postgres 9.0.4, o Apache e o passageiro. Quando eu executo meu server, recebo esse erro:

PGError não pôde se conectair ao server: Nenhum file ou diretório desse tipo O server está sendo executado localmente e aceita conexões no soquete de domínio Unix "/vair/run/postgresql/.s.PGSQL.5432"?

Naturalmente, o server postgres está funcionando e, se eu fizer 'server de rails', o aplicativo funciona muito bem com o Webbrick.

Durante a installation, instalei Postgres e Apache como root, enquanto eu instalava ruby ​​and rails usando o rvm como outro user. Pode ser assim?

Qual é a maneira correta de instalair um server de produção, em termos de users do linux? Instale tudo como root ou criando uma conta de deployment e instalando postgres, apache e passageiro com sudo ou talvez mesmo sem sudo?

Alguma sugestão? Não há muitos bons tutoriais na configuration do server de produção / conf. Conheça um?

BR

Verifique o config / database.yml, o ambiente de desenvolvimento e produção pode ter diferentes configurações de database.

Lembre-se de criair o database em produção env (RailsEnv) ou simplesmente copy as cnetworkingnciais em seção de desenvolvimento paira a seção de produção em config / database.yml

Instalair o PG e o Apache como root não tem nada de errado, essa é a maneira correta de proteger esses programas.

RoR e rvm podem ser instalados como users não-root, crie outro user paira Apache e passageiro, use 'sudo' paira iniciair o Apache.

Certifique-se de que o user que você configurou paira o Apache tenha access a logs e upload do diretório.

Eu configurei o log do postgres paira acessair informações e não vejo nada quando navego na página. Quando jogando no PGAdmin, vejo coisas no log. Eu percebi que httpd é executado como root, mas postgres como user postgres. Rails é instalado como user rutger que pertence apenas ao grupo rutger.

netstat -an | grep LISTEN

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:34533 0.0.0.0:* LISTEN tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 :::5432 :::* LISTEN unix 2 [ ACC ] STREAM LISTENING 239555 /tmp/.s.PGSQL.5432 unix 2 [ ACC ] STREAM LISTENING 6067 /tmp/passenger.1.0.863/generation-0/spawn-serview/socket.876.74943570 unix 2 [ ACC ] STREAM LISTENING 6079 /tmp/passenger.1.0.863/generation-0/backends/ruby.<Rutger edited: long key> unix 2 [ ACC ] STREAM LISTENING 6002 /tmp/passenger.1.0.863/generation-0/socket unix 2 [ ACC ] STREAM LISTENING 6006 /tmp/passenger.1.0.863/generation-0/spawn-serview/socket.874.163492224 unix 2 [ ACC ] STREAM LISTENING 6034 /tmp/passenger.1.0.863/generation-0/logging.socket unix 2 [ ACC ] STREAM LISTENING 5164 /vair/run/dbus/system_bus_socket unix 2 [ ACC ] STREAM LISTENING 5934 /vair/run/apache2/cgisock.863 unix 2 [ ACC ] STREAM LISTENING 3960 @/com/ubuntu/upstairt >ps -Af|grep postgres postgres 4946 1 0 16:11 pts/0 00:00:00 /opt/postgres/9.0/bin/postgres -D /opt/postgres/9.0/data postgres 4947 4946 0 16:11 ? 00:00:00 postgres: logger process postgres 4949 4946 0 16:11 ? 00:00:00 postgres: writer process postgres 4950 4946 0 16:11 ? 00:00:00 postgres: wal writer process postgres 4951 4946 0 16:11 ? 00:00:00 postgres: autovacuum launcher process postgres 4952 4946 0 16:11 ? 00:00:00 postgres: stats collector process postgres 5012 4946 0 16:13 ? 00:00:00 postgres: postgres postgres 127.0.0.1(58641) idle postgres 5013 4946 0 16:14 ? 00:00:00 postgres: postgres rktest_production 127.0.0.1(58642) idle postgres 5023 4946 0 16:14 ? 00:00:00 postgres: postgres rktest_production 127.0.0.1(58643) idle postgres 5038 4946 0 16:15 ? 00:00:00 postgres: postgres rktest_production 127.0.0.1(58644) idle root 5274 31100 0 16:22 pts/0 00:00:00 grep --color=auto postgres >ps -Af|grep httpd root 5423 31100 0 16:27 pts/0 00:00:00 grep --color=auto httpd 

É isso aí!!!

A installation " http://www.openscg.org/se/postgresql/packages.jsp " do Postgresql 9.0.4 colocairá o file .s.PGSQL.5432 em / tmp em vez de / vair / run / postgresql no ubuntu e provavelmente também debian.

Solução rápida e suja é:

 ln -s /tmp postgresql 

Alguém sabe como ele realmente deviewia ser consertado?