アプリケーションを配置するディレクトリを/var/wwwの下に作成します。
sudo mkdir -p /var/www/your-app
Githubからなら
sudo git clone https://github.com/your-username/your-repo.git /var/www/your-app
アプリケーションのディレクトリに適切な権限を設定します。
sudo chown -R www-data:www-data /var/www/your-app
sudo chmod -R 755 /var/www/your-app
ディレクトリに移動し、依存関係をインストール
cd /var/www/your-app
npm install
npm run build
Next.jsアプリを起動します。通常はpm2などのプロセスマネージャーを使用してデーモン化します。
pm2をインストールしていない場合
npm install -g pm2
してるなら
pm2 start npm --name "nextjs-app(名前はなんでもOk)" -- run start
新しいNginxの設定ファイルを作成します。
sudo nano /etc/nginx/sites-available/your-app
server {
listen 80;
server_name your-domain.com; # あなたのドメインに置き換えてください。
location / {
proxy_pass http://localhost:3000; # Next.jsアプリが動作するポート
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
サイトの設定を有効化し、Nginxの設定をテストします。
sudo ln -s /etc/nginx/sites-available/your-app /etc/nginx/sites-enabled/
sudo nginx -t
設定が正しければ、Nginxを再起動します。
sudo systemctl restart nginx
Nginxで使用するポートをファイアウォールで許可します。
sudo ufw allow 'Nginx Full'
DONE!
何か変更したら
共通
cd /var/www/app-name
git pull origin main
git add .
git commit -m "message"
git pull origin main
UbuntuマシンそのままVer
pm2 list
pm2 stop <id>
npm run build
pm2 start npm --name "app-name" -- run start
マシン再起動
再起動コマンド
sudo reboot
//ufw有効化
sudo ufw enable
//Nginx Fullが解放されているか確認
sudo ufw status
//アプリディクトリに移動
cd /var/www/app_name
//セットアップ
npm run build
pm2 start npm --name "app-name" -- run start
DONE!