Я пытаюсь настроить rails 3.0.10 на сервере Ubuntu VPS. Я использую postgres 9.0.4, Apache и пассажирский. Когда я запускаю свой сервер, я получаю эту ошибку:
PGError не может подключиться к серверу: нет такого файла или каталога. Сервер работает локально и принимает соединения через сокет домена Unix "/var/run/postgresql/.s.PGSQL.5432"?
Естественно, сервер postgres работает, и если я использую «rails server», приложение отлично работает с webbrick.
Во время установки я установил Postgres и Apache как root, а ruby и rails я установил, используя rvm как другой пользователь. Неужели это так?
Как правильно установить рабочий сервер с точки зрения пользователей Linux? Установить все как root или создать учетную запись развертывателя и установить postgres, apache и пассажира с помощью sudo или, может быть, даже без sudo?
Какие-либо предложения? Не так много хороших руководств по настройке / конфигурированию рабочего сервера. Знаешь одного?
BR
Проверьте свой config / database.yml, среда разработки и производственная среда могут иметь разные настройки БД.
Не забудьте создать базу данных в производственной среде env (RailsEnv) или просто скопируйте учетные данные из раздела разработки в производственный раздел config / database.yml.
В установке PG и Apache с правами root нет ничего плохого, это правильный способ защиты этих программ.
RoR и rvm можно установить как пользователи без полномочий root, создайте другого пользователя для Apache и пассажира, используйте sudo для запуска Apache.
Убедитесь, что у пользователя, которого вы настроили для Apache, есть доступ к журналам и каталогу загрузки.
Это оно!!!
"http://www.openscg.org/se/postgresql/packages.jsp"установка Postgresql 9.0.4 поместит файл .s.PGSQL.5432 в / tmp вместо / var / run / postgresql на ubuntu и, возможно, также на debian.
Быстрое и грязное решение:
ln -s /tmp postgresql
Кто-нибудь знает, как это действительно нужно исправить?
Я установил журнал postgres для входа в систему и ничего не вижу при просмотре страницы. Когда я играю в PGAdmin, я вижу разные записи в журнале. Я понимаю, что httpd запускается как root, но postgres как пользователь postgres. Rails устанавливается как пользователь rutger, который принадлежит только к группе rutger.
netstat -an | grep СЛУШАТЬ
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-server/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-server/socket.874.163492224
unix 2 [ ACC ] STREAM LISTENING 6034 /tmp/passenger.1.0.863/generation-0/logging.socket
unix 2 [ ACC ] STREAM LISTENING 5164 /var/run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 5934 /var/run/apache2/cgisock.863
unix 2 [ ACC ] STREAM LISTENING 3960 @/com/ubuntu/upstart
>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