Spring Boot 서버에 설치

0verfl0w767·2026년 5월 2일

Envir: GCP CE E2 (Ubuntu_26.04) + Nginx + PM2 + Spring Boot 3.3.8 + Java 17 + Selenium Java

Java + Spring + Selenium Env.

apt install -y git curl wget unzip ca-certificates gnupg openjdk-17-jdk

wget -q -O - https://dl.google.com/linux/linux_signing_key.pub \
  | gpg --dearmor -o /usr/share/keyrings/google-linux-signing-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/google-linux-signing-keyring.gpg] http://dl.google.com/linux/chrome/deb/ stable main" \
  | tee /etc/apt/sources.list.d/google-chrome.list

apt install -y google-chrome-stable

git clone https://github.com/D2D-CAPSTONE/map-data-fetcher.git && cd map-data-fetcher

chmod +x gradlew && /gradlew clean bootJar -x test

java -jar build/libs/map-data-fetcher-0.0.1-SNAPSHOT.jar \
--server.address=0.0.0.0 \
--server.port=8080 \
--naver.map.selenium.headless=true

Nginx Env.

apt install -y nginx

tee /etc/nginx/sites-available/map-data-fetcher > /dev/null <<'EOF'
server {
    listen 80;
    server_name _;

    location / {
        proxy_pass http://127.0.0.1:8080;

        proxy_http_version 1.1;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;
        proxy_read_timeout 120s;
    }
}
EOF

rm -f /etc/nginx/sites-enabled/default

ln -sf /etc/nginx/sites-available/map-data-fetcher /etc/nginx/sites-enabled/map-data-fetcher

PM2 (Process Manager 2) Env.

apt install -y nodejs npm

npm install -g pm2

pm2 start /usr/bin/java \
  --name map-data-fetcher \
  -- -jar build/libs/map-data-fetcher-0.0.1-SNAPSHOT.jar \
  --server.address=127.0.0.1 \
  --server.port=8080 \
  --naver.map.selenium.headless=true

pm2 list

pm2 [ logs | restart | stop | delete ] map-data-fetcher

profile
개발은 힘들어.

0개의 댓글