SakuraVPSでページを掲載するのにてこずった話
SakuraVPSでwebページをアップロードしてみたので、その手順とたくさん踏んだ地雷を紹介していきたいとおもいます。
SakuraVPS上でwebページをアップロードする方法
まずは、普通にwebページをアップロードする手順を示して行きます。
1、Apacheのインストール
まずは、下記のコマンドでapacheをインストールします。
yum -y install httpd
2、Apacheの設定
下記のコマンドでさくらVPSが常に自動で起動するように設定します。
chkconfig httpd on
次に、設定ファイルを編集します。
vim /etc/httpd/conf/httpd.conf
設定項目は以下の3つです。
ServerTokens OS → ServerTokens Prod
ServerSignature On → ServerSignature Off
Options Indexes FollowSymLinks → Options -Indexes FollowSymLinks
3、Apacheの起動
ここまで設定が終了したら、設定ファイルに文法エラーがないかをチェックします。
service httpd configtest
特に、これで問題なければ、Apacheを起動してみましょう。
service httpd start
4、ホームページの設定
Apacheではホームページのデフォルトの階層は var/www/htmlになっています。この下にhtmlファイルを配置するとホームページを開くことができます。
起こったエラー達
1、could not bind to address [::]:80
上記の設定どうり、行いApacheを起動してみたところこのようなエラーが起きてしまいました。
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80
原因
すでに80ポートはつかわれてるよーってものらしいです。
対処法
このポートを使っているプロセスをkillすればよい。下記のコマンドではプロセスIDを調べて、プロセスを殺しています。
usr/sbin/lsof -i | grep http
kill -9 PID
2、httpd dead but subsys locked
しかし、自分の場合、プロセスすらうごいていませんでした。謎は深まるばかりでした。ということでhttpdの状態を確認してみることに
/etc/init.d/httpd status
そうすると、次のようなエラーになりました。
httpd dead but subsys locked
原因
このエラーが起こってしまうエラーは二つあります。
対策法
1、Apacheがセマフォを使い切る
このエラーは詳細はいろいろ調べてみたのですが今一わかりませんでした。以下のサイトがわかりやすいと思うので、参照お願いします。
2、他のプロセスによって80ポートが使われている
今回の自分の原因はこっちでした。単刀直入に原因をいうと
以前、railsのアプリケーションをデプロイする際に80ポートを使用していたのが原因でした。
参考にさせてもらったサイト