or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing
xxxxxxxxxx
tags:
AWS
AWS & Nginx & Unicorn & Ruby on Rails
全体の流れ
0. サンプルアプリの作成
1. VPCの作成
2. サブネットの作成
3. インターネットゲートウェイの作成
4. ルートテーブルの作成
5. セキュリティーグループの作成
6. EC2インスタンスの作成
7. Elastic IPの作成、紐付け
8. SSH通信によるインスタンスへのログイン
9. EC2インスタンスの環境構築
10. gitとの連携、アプリのクローン
11. master.keyの登録
12. MySQLの設定
13. Nginxの設定
14. Unicornの設定
0. サンプルアプリの作成
ステップ 1:
rails new
の実行。ステップ 2:
HomesController
の作成ステップ 3:
config/routes.rb
の編集ステップ 4:
app/views/layouts/application.html.erb
の編集ステップ 5:
app/assets/application.css
の編集ステップ 6:
app/javascripts/application.js
の編集ステップ 7:
app/views/homes/top.html.erb
の編集ステップ 8:
app/assets/stylesheets/homes.scss
の編集ステップ 9:
app/assets/iamges
配下にshoe.png
を配置。ステップ 10: scaffold を使ってMVCを一気に作成
app/assets/stylesheets/scaffolds.scss
を削除ステップ 11: refile の gem を追加
ステップ 12:
app/models/product.rb
を編集ステップ 13:
app/controllers/products_controller.rb
を編集ステップ 14:
app/views/products/_form.html.erb
を編集ステップ 15:
app/views/products/index.html.erb
を編集ステップ 16:
app/views/products/show.html.erb
を編集ステップ 17: 「RuntimeError」を解消する
Refile.secret_key = 'xxxxxxxxxxx'
をconfig/initializers/application_controller_renderer.rb
に貼り付ける。ステップ 18: アプリが完成したらコミットして、GitHubにプッシュ。
GitHubのリンク(アプリ名は「ec_site」)
1. VPCの作成
2. サブネットの作成
今回はEC2インスタンスを配置するためサブネットを作成する必要がある。
3. インターネットゲートウェイの作成
アクション→VPCにアタッチを選択
4. ルートテーブルの作成
「作成したルートテーブル」を選択→「ルート」を選択→「ルートの編集」を選択
「作成したルートテーブル」を選択→「サブネット」を選択→「サブネットの関連付け」を選択
5. セキュリティグループの作成
6. EC2インスタンスの作成
ステップ 1: Amazon マシンイメージ(AMI)
「Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type」(上から2番目)を選択。
ステップ 2: インスタンスタイプの選択
「t2.micro」(無料利用枠の対象)を選択。
ステップ 3: インスタンスの詳細の設定
ステップ 4: ストレージの追加
ステップ 5: タグの追加
ステップ 6: セキュリティグループの設定
ステップ 7: キーペアのダウンロード
「新しいキーペアの作成」を選択
キーペア名は「ec_site」
ダウンロード実行。
7. Elastic IPの作成、紐付け
8. SSH通信によるインスタンスへのログイン
EC2を作成した際にダウンロードした公開鍵を
.ssh
フォルダに移動。EC2にログイン。
上記のメッセージが出力されるはず。権限の変更を行う。
上記コマンドにより
-rw-r--r--@ 1 muses staff 1704 Sep 5 01:38 ec_site.pem
が
-rw-------@ 1 muses staff 1704 Sep 5 01:38 ec_site.pem
に変更される。
chmod
コマンドに関してはこちらの記事を参照するといいと思います。もう一度ログイン実行。
上記が表示されていればログイン成功。
9. EC2インスタンスの環境構築
必要なパッケージのインストール
rbenvのインストール
rubyのインストール(バージョンは 2.6.3 )
node.js のインストール
rails のインストール(バージョンは 5.2.4 )
ローカルでBundlerのバージョンを確認
EC2内でbundlerをインストール。
10. gitとの連携、アプリのクローン
GitHubとの連携
クローン
アプリのためのディレクトリを作成する。
権限の変更。これを行わないと、GitHubからのクローンができない。
アプリをクローンするディレクトリに移動
11. master.keyの登録
ローカル環境においてマスターキーを確認。
master.key をコピーしておく。
EC2にログインしたあと
を実行し、master.key を登録。
credentials.ymlの設定
passwordの値は任意。
12. MySQLの設定
MySQLを起動させる。
パスワードの設定。(先ほど設定したpasswordを使用。)
MySQLへ接続確認。先ほど設定したパスワードを入力してmysqlに接続できればOK。
control
+d
で抜ける。config/database.yml
の編集。13. nginxの設定
「ec_site」の部分は自分のアプリの名前に変更。
権限の変更。
現在
後
14. Unicornの設定
Gemfileに以下を記述。
インストール実行。
「ec_site」の部分は自分のアプリの名前に変更。
マイグレーションの実行。
assets コンパイル実行。
というエラーが吐かれる。
EC2の再起動
Nginxの起動。
Unicornの起動
Unicornの起動の確認
デバック
Nginxのエラー
Unicornのエラー
Railsのエラー
参考