http://d.hatena.ne.jp/knaka20blue/20130406/1365273775

http://digape.com/201206/aws-rds%E3%81%A7slow-query%E3%82%92%E5%87%BA%E5%8A%9B%E3%81%99%E3%82%8B/
を合体させてやったら出来た。

# vi /opt/aws/apitools/rds/cred.txt
AWSAccessKeyId=アクセスキーID
AWSSecretKey=シークレットキー

作りーの

export AWS_RDS_HOME=/opt/aws/apitools/rds
export AWS_CREDENTIAL_FILE=/opt/aws/apitools/rds/cred.txt
export PATH=$PATH:/opt/aws/bin/
export EC2_HOME=/opt/aws/apitools/ec2
export JAVA_HOME=/usr/lib/jvm/jre
export EC2_REGION=ap-northeast-1

設定しーの

rds-create-db-parameter-group modify-params-group -d "parameter group for modify-params-group" -f MySQL5.5

グループ作りーの

rds-modify-db-parameter-group modify-params-group \
--parameters="name=slow_query_log, value=ON, method=immediate" \
--parameters="name=long_query_time, value=1, method=immediate" \
--parameters="name=min_examined_row_limit, value=10000, method=immediate"

設定変更しーの

rds-modify-db-instance my-db-instance-id --db-parameter-group-name=modify-params-group

グループ変更しーの

RDSリブートしーの

確認しーの

mysql> show global variables like 'slow_query_log';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| slow_query_log | ON |
+----------------+-------+

デキターの!!
nginx で
location ~/assets {
root path/to/assets/file
}
みたいにやるなら
config.serve_static_assets = false

location / {
http://unicorn_upstream
}
みたいに全部のリクエストをrailsに送るなら
config.serve_static_assets = true(※)

にしないとcss表示出来ないよ。っと。

※もしくはコメントアウト
carrierwaveを使ってS3に画像をアップロードしたかったのだが、登録ボタン押したあとめちゃくちゃ時間かかってて、何が原因かと思ったらregionを指定してなかったからでした。。。

参考: http://takashi178.me/2011/05/carrierwave%EF%BC%8Bamazon-s3%E3%81%AE%E8%A8%AD%E5%AE%9A/

参考ページのfog_hostは指定しなくて劇的に改善されたー! ニコニコ
deviseのモデルにカラムを追加した場合にsign_upページでfieldを追加した場合
下記のようにpermitを変更する

class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?

protected

def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:username, :email) }
end
end
環境
aws ec2
nginxの80番ポートで受けてlocalhostの8080番ポートで起動してるrailsにリバースプロキシ

ローカルではfacebookログインでログインできてたのに、サンドボックスに上げたら
{
"error": {
"message": "Invalid redirect_uri: \u6307\u5b9a\u3055\u308c\u305fURL\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u8a2d\u5b9a\u3067\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002",
"type": "OAuthException",
"code": 191
}
}
ってのが延々と繰り返されたわけで・・・
Invalid redirect_uri って書いてあるくらいだからredirect_uriがおかしいんだけど、redirect_uri=http%3A%2F%2Fdevel%2Fxxxxx・・・ とかになってて、なんでdevelになるのかなーってすごくハマりました。。。RAILS_ENV=develで動かしてるからそこからdevelがきてるのかと思ったら、結論から言うとリバースプロキシを設定しているからだったorz...
upstream devel { ってやつ。

探しても探しても localhost:3000でログイン出来ない記事しかあがってこなくて、リバースプロキシって単語も全然出てこなくて(というかそこが原因ってわかってなかったからだけど)まるまる2日かかってしまった。

以下、備忘録的に最終の設定ファイルを載せておくー。
あー疲れた。。。


/etc/nginx/conf.d/house.devel.conf
upstream devel {
server 127.0.0.1:8080 fail_timeout=4;
}

server {
listen 80;
root /var/www/house/devel/current/public;
server_name _;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass http://devel;
}
location ~ ^/assets/ {
expires 1y;
add_header Cache-Control public;

add_header ETag "";
break;
}
}

~/database.devel.yml
devel:
adapter: postgresql
encoding: utf-8
database: house_development
pool: 5
username: appman
password: xxxxxx

confing/environments/devel.rb
config.omniauth :facebook, '1234567', 'abcdefghijklmnopqrstuvwxyz', :scope => 'email'
OmniAuth.config.full_host = lambda do |env|
# http or https
scheme = env['rack.url_scheme']
local_host = env['HTTP_HOST']
forwarded_host = env['HTTP_X_FORWARDED_HOST']
forwarded_host.blank? ? "#{scheme}://#{local_host}" : "#{scheme}://#{forwarded_host}"
end