“エンジニアの困った”をメモるブログ

teckmemo

その他

Nginxで画像がアップロードできなくなった

更新日:

先日、Ruby on RailsのサーバをApacheからNginx(エンジンエックス)に変更しました。すると...
画像がアップロード出来なくなった、、?原因は、実行ユーザを変更したことに関係していました。

スポンサーリンク

Nginxの実行ユーザを変更する

Nginxの実行ユーザを初期のnginxから、一般ユーザcentに変更してみます。
設定ファイルを以下のように変更します。

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user cent;
worker_processes 3;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

と、良くある手順書に載っているのはここまでなのですが、
これだと、CentOS7 + Rails + Unicornの環境で、画像のアップロードが出来ませんでした。

そして、他の機能は動くので気づくのに遅れ、、
なかなか、Nginxの実行ユーザ変更が原因だと分かるのに時間がかかってしまいました。

結果、解決したのは、以下の方法です。

/var/lib/nginxの所有者を変更する

この記事が参考になりました。

/var/lib/nginxも、所有者をcentに変更しないといけないのですね。。
確かに、Nginxのログにも何やらエラーが出ていました。

# chown -R cent /var/lib/nginx
# systemctl restart nginx

これで動くようになって、めでたしめでたし。

やっぱり、Railsの環境構築はApacheのほうが簡単..な印象ですね!

-その他
-, , ,

Copyright© teckmemo , 2019 All Rights Reserved.