Π’Π΅ΡΡΠΎΠ²Π°Ρ ΠΏΡΠΎΠ³Π° Π½Π° Π‘ΠΏΡΠΈΠ½Π³Π΅. ΠΠ»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π½Π° Π²Π΄ΡΠΊΠ°Ρ ΠΈΠ»ΠΈ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΈΠ½ΠΈΡΠ° Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²
gradle wrapper
./gradlew build
./gradlew bootRun
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ http://localhost:8080/
sudo ufw allow 8080
./gradlew build
java -jar build/libs/fizzbuzz-app-1.0.0.jar
sudo nano /etc/nginx/sites-available/fizzbuzz
Π‘Π°ΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠΈΠ³:
server {
listen 80;
server_name YOUR_SERVER_IP;
location / {
proxy_pass http://127.0.0.1:8080; # ΠΡΠΎΠΊΡΠΈ Π½Π° Π²Π°ΡΠ΅ Spring Boot ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
ΠΠΌΠ΅ΡΡΠΎ YOUR_SERVER_IP
- Π°ΠΉΠΏΠΈΡΠ½ΠΈΠΊ ΠΈΠ»ΠΈ Π΄ΠΎΠΌΠ΅Π½. ΠΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΠΌ:
sudo ln -s /etc/nginx/sites-available/fizzbuzz /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄ΠΎΠΌΠ΅Π½ ΠΈ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ΄ΡΡΠ±ΠΈΡΡ Letβs Encrypt, ΠΊΠΎΠ½ΡΠΈΠ³ Π½ΠΆΠΈΠ½ΠΊΡΠ° ΠΌΠ΅Π½ΡΠ΅ΠΌ Π½Π°:
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name yourdomain.com;
return 301 https://$host$request_uri;
}
Π‘ΡΠ°Π²ΠΈΠΌ ΡΠ΅ΡΡΠ±ΠΎΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ΄Π»Π΅Π½ΠΈΡ:
sudo apt update
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com
sudo certbot renew --dry-run