Kilka aplikacji na jednej maszynie z nginx + passenger

Kontynuując swoją walkę z konfiguracją własnego środowiska udało się skonfigurować na Ubuntu 14.04 nginx i passenger’a, tak, że po wybraniu w przeglądarce adresu IP (http://xxx.xxx.xxx.xxx) uruchamia się aplikacja rails’owa.

Uff. :smile:

Chciałbym teraz zrobić jeszcze jeden krok naprzód i tak skonfigurować nginx’a, bym mógł uruchamiać
http://xxx.xxx.xxx.xxx/moja_app_1
http://xxx.xxx.xxx.xxx/moja_app_2

lub
http://moja_app_1.xxx.xxx.xxx.xxx
http://moja_app_2.xxx.xxx.xxx.xxx

lub … jakoś podobnie,
Jak to zrobić?

pliki
/etc/nginx/nginx.conf
/etc/nginx/sites-available/default
są skonfigurowany zgodnie z instrukcją:

czyli w
/etc/nginx/sites-available/default zahashowane:

server {
	# listen 80 default_server;
	# listen [::]:80 default_server ipv6only=on;

plik /etc/nginx/sites-available/app1 także zgodnie z przykłademi wygląda tak:

server {
  listen 80 default_server;
  server_name xxx.xxx.xxx.xxx;
  passenger_enabled on;
  passenger_app_env development;
  root /home/bsorbus/my_rails_apps/app1/public;
}

(zamiast xxx.xxx.xxx.xxx jest oczywiście wstawiony konkretny adres)

Nie powstanie problem routingu skoro aktualnie wywołujemy np:
http://xxx.xxx.xxx.xxx/company/123 a nie xxx.xxx.xxx.xxx/app1//company/123?

A może na innym porcie uruchamiać drugą aplikację?

A jakbyście to zrobili gdybyście zamiast adresu xxx.xxx.xxx.xxx używali domeny
np: newicjusz.com ? :wink: :smiley:

Czy ktoś podpowie newbie’mu :wink: jak to zrobić?

dla serwerów zewnętrznych ustawiasz CNAME oraz nazwę domeny w server_name. Jeżeli chcesz się pobawić lokalnie to dodaj:

w /etc/hosts

127.0.0.1 sub1.localhost
127.0.0.1 sub2.localhost

w nginx.conf

server {
listen 80;
server_name sub1.localhost;
..
}

server {
listen 80;
server_name sub2.localhost;
..
}

Dzięki :slight_smile: