Проблемы с настройкой производственного сервера

Я пытаюсь настроить 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 и passenger с помощью sudo или, может быть, даже без sudo?

Какие-либо предложения? Не слишком много хороших руководств по настройке / конфигурации рабочего сервера. Знаешь один?

BR

3 ответа

Проверьте ваш 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 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-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
Другие вопросы по тегам