PDFKit を実稼働環境で動作させるために、何時間もの調査を行いました。開発ではすべてが正常に機能し、本番サーバーでは「ある程度」機能します。
- Nginx/Passengerで64ビットUbuntuサーバーを実行しています。
- --を使用して Web ルートから pdf を正常に作成できる
wkhtmltopdf google.com public/test5.pdf
ので、wkhtmltopdf がインストールされ、機能していることがわかります。 rails console
実行できる場所を使用してPDFKitを使用してPDFを正常に作成できkit = PDFKit.new('http://google.com')
ますfile = kit.to_file('public/test.pdf')
-したがって、少なくともRailsコンソールでは、PDFKitが正常に実行できることがわかります
しかし、これは実際の Web サイトでは機能しません。URL (開発モードで動作) にアクセスするとhttp://staging.myapp.com/tours/5/print_tour.pdf
、「申し訳ありませんが、問題が発生しました」というエラーが表示されます。私の旅客エラーログはこれだけを示しています:
- Rack: /home/deploy/myapp/current: No such file or directory - bundle exec which wkhtmltopdf
- しかし、
bundle exec which wkhtmltopdf
Web ルートから正常に実行できますか?
RailsコンソールのPDFKitと同様に、コマンドラインからwkhtmltopdfが正常に実行されるため、私は困惑していますが、Nginx/Passengerからページを提供すると、どういうわけか何かが壊れます。ヘルプ!:-)