Nginx i Unicorn konfiguracja VPS - problemy

Witam,
podążając za turotialem https://www.digitalocean.com/community/tutorials/how-to-deploy-rails-apps-using-unicorn-and-nginx-on-centos-6-5

na vps z centos 6.5 zainstalowałem RoR oraz Unicorn i Nginx.
Aplikacja startuje gdy odpale rails s i wtedy mam do niej dostep za pomoca http://mojeip:3000

Moja aplikacja znajduje sie w var/www/my_app/

config/unicorn.rb

 # stderr_path "/path/to/log/unicorn.log"
# stdout_path "/path/to/log/unicorn.log"
stderr_path "/var/www/my_app/log/unicorn.log"
stdout_path "/var/www/my_app/log/unicorn.log"

# Unicorn socket
listen "/tmp/unicorn.[app name].sock"
listen "/tmp/unicorn.myapp.sock"

# Number of processes
# worker_processes 4
worker_processes 2

# Time-out
timeout 30

Moja konfiguracja nginx
/etc/nginx/conf.d/default.conf

server_name localhost;

# Application root, as defined previously
root /var/www/my_app/public;

try_files $uri/index.html $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;
}

error_page 500 502 503 504 /500.html;
client_max_body_size 4G;
keepalive_timeout 10;
}

Odpalenie unicorn_rails w folderze aplikacji wyświetla

unicorn_rails

I, [2017-08-27T12:34:41.968878 #24435] INFO – : listening on addr=0.0.0.0:8080 fd=11
I, [2017-08-27T12:34:41.969086 #24435] INFO – : worker=0 spawning…
I, [2017-08-27T12:34:41.970029 #24435] INFO – : master process ready
I, [2017-08-27T12:34:41.971291 #24437] INFO – : worker=0 spawned pid=24437
I, [2017-08-27T12:34:41.971501 #24437] INFO – : Refreshing Gem list
I, [2017-08-27T12:34:44.042034 #24437] INFO – : worker=0 ready

Następnie odpalam

unicorn_rails -c config/unicorn.rb -D
service nginx restart

i wchodzę na http://mojeip
ale nie odpowiada gdzies pewnie jest blad ? Proszę o podpowiedź.

wygląda że unicorn czeka na requesty i Twojego zapytania z przeglądarki nie dostał

w config/unicorn.rb ustawiłeś socket :ok_hand:

ale nginx o nim nic nie wie

wstaw upstream w /etc/nginx/conf.d/default

upstream app {
    # Path to Unicorn SOCK file, as defined previously
    server unix:/tmp/unicorn.myapp.sock fail_timeout=0;
}

server {
  # Twój obecny /etc/nginx/conf.d/default.conf wklej tutaj
  # [...]
}

Pozdrawiam

p.s.
trochę dziwna ścieżka dla socketa - systemowy tmp!

p.s. p.s.

ciekaw jestem co siedzi w logach nginx :wink:

upstream app {
    # Path to Unicorn SOCK file, as defined previously
    server unix:/tmp/unicorn.myapp.sock fail_timeout=0;
}

server {


    listen 80;
    server_name localhost;

    # Application root, as defined previously
    root /var/www/my_app/public;

    try_files $uri/index.html $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;
    }

    error_page 500 502 503 504 /500.html;
    client_max_body_size 4G;
    keepalive_timeout 10;
}

Hej dzieki za odp. Wygląda na to żę nie wkleiło mi się wcześniej poprawnie.
Error log /var/log/nginx/error.log jeśli to ten to pusty plik
Myślę że coś tu nie gra ale gdzie niestety nie wiem pierwszy raz próbuje to skonfigurować.

możesz doprecyzować nie odpowiada … timeout ?

pusto w logach trochę martwi

access log tez cisza ?

  1. albo nginx nie słucha na porcie 80

  2. albo iptables blokuje

sprawdź co wogóle nasłuchuje i czy proces obsługujący 80 to nginx czy coś innego

sudo netstat -peanut | grep LISTEN

nie wiem gdzie zrzucasz logi iptables domyślnie chyba idą w kernel.log

myip took too long to respond.

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      0          1388775    27465/nginx         
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      0          28812      2310/sshd           
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      0          29098      2443/master         
tcp        0      0 :::22                       :::*                        LISTEN      0          28814      2310/sshd           
tcp        0      0 ::1:25                      :::*                        LISTEN      0          29099      2443/master

access log tez cisza.

Miałeś racje service iptables stop spowodowało że zadzaiałało czyli firewall blokuje?

iptables ?

lol mineliśmy się - tak iptables coś za ostro ustawiłeś

ten “timeout” z pustymi logami to jest bardzo wyraźna wskazówka na firewall

1 Like

To jest Aruba VPS za 4zł. Dzięki za pomoc!
Pozdrawiam

Teraz pytanie czy da się jakoś łatwo ustawić ten firewall?
Pozdrawiam

Wykorzystałem to i działa


Pozdrawiam!

trochę dokonfiguruj szczegóły priv

Pozdrawiam