回上一頁

Nginx與Ruby on Rails運作原理

Nginx本身是個web server,用來啟動網頁在sever上,顯示到網際網路的一個工具。

 

如何讓Ruby on Rails專案透過Nginx顯示在網際網路上,

則是透過Rails中的puma,與nginx連結之後,

指向到專案在server裡面的目錄,將其顯示出來。

觀念:Nginx本身跟Ruby on Rails沒有關係,啟動Rails的是puma,所以在這裡是讓Nginx與puma連結去顯示在畫面上而已。

 

  
upstream puma {
    server unix:///home/deploy/project_name/shared/tmp/sockets/puma.sock;
}

server {
    listen 80;
    server_name {dns};
    root /home/deploy/project_name/current/public;

    try_files $uri/index.html $uri @puma_renew_code;
    location @puma {
        proxy_pass http://puma;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
    }
	
		# 這個資料夾可自定義放哪裡都可
    error_log  /home/deploy/logs/puma_error.log;
}