2017-08-03 1 views
0

J'utilise Vagrant avec un fournisseur Virtualbox pour exécuter un projet Elixir/Phoenix mais je suis confronté à ce problème (https://www.getconvey.com/devblog/virtualbox-still-hates-sendfile/), est-il possible de désactiver sendfile dans le Web Cowboy? serveur?Bogue Sendfile avec Virtualbox, Vagrant et Cowboy

+1

Utilisez-vous directement cowboy ou phoenix ou plug statiques? La plupart d'entre eux ont un moyen de désactiver sendfile, mais vous devez être plus précis lorsque vous l'utilisez. – michalmuskala

+0

Désolé, je suis nouveau avec phoenix J'utilise 'phoenix.server' juste maintenant. – Stefan

Répondre

1

Je suis heureux de vous annoncer que je l'ai résolu ce problème dans ma propre installation, les détails ci-dessous:

Une autre option pour contourner le problème sendfile est d'utiliser NFS pour les répertoires partagés. C'est la configuration Vagrant que j'ai utilisée qui fonctionne bien:

config.vm.synced_folder "/host/path/", "/guest/path/", type: "nfs", :mount_options => ['nolock,vers=3,udp,noatime,actimeo=1'] 

Great! Un problème résolu, cependant, la fonctionnalité inotify que Phoenix utilise pour la détection de rechargement en direct ne fonctionne pas avec NFS ...

Pour résoudre ce problème, installez ce plugin errante: https://github.com/mhallin/vagrant-notify-forwarder

Après ces deux et un reload Notez également que si Cowboy obtient la possibilité de désactiver sendfile, cette solution de contournement ne sera pas nécessaire, je suppose. Le problème à résoudre est: https://github.com/ninenines/cowboy/issues/812