Я использую дроплет Digital Ocean для рельсов. Мне удалось успешно развернуть первое приложение, но теперь я столкнулся с проблемами при попытке развернуть второе. Я использую единорога в качестве сервера приложений и nginx в качестве веб-сервера. ОС - Ubuntu 14.04.
Я прочитал множество тем на сайтах stackexchange, также в блогах и т. Д., Но ни один из них не подходит для моей позиции. Проблема, я думаю, в структурах приложений и системных папок / файлов / конфигурации. И я очень осторожно меняю что-либо в файлах конфигурации системы.
В большинстве примеров в сети все говорят о unicorn.rb внутри rails_root/config/
, но у меня его нет. Вместо этого у меня есть unicorn.conf с таким же содержимым внутри /etc
.
Существует также файл сокета, который прослушивает первое приложение, и я попробовал два создать второе для моего второго приложения, но это не удалось.
Я знаю, что мне нужно создать еще одну конфигурацию единорога для второго приложения, а также нужно сделать что-то, что должно привести к созданию сокета для второго.
Но отсутствие знаний и понимания системного администрирования доводит меня до неприятностей.
Может ли кто-нибудь рассказать мне об этой проблеме?
При необходимости я могу предоставить больше файлов.
Файл конфигурации nginx для первого приложения (путь /etc/sites-available/first_app
).
upstream app_server {
server unix:/var/run/unicorn.sock fail_timeout=0;
}
server {
listen 80;
root /home/rails/myfirstapp/public;
server_name www.myfirstapp.com;
index index.htm index.html index.php index.asp index.aspx index.cgi index.pl index.jsp;
location / {
try_files $uri/index.html $uri.html $uri @app;
}
location ~* ^.+\.(jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|mp3|flv|mpeg|avi)$ {
try_files $uri @app;
}
location @app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://app_server;
}
}
server {
listen 80;
server_name www.myfirstapp.com;
return 301 $scheme://myfirstapp.com$request_uri;
}
второе приложение (/etc/sites-available/second_app
)
upstream app_server_2 {
server unix:/var/run/unicorn.app_two.sock fail_timeout=0;
}
server {
listen 80;
root /home/rails/secondapp/public;
server_name secondapp.com;
index index.htm index.html index.php index.asp index.aspx index.cgi index.pl index.jsp;
location / {
try_files $uri/index.html $uri.html $uri @app;
}
location ~* ^.+\.(jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|mp3|flv|mpeg|avi)$ {
try_files $uri @app;
}
location @app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://app_server_2;
}
}
server {
listen 80;
server_name secondapp.com www.secondapp.com;
return 301 $scheme://secondapp.com$request_uri;
}
(/etc/unicorn.conf
)
listen "unix:/var/run/unicorn.sock"
worker_processes 4
user "rails"
working_directory "/home/rails/myfirstapp"
pid "/var/run/unicorn.pid"
stderr_path "/var/log/unicorn/unicorn.log"
stdout_path "/var/log/unicorn/unicorn.log"