Vagrantで作った仮想環境上のサーバに他の端末からアクセスする
概要
Vagrantの仮想環境上に立てたサーバに、Androidなどの端末からアクセスする
やりかた
Vagrant
Vagrantのネットワーク機能には大きく分けて3つあり、目的によって使い分ける。
参考:Vagrantのネットワーク周りのあれこれ | Septeni Engineers' Blog | セプテーニ エンジニアブログ
種類 | 概要 |
---|---|
プライベートネットワーク | ホストOSとゲストOS間でのみ通信が行える |
ポートフォワーディング | ホストOSへの特定のポートを使った接続をゲストOSに転送する |
パブリックネットワーク | 同一ネットワーク内のどの端末からでもゲストOSと通信が行える |
今回はポートフォワーディングを使ってホストOSの特定のポートへのアクセスをゲストOSへ転送する。
Vagrantfileのネットワークの設定をを以下のようにする。
config.vm.define :db1 do |db| db.vm.network :forwarded_port, guest: 80, host: 8080, :bridge => "en0: Wi-Fi (AirPort)" end
ネットワークを forwarded_port
にし、ゲストOSとホストOSのポートを指定、ネットワークインタフェースに bridge
オプションを付けて、Wi-Fiネットワークからのアクセスを可能にする。
この状態で
$ vagrant up
を実行する。
既にupされていた場合は
$ vagrant reload
を実行する。
ローカル
$ ifconfig wlan0 inetアドレス:192.168.0.2
これで、仮想環境上のサーバが動いていれば、同一のネットワークに繋いでいる端末で192.168.0.2:8080
にアクセス出来るはず。
WebStormからリモート上のファイルを編集する
概要
vagrantで作った仮想環境上のファイルをWebStormで編集する
SFTPでローカルとサーバを同期する
やり方
リモートホストの設定
- File -> Settings -> Deployment
- +を押す
- Connectionタブにリモートホストの設定を書く
- Mappingsタブにパスの設定をする
プロジェクトを作成する
- File -> New Project from Existing Files...
- Web server is on remote host, files are accessible via FTP/SFTP/FTPS
- Next
- Project nameを決定し、Deployment optionsはCustomを選択
- Next
- Exclude items by nameの項目の .git; を消去
- Upload changed files automatically to the default serverの項目を Always に
- Next
- Use existing server から、先程追加したサーバを選択
- Next
- リモートサーバのルートフォルダを選択し、左上の Project Root を押す
- Next
- Finish
これでプロジェクトが作成される
ここでサーバからファイルをダウンロードするため、時間がかかる場合がある
これで、ローカルのファイルを編集するとその変更がリモートサーバに反映される
gitによる開発
gitでバージョン管理をする場合、変更がうまく反映されないため少し面倒な事をする必要がある。
これをしないと、ローカルではdevブランチで開発をしているはずなのにリモートではmasterブランチにファイルの変更がなされてしまう、といったことが起きる。
gitによる開発の具体的な方法
何かしらgitの操作をする度に、.git ディレクトリ以下をリモートサーバにアップロードする
- 右画面のRemote Hostを表示
- ルートディレクトリの.gitディレクトリを右クリック
- Upload here を選択
最後に
これが正解だとは思っていません。もっと正しい方法があると思うので、あったら教えてください。
サイレント
サイレントお祈りキタ━━━━(゚∀゚)━━━━!!
はい、以上です。
素直になろう
みなさんは素直になれていますか?
例えば好きな人には好きと、嫌いな人には嫌いと、
ちゃんと言えますか?
相手のよくない所はっきり指摘して、
「それって良くないよ、直したほうがいいよ」
とか言えますか?
僕は言えません。とても弱い人間だからです。
傷つくのが怖いから言えないんです。
「言ったら嫌われるんじゃないか・・・」
「嫌な奴、とか思われるんじゃないか・・・」
ネガティブなことばかり考えてしまいます。
違うんです。
はっきりと言わなければならないんです。
そうでないと信用を失うのです。
はっきり言えないのは、相手が傷つくから、とか
相手に嫌な思いさせたくない、とかではないんです。
自分が傷つきたくないのです。
相手のことを思うなら、そして自分が相手から信用されたいと思うなら
ダメなところははっきり言いましょう。
これは僕自身への戒めでもあります。
素直になって、真正面から正々堂々相手と向き合って、
自分も相手も、お互いダメなところを言い合って、
いい関係を築きましょう。
それではおやすみなさい。。。
やってないと忘れる!
今日は日曜なのに研究室に行ってました。
そしてほとんどニコ生見てました_| ̄|○
あまり課題も進まなかった1日ですが、
少し教訓を得られたので紹介します。
ニコ生で英単語クイズをしていたんです。
そこで1つの問題で、「靴」を英語で書く、
というものがあったんです。
そうです、「靴」は英語で「shoes」です。当たり前です。
それで僕は何と答えたかと言うとですね、
「kutuu」
はい、終わってます。これが大学院生だとは笑わせますわ・・・。
「高校生の俺だったら楽勝だったからwww」
とか思いました。
でもそれだと意味がないんですね。過去の自分は今の自分では無いですから。
人間、一部の天才を除いては、そう長くは物事を覚えていられないです。
ヘルマン・エビングハウスによって導かれた忘却曲線というやつです。
縦軸がどれくらい覚えているか、横軸が時間です。
緑の線は定期的に復習をした場合のグラフで、赤の線は全く復習を
しなかった場合のグラフです。
この忘却曲線を見れば一目瞭然、人は復習しなければどんどん忘れていく
生き物だということがわかります。
復習しましょう!
今日得られた教訓です。
さすがに靴を応えられなかったのはまずかった・・・。
絶対に靴だけは覚えます!!!
shoes,shoes,shoes,shoes.............