最近Raspberry Piに関して何本か記事を書いたので INDEX.
これを読めばRaspberry Piマスター!w
最近Raspberry Piに関して何本か記事を書いたので INDEX.
これを読めばRaspberry Piマスター!w
Raspberry PiはストレージがSDカードなので、読み書きを大量にしているとちょっと寿命的に気になる。
そのため無駄な読み書きをなくすためにswapを無効化したほうが良さそう!
(実際にRaspberry PiでKubernetesクラスタを作る手順とかでもswapは無効化してる)
以下のコマンドでswap状況を見てみる
free -h
表示はこんな感じ
total used free shared buff/cache available Mem: 927M 95M 210M 37M 621M 730M Swap: 99M 3.5M 96M
100MBぐらいのswap領域を確保しているようだ。
以下のコマンドで不要なパッケージ及び領域を削除する
sudo swapoff --all sudo apt-get purge -y --auto-remove dphys-swapfile sudo rm -fr /var/swap
free -h
表示はこんな感じ
total used free shared buff/cache available Mem: 927M 95M 91M 40M 740M 727M Swap: 0B 0B 0B
バッチリ!
swap領域がなくなったのでこれでok.
Raspberry Pi上でなにか処理をするとまーまー時間がかかります。
特にDockerのBuildとか待ってるのしんどいですよね。もうすぐ帰ろうというタイミングでうっかり実行すると悲しくなります。
そんな時にtmuxがインストールされていればデタッチすればSSH接続が切れてもOK。そんなわけでインストールしましょう。
sudo apt-get -y install tmux
tmux
なんかかっこいいバーが下段に出てきたら成功。
デフォルトのコントロールキーが Control + b
なので、
Control + b (を押したあとに) d
これでtmuxセッションが生きたままデタッチができる
先程のセッションにアタッチするので
tmux attach
これでまたさっきのカッコイバーが出ている画面に戻る。
長い時間が必要なバッチを実行する場合などは、 tmux
を起動した状態でスクリプトを実行し、
detachすることで端末とのSSHが切れてもバッチが止まることがないので便利。
先程のコントロールキーのバインドなどを任意に変更ができる。
この記事では詳しくは書きません
MacもRaspberry Piもバージョンは 18.06.1-ce
で同じものを使っていたのですが、Mac側では--squashを利用できたものの、Raspberry Pi側では利用できなかったので有効化したい。
(おそらくMacはDocker on MacのEdgeを利用していたので有効化されていたのでは?)
experimentalな機能を有効化するには /lib/systemd/system/docker.service
内の以下の場所を修正する必要がある。
sudo vi /lib/systemd/system/docker.service
ExecStart の行を以下のように変更する
ExecStart=/usr/bin/dockerd -H fd:// -s overlay --experimental
(overlayもついでに追加した)
設定を有効化するにはDockerを再起動する必要がある
sudo systemctl daemon-reload sudo systemctl restart docker
これで --squash
コマンドも利用できるようになります。
もちろん、Raspberry PiでもDocker使いたいっしょ!w
curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh
sudo groupadd docker
もしかするとすでにあるかも
sudo gpasswd -a $USER docker
そのままだと docker
コマンド叩いてもうまくいかないかも
docker ps
エラーが表示されずにコマンドの応答が返ってくればOK!
やはりサーバを立てたからには、なにかアクセスして使いたい!
というわけでnginxでもインストールしましょう。
sudo apt-get -y install nginx
多分この時点でnginxが起動しているはず。
起動していない場合には
sudo systemctl start nginx
を実行すれば良い
ブラウザから
http://{ホスト名}.local
へアクセスしてみる。
nginxのwelcome画面が出れば成功。
サンプルで表示されるindexのファイルは以下にある
/var/www/html/index.nginx-debian.html
index.htmlページを書き換えてみる
sudo echo "<h1>ラズパイサーバです</h1>" > /var/www/html/index.html
ブラウザでアクセスすると書き換えたファイルが見れるようになります。
Proxyする元がまだないが、Proxy設定を入れてみる(goでサーバ書いたときなどに使える)
設定ファイルを開く
sudo vi /etc/nginx/sites-available/default
location / {…} の下に以下のように記述する
location /hoge/ { proxy_pass http://locahost:8000; rewrite /hoge/(.*) $1 last; }
まだアクセスしても何も見えないけどね。