2017-12-25 13 views
0

UnixソケットでNginx + Rails + Pumaを設定しようとしていますが、私のasestsには対応できませんでした。私は誰かが欠けているものを指摘できる場合、私は感謝する次の構成を持っています。私のNginx設定。 production.rbNginxとPuma Railsで静的ファイルを提供する

config.public_file_server.enabled = false 
    config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' 

puma.rbで

upstream my_app { 
    server unix:///var/run/my_app.sock; 
} 

server { 
    listen 8080; 
    server_name _; 
    root /var/www/plantmonitorweb/public; # app location 

    location/{ 
    proxy_pass http://my_app; 
    proxy_set_header Host $host; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 

    # this one is from Rails guides 
    location ~ ^/assets/ { 
    expires 1y; 
    add_header Cache-Control public; 

    add_header ETag ""; 
    } 
} 

は変更されません。私は次のコマンドでpumaサーバーを実行しています。

puma -e production -b unix:///var/run/my_app.sock 

私はプーマが、nginxのは私のサーバーに当たっているようだ細かい動作しますが、私はchoromeコンソールを開いたときに、私は

GET http://192.168.1.35:8080/pack/app.js 

私は、このファイルをチェックし、以下を参照してください(ラズベリーパイは具体的には)リモートマシンでそれらを実行します公共/パックの下にあり、そこにあります。

マイnginxの構成(/etc/nginx/conf.d/*.confを含む)Nginx.confの内部に含まれている/etc/nginx/conf.d/にあるレール5に

答えて

0

、反応jsファイルはpublic/pack/の下で提供されます。そのため、これらの場所を静的にもアセットフォルダにも追加する必要があります。だから私のnginxの設定に次の場所を追加しました。

location ~ ^/(assets|packs)/ { 
    gzip_static on; 
    expires 1y; 

    add_header Cache-Control public; 
    add_header Last-Modified ""; 
    add_header ETag ""; 
    } 
関連する問題