前回までの状況はこちら。
最低限必要な機能は出来上がったので、本番サーバであるVPSで稼働させます。
gitからソースファイルをクローン
git clone https://github.com/takishita2nd/diet-mng.git
パーミッション変更
chmod -R 777 storage/
chmod 777 bootstrap/cache/
.envを作成し、データベースの設定と、URLの設定を記入。
cp .env.example .env
vi .env
データベースにログインし、データベースを作成。
mysql> create database diet_mng;
composerを使ってLaravelの環境を構築
sudo apt-get install composer
composer install
.envにkyeを生成
php artisan key:generate
npmでVue.jsを使用できるようにする
sudo apt-get install npm
sudo apt-get install libpng-dev
npm install
npm run prod
データベース構築(マイグレート)
php artisan migrate
nginxの設定
URLでブログとダイエット管理を分けようと思ったのですが、上手く設定できなかったので、ポート番号で分けます。
cd /etc/nginx/sites-enabled
sudo cp default laravel
sudo vi laravel
server {
listen 8443 ssl default_server;
listen [::]:8443 ssl default_server;
ssl_certificate /etc/letsencrypt/live/taki-lab.site/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/taki-lab.site/privkey.pem;
root /var/www/html/diet-mng/public;
index index.php index.html index.htm index.nginx-debian.html;
server_name taki-lab.site;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
include fastcgi_params;
}
}
ポート番号は8443を使用しました。
ブログ用の設定では動きませんので、いろんなサイトを調べた結果、このような設定で動作できます。
rootはプロジェクトディレクトリ/publicを指定します。publicの下のindex.phpにアクセスするように指定します。
nginxの設定と読み込み
sudo systemctl reload nginx.service
何も表示されなければ書式は合っています。
エラーが出たら/var/log/nginx/error.logを確認してください。
ここまで上手くいけばトップページが表示されるはず。
トップページ書き換えるの忘れてた。
ログインしてデータ入力できることを確認する。
以下、詰まったところ
modelに以下を記入しないとデータベースクエリが動かなかった。
protected $table = 'weight_managements';
https://qiita.com/igz0/items/d14fdff610dccadb169e
テーブル名を明示的に指定しないといけないらしい。
ここらへん、ローカル環境にフィードバックさせます。
というわけで、
ダイエット管理サイト、以下からアクセスできますので、よかったら使ってみてください。
https://taki-lab.site:8443/