昨日は、Ubuntu 起動時にアプリを自動起動する systemctl enable コマンドでエラーが出る、というところで終わった。
動いている
エラーが出ているのでてっきり自動起動に失敗しているものとばかり思っていたけど、ちゃんと enabled になっていた。
bruschetta@wplj:~$ systemctl list-unit-files | grep bruschetta bruschetta.service enabled
bruschetta@wplj:~$ systemctl status bruschetta
● bruschetta.service - Bruschetta service
Loaded: loaded (/lib/systemd/system/bruschetta.service; enabled; vendor prese
Active: active (running) since 火 2017-02-28 22:42:15 JST; 6h ago
Process: 1105 ExecStart=/etc/init.d/bruschetta start (code=exited, status=0/SU
Main PID: 1138 (uwsgi)
CGroup: /system.slice/bruschetta.service
├─1138 uwsgi bruschetta.ini
├─1569 uwsgi bruschetta.ini
└─1570 uwsgi bruschetta.ini
試しにリブートしてみても、ちゃんと自動起動していることを確認した。
うーん、ますます訳がわかんなくなってきた。が、まあいい、この件は後でゆっくり調べることにして、先に進めよう。
データベースファイルをコピー
apostrophe からデータベースファイルをコピーする。Sqlite3 なので、単にファイルを上書きコピーすればいいだけだ。
bruschetta@wplj:~/bruschetta/bruschetta$ scp bruschetta@apostrophe:bruschetta/bruschetta/bruschetta.db . bruschetta@apostrophe's password: bruschetta.db 100% 876KB 876.0KB/s 00:00
そんで、アプリを再起動。
bruschetta@wplj:~/bruschetta/bruschetta$ sudo systemctl stop bruschetta [sudo] bruschetta のパスワード: bruschetta@wplj:~/bruschetta/bruschetta$ sudo systemctl start bruschetta
service コマンドじゃなくて systemctl コマンドを使ってみた。ブラウザで確認してみると、無事データが移行されていた。
Nginxのヴァーチャルホスト
ヴァーチャルホスト bruschetta でアプリにアクセスできるようにする。これも設定ファイルを apostrophe からコピーしてくる。
bruschetta@wplj:~/bruschetta/bruschetta$ cd /etc/nginx/sites-available bruschetta@wplj:/etc/nginx/sites-available$ sudo scp bruschetta@apostrophe:/etc/nginx/sites-available/bruschetta . bruschetta@apostrophe's password: bruschetta 100% 905 0.9KB/s 00:00
コピーした設定ファイルがこれ。
upstream uwsgi-bruschetta {
server 127.0.0.1:9090;
}
server {
# port
listen 80;
# server name
server_name bruschetta;
# document root
root /home/bruschetta/bruschetta;
# index
#index index.php index.html index.htm;
# log files
access_log /var/log/nginx/bruschetta/access.log combined;
error_log /var/log/nginx/bruschetta/error.log warn;
keepalive_timeout 60;
proxy_connect_timeout 60;
proxy_read_timeout 60;
proxy_send_timeout 60;
#client_max_body_size 20M;
location / {
#root /home/bruschetta/bruschetta;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass http://uwsgi-bruschetta;
}
}
sites-enabled/bruschetta にリンクを張る。
bruschetta@wplj:/etc/nginx/sites-available$ sudo ln -s /etc/nginx/sites-available/bruschetta /etc/nginx/sites-enabled/bruschetta bruschetta@wplj:/etc/nginx/sites-available$ cd ../sites-enabled bruschetta@wplj:/etc/nginx/sites-enabled$ ls bruschetta default
ログファイル用のディレクトリを作る。
bruschetta@wplj:/etc/nginx/sites-enabled$ sudo mkdir /var/log/nginx/bruschetta
/etc/hosts ファイルを編集して1行追加。
192.168.1.6 bruschetta
そして Nginx を再起動。
bruschetta@wplj:/etc/nginx/sites-enabled$ sudo systemctl restart nginx
OK。あとは他のマシンの hosts ファイルも編集して bruschetta にアクセスできるようにするだけだ。はー、長かった。