sinatraをブラウザで更新したら反映されるようにする-さくらのVPS

前回sinatraで実際に文字を表示してみる-さくらのVPSでsinatraで書いた文字を実際に表示してみました。この文章を使っていきます。

前回のおさらい

myapp.rbに以下の文章を書きブラウザで「こんにちは」と表示しました。 [ruby] require 'sinatra' #TOPページ get '/' do 'こんにちは' end [/ruby] 今回は「こんにちは」の部分を「こんばんは」と変えて見たいと思います。ソースは以下のようになります。 [ruby] require 'sinatra' #TOPページ get '/' do 'こんばんは' end [/ruby] これを保存してFTPなどでアップしてください。そしてブラウザの更新を押してください。おそらく更新おしても反映されないと思います。

Apacheの再起動をしてみる

apache_logw_title 一度SSHでApacheを再起動してみたいと思います。 [c]

systemctl restart httpd

[/c] 再起動したら再度ブラウザの更新をしてください。今度は反映されると思います。

sinatraはデフォルトではブラウザ更新しても反映されない

sinatraはオートリロード機能というのがいまのままではないため、実装したいと思います。CentOS7でsinatraのインストール方法-さくらのVPSのページで既に必要なsinatra-reloaderというのがインストールされています。これを使いたいと思います。

ファイルを変更

myapp.rbファイルを変更します。 [ruby] require 'sinatra' require 'sinatra/reloader' #追加します #TOPページ get '/' do 'こんにちは' end [/ruby] 1行追加します。これをアップしますがこれだけだと意味がないのでファイル構成を少々変えます。

always_restart.txtの作成してアップロード

[c] /home/logw/sinatra/public         ├──/tmp         │  └always_restart.txt         ├──config.ru         └──myapp.rb [/c] /tmpフォルダの中にalways_restart.txtという空テキストを作成してアップロードします。これで自動更新できるようになります。