AWS、Nginx、Unicorn、RailsでActionCableを使用する
Redisは使いません。
AWS上 /etc/nginx/conf.d/*******.conf ↓
location /cable {
proxy_pass http://app_server(upstream *****と同じやつ)/cable;
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection Upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
config/routes.rb ↓
mount ActionCable.server => '/cable'
config/cable.yml ↓
production:
adapter: async
config/environments/production.rb ↓
以下追加
ActionCable.server.config.disable_request_forgery_protection = true
config.action_cable.url = 'ws://***ドメインor IP***/cable'
config.action_cable.allowed_request_origins = [ 'http://***ドメインor IP***' ]
たれみみ
@taremimi_7
ぼくの.vimrc
vimの表示設定忘れそうなのでメモしときます。
ちなみにデーマはmolokaiです。 git clone して .vim/colors/にいれといてください。
ファイル .vimrc↓
set modelines=0 " CVE-2007-2438
set modelines=0 " CVE-2007-2438
set nocompatible " Use Vim defaults instead of 100% vi compatibility
set backspace=2 " more powerful backspacing
au BufWrite /private/tmp/crontab.* set nowritebackup
au BufWrite /private/etc/pw.* set nowritebackup
colorscheme molokaisyntax on
set showcmd
set cindentset encoding=utf-8
set fileencoding=utf-8
set fileencodings=utf-8,euc-jp,sjis,cp932,iso-2022-jp
set fileformats=unix,dos,mac
set ruler
set nocompatible
" 画面表示の設定
set number " 行番号を表示する
set cursorline " カーソル行の背景色を変える
set cursorcolumn " カーソル位置のカラムの背景色を変える
set laststatus=2 " ステータス行を常に表示
set showmatch " 対応する括弧を強調表示" 不可視文字の表示記号指定
" カーソル移動関連の設定
set backspace=indent,eol,start " Backspaceキーの影響範囲に制限を設けない
set whichwrap=b,s,h,l,<,>,[,] " 行頭行末の左右移動で行をまたぐ
set scrolloff=8 " 上下8行の視界を確保
set sidescrolloff=16 " 左右スクロール時の視界を確保
set sidescroll=1 " 左右スクロールは一文字づつ行う
" ファイル処理関連の設定
set confirm " 保存されていないファイルがあるときは終了前に保存確認
set hidden " 保存されていないファイルがあるときでも別のファイルを開くことが出来る
set autoread "外部でファイルに変更がされた場合は読みなおす
set nobackup " ファイル保存時にバックアップファイルを作らない
set noswapfile " ファイル編集中にスワップファイルを作らない
" 検索/置換の設定
" ESCを二回押すことでハイライトを消す
nmap <silent> <Esc><Esc> :nohlsearch<CR>
set hlsearch " 検索文字列をハイライトする
set incsearch " インクリメンタルサーチを行う
set ignorecase " 大文字と小文字を区別しない
set smartcase " 大文字と小文字が混在した言葉で検索を行った場合に限り、大文字と小文字を区別する
set wrapscan " 最後尾まで検索を終えたら次の検索で先頭に移る
set gdefault " 置換の時 g オプションをデフォルトで有効にする
" タブ/インデントの設定
set expandtab " タブ入力を複数の空白入力に置き換える
set tabstop=2 " 画面上でタブ文字が占める幅
set shiftwidth=2 " 自動インデントでずれる幅
set softtabstop=2 " 連続した空白に対してタブキーやバックスペースキーでカーソルが動く幅
set autoindent " 改行時に前の行のインデントを継続する
set smartindent " 改行時に入力された行の末尾に合わせて次の行のインデントを増減する
" 動作環境との統合関連の設定
" OSのクリップボードをレジスタ指定無しで Yank, Put 出来るようにする
set clipboard=unnamed,unnamedplus" マウスの入力を受け付ける
set mouse=r
" Windows でもパスの区切り文字を / にする
set shellslash
" コマンドラインの設定
" コマンドラインモードでTABキーによるファイル名補完を有効にする
set wildmenu wildmode=list:longest,full" コマンドラインの履歴を10000件保存する
" ビープの設定
"ビープ音すべてを無効にする
set visualbell t_vb=set noerrorbells "エラーメッセージの表示時にビープを鳴らさない
たれみみ
@taremimi_7
AWSリセット手順
リセット手順
ps -ef | grep unicorn | grep -v grep
→
kill -9 **pid***
→
unicorn_rails -c /var/www/rails/*****/config/unicorn.conf.rb -D -E production →
sudo nginx -s reload
bundle exec rake assets:precompile RAILS_ENV=production
コンソール
データリセット
RAILS_ENV=production DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rake db:migrate:reset
RailsのMySQL移行でエラー
4日、日本語はもちろんものこと英語でも調べ尽くした。
mysqlの入れ直しも何度もやった。
にっちもさっちもいかなくなった。
結局
homebrew入れ直したら動いた。あっぱれ。
bundle install, mysql.server start のみで動きます
Rails使ってる場合、mysql -uroot -pとか不必要でした。
それと、これ。
vim /etc/my.cnf
[client]
socket=/tmp/mysql.sock
[mysqld]
socket=/tmp/mysql.sock
ついでに、うまく動いた後にMySQL自動ログインも追加しといた方がいいかも。
誰かの参考になれば嬉しいです。
たれみみ
@taremimi_7
Railsでsqlite3からMySQLへの変更でつまったとこ
これまでデータベースはデフォルトのsqlite3を使ってましたが、
ローンチが見えてき(難しくて避けてきたMySQLへの移行が避けきれなくなった)たので、MySQLへ切り替えでハマった際に参考になったサイト、コマンドをまとめていきます。
kill -9 **プロセス番号**
【mysql】止まらないプロセスを切る「mysqld_safe A mysqld process already exists」 | 武骨日記
MySQL 5.7.6でroot用パスワードが変わらなくて困った話 - Qiita
mysql.server restart
sudo chown _mysql /usr/local/var/mysql/*
sudo tail -f /usr/local/var/mysql/****.local.err
bundle install --path vendor/bundle
vim /etc/my.cnf で
[client]
socket=/tmp/mysql.sock
[mysqld]
socket=/tmp/mysql.sock
それでもぼくのPCはにっちもさっちもいかなくて
結局、homebrewごとアンインスコしてrubyやらmysqlやら入れ直しましたらうまくうごきました。