Nginx で Rails の assets (css, js) にアクセスできない(403 forbidden が返る)RailsnginxAWSEC2 はじめに Rails を勉強中に遭遇したトラブルを共有します。 環境はインフラは、Amazon Web Services (AWS) の EC2 をつかっており、ミドルウェアの構成は、 Nginx Unicorn Rails4 という標準的な構成です。 development では動くのに、production では動かない Rails4 のデフォルトの設定ですが、assets pipeline という仕組みがあり、development 環境だと、*.scss や *.coffee は 動的に それぞれ *.css、*.js にコンパイルされますが、production 環境だと動的にコンパイルされない設定になっています。パフォーマン
Passengerだと簡単だったけどUnicornだとちょっと手こずった。 nginx側 ディレクトリの準備 nginxのroot以下に任意の名前のサブディレクトリを作る。 これはRalisアプリケーションのpublicディレクトリのシンボリックリンクにする。 cd /var/www/root ln -s /var/www/my-app/current/public my-app (Capistranoを使っているのでこの例ではcurrentがついている) nginxの設定 nginxのupstreamとserverの設定を抜粋。 upstream unicorn-of-my-app { server www.example.com:8080; } server { listen 80; server_name www.exemple.com root /var/www/root; err
という箇所があるはずなので、ここの # gem 'unicorn' のコメント外してください。 この1行がなければ gem 'unicorn' をどこかに追加してください。 編集したら保存して Unicorn をインストールします。 $ bundle install これで Unicorn がインストールされます。 Unicorn の設定ファイルを作成 Rails アプリケーションがあるディレクトリの config ディレクトリに unicorn.rb というファイルを新規作成します。 そのファイルに以下を追加します。 worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3) timeout 15 preload_app true listen '/home/vagrant/myapp/tmp/unicorn.sock' pid '/hom
CentOS 7の必要なパッケージをインストール¶ Redmineをインストールし動かすのに必要となるCentOS 7のパッケージをインストールします。 開発ツール等¶ ~$ sudo yum groupinstall "Development Tools" : ~$ sudo yum install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel ImageMagick ImageMagick-devel : MariaDB¶ MariaDBのCentOS 7標準パッケージインストール¶ ~$ sudo yum install mariadb-server mariadb-devel : MariaDBの設定¶ MariaDBは、/etc/my.cnf から、/etc/my.cnd.d/* をインクルードす
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く