サーバーサイドの方を勉強したいのですが、そもそも、サーバー周りの知識が疎いので、そこら辺の基礎的な勉強をしたいと思っています。今までphpのWebフレームワークなどを使ってサイト構築をレンタルサーバーでしたことはあるのですが、いろんな知識が抜け落ちてる実感があります!
ローカルで開発するときはphpの場合、Macだとmampというソフトウェアをインストールして、ローカルサーバー環境を作って、そちらでプログラムを作ったりしてました。
また、python2だとsimpleHttpServerみたいな名前のモジュールクラスをインポートして使ってました。
ただ、いまいち、それらが何なのかもよく理解しておらずに使っている状態でした。
これから自分がやりたいことの一つにvpsサーバーやクラウドサーバーでサイト運営をしてみたいというのがあるのですが、どういった知識が必要となりますでしょうか?
何を学ぶ必要があるのかを細かく学習対象を教えて頂けませんでしょうか?
httpの意味、役割
サーバーの意味、役割
Webサーバーの意味、役割
CGIの意味、役割
apache/ngixの意味、役割
などなど。
どういったことを理解しておく必要があるのかを教えて頂けると助かります!
学習対象を教えて頂ければ、あとは独学しますので、どうぞお力をお貸し下さいませ。
優先順位や重要度、必須かオプションかなどのふまえて教えて頂けると嬉しいです。
みんなの回答 6 件
VPSやるならLinuxの知識も必要ですよ。
基本的にはCentOSでいいとおもうけどMac持ってるなら日頃からターミナルで操作する事になれといた方がいいと思う。あとVimとかEmacsとかのエディタ。
SSH接続でサーバーに接続して設定ファイルの編集とかは基本Viとかになると思うので。
その他に関しては質問で挙げてる項目勉強すればいいとおもう。
1個つっこみを入れるとしたらApache/NginxはWebサーバーですよ。
中古のPC買ってきてLinuxインストールするところから始めたら? 嫌でも知識が身につく。まぁでも rpm だとあんまりかな…昔はソース取って来て Makefile いじってコンパイル&インストールだったからなぁ。
今どきのVPSやクラウドは、非公開・停止状態の場合は課金されないサービスもあるので、それを利用して、OSインストールするところから始めるのが一番手軽でコストが安くて手っ取り早いね。理屈は後からついてくる部分もあるので、まずは触って慣れろってとこかな。あと、AWSだと1年無料キャンペーンも定期的にやってるよ。
ローカルマシンに、VirtualBox+Vagrantで環境作ってCentOSあたりを立ちあげてみましょう。
そこにyumコマンドでapache/PHP/MySQLをインストールしてみる。次に、それぞれのconfigファイルを設定して、ブラウザから見れる状態にする。
四苦八苦していくうちにVi(Vim)の操作も覚えられるし、AWSやVPSでの構築もある程度できるようになると思います。がんばってください。
例えば、node.jsサーバーを起動するってのは、どういう意味になるんでしょうか?アパッチとかのWEBサーバーにnodeで書いたプログラムがアップロードされてると思うのですが、その上でnode.jsサーバーを起動ってどういうことなのですか?
OSの上にWebサーバーソフトが動いている。
linuxの上にapacheやnginxやnodeが動いているということ。
ちなみに、webサーバーとは、一般的にhttp経由で公開するためのサーバーのことね。他にもsmtpサーバーとかftpサーバーとか、その種類と役割はいろいろあるよ。
関連するトピックス