Ruby入門 やってみた
Ruby入門をやってみたので、コードを残しておきます〜
Debian + Nginx + Virtual Host
Virtual Host
- Virtual Hostとは、1つのサーバで複数のドメインを運用する技術のことで、Webサーバ、メールサーバなどで利用される。
- IPベースバーチャルホストは、利用するドメイン名ごとにIPアドレスを用意し、1つのサーバコンピュータに複数のIPアドレスを割り当てる。
- 名前ベースバーチャルホストは、利用するドメイン名すべてに同じIPアドレスを使用し、1つのサーバコンピュータに必要なIPアドレスが1つで済む。
Debian + NginxでVirtual Host
- Freenomで独自ドメイン取得
- DNS設定 (参考: Freenomで独自ドメイン取得後のDNS設定 )
- nginxの設定ファイル作成(参考: https://blog.goo.ne.jp/moonycat/e/b09ff732b80e098dea9c627bc0b64eda)
- /etc/nginx/nginx.confに以下のコードを追加
include /etc/nginx/sites-enabled/*;
HTTPとtelnetについて
HTTP
- HTTP=ハイパーテキスト・トランスファー・プロトコル
- サーバとクライアントの間で、HTMLなどのコンテンツの送受信に用いられる通信プロトコル
- 基本的にはテキストメッセージを交換することにより実現されている
- ブラウザで Webページを開く際、ブラウザはサーバに要求メッセージを送信する。それに対してサーバは応答メッセージを返す。
メッセージ構文
1行目にリクエスト行またはレスポンス行があり、次にヘッダが数行あり、次に空行が1行あり、次にボディがある。
リクエスト行
メソッド パス名 HTTP/バージョン
レスポンス行
HTTP/バージョン ステータス番号 補足メッセージ
ヘッダ
追加情報を記載
ボディ
必要な時のみ記載
GETの例
telnet
- ネットワークを経由して他のコンピュータ(主にサーバ)に接続するときに使う
SSHではパスワード情報を含めて全てのデータが暗号化されて送信されるが、telnetの場合はパスワード情報を含め全てのデータが暗号化されずに送信される。
使用方法
$ telnet (IPアドレスorドメイン名) (ポート番号)
- 終了方法
Ctrl + ] telnet> q
- ポートはhttpは80番でhttpsは443番
- telnetでポート443に接続はできるが、通信はできない
- POSTする時はヘッダにContent-Typeの情報が必要(参考)
- ChromeでPOSTされたパラメータの中身を確認する方法
Linux コマンド
1. パーミッション(権限)について
●パーミッションの確認
$ ls -l
●パーミッションの読み方
1番左が「d」の場合 = ディレクトリ 1番左が「-」の場合 = ファイル
左(rwx) = そのファイルを所有している人の権限 真ん中(r-x) = そのファイルを所有しているグループの権限 右(r--) = その他の人の権限
r =ファイルを見る権利 w =ファイルに書き込む権利 x =ファイルを実行する権利
左側のusernameがそのファイルの所有者名 右側のusernameがそのファイルの所有グループ名
●パーミッションの変更
$ chmod u+x ファイル名[またはディレクトリ名](そのファイルを『所有ユーザー』が実行できるようにする)
所有ユーザーをu、所有グループをg、その他をoで表現する。 例えば、+rwや-rwxなどで一度に権限を変更することも出来る。 ファイルの権限を変えることが出来るのはそのファイルの所有者とrootユーザーのみ。
2. exprコマンド
シェル画面上で計算をするためのコマンド
$ expr 1 + 2 3
3. diffコマンド
2つのファイルを比べて、そのファイルに違いがあれば、違っている箇所を表示
$ diff ファイル1 ファイル2
4. lwp-requestコマンド
ウェブサーバーにリクエスト
$ lwp-request 要求先のアドレス
(libwww-perl パッケージをインストールした)
4. リダイレクト(『>』)
あるコマンドの出力結果を別のファイルに書き込む
5. nslookupコマンド
DNSサーバーに問い合わせてドメイン名からIPアドレス、または逆にIPアドレスからドメイン名を検索
$ nslookup IPアドレスまたはドメイン名
(dnsutilsをインストールした)
6. whoisコマンド
whoisコマンドはドメイン名、またはIPアドレスからドメインの情報を取得
$ whois ドメイン名またはIPアドレス
(whoisをインストールした)
7. fileコマンド
ファイル形式を確認
$ file ファイル名
8. locateコマンド
ファイル検索
# updatedb $ locate 検索キーワード
データベースからの検索なので、一般ユーザーからの使用で一般ユーザーが覗けない箇所のファイルも検索可能 (locateをインストールした)
display:noneとvisibility:hiddenの違い
display:noneは要素を削除する。
visibility:hiddenは要素を非表示にする。
例(display: none)
適用前
適用後
例(visibility: hidden)
適用前
適用後
Markdown記法
見出し
# 見出し1 ## 見出し2 ### 見出し3 #### 見出し4 ##### 見出し5 ###### 見出し6
見出し1
見出し2
見出し3
見出し4
見出し5
見出し6
段落
段落1 (空行) 段落2
段落1
段落2
改行
aaa bbb(半角スペース2つ) ccc
aaa
bbb
ccc
コード
``` print "hoge" ```
print "hoge"
テキスト装飾
これは*イタリック*です これは**ボールド**です これは***イタリック&ボールド***です これは~~打消し線~~です これは<sup>上付き</sup>です これは<sub>下付き</sub>です
これはイタリックです
これはボールドです
これはイタリック&ボールドです
これは打消し線です
これは上付きです
これは下付きです
リスト(箇条書き)
- リスト1 - リスト2 - リスト3 - リスト4
- リスト1
- リスト2
- リスト3
- リスト4
- リスト3
リスト(番号付き)
1. 番号付きリスト1 1. 番号付きリスト2 1. 番号付きリスト3
- 番号付きリスト1
- 番号付きリスト2
- 番号付きリスト3
引用
>引用
引用
水平線
--- aaa - - - - - - - - bbb _ _ _ _ _ _ _ _ ccc
aaa
bbb
ccc
リンク
[google](http://www.google.co.jp/)
画像
画像のみの場合 ![alt属性](画像ファイルパス) 外部参照する場合 ![alt属性][参照名] の後に、 [参照名]:画像ファイルパス リンク付き画像 [![alt属性](画像ファイルパス)](URL) 外部リンク付き画像 [![alt属性](画像ファイルパス)][参照名] の後に、 [参照名]:URL
![Image from Gyazo](https://i.gyazo.com/5596608a499b3366a05bc3c7a8f69c66.png)](https://gyazo.com/5596608a499b3366a05bc3c7a8f69c66)