Helo, kali ini ane mau sharing tentang pengalaman deployment Java SpringBoot ke virtual machine / biasa kalian mengunakan server seperti digital ocean dll.
Sebelum itu pastikan hal ini sudah tersiapkan dengan baik yaa..
- Pastikan project kalian sudah running baik dilocal
- Bundle menjadi sebuah package Jar yang nanti ditaruh di server.
- File Config Application.Properties sudah sesuai dengan configurasi server anda.
- Configurasi server sudah sama seperti dilokal seperti Java version/Mvn version.
Langsung aja pertama remote ssh ke server.
Masukan perintah ssh untuk remote server sebagai berikut
ssh -p 22 -i ~/.ssh/id_rsa namauser@ipanda
~/.ssh/ merupakan directory dari kalian menempatkan sshkey yang sudah digenerate
-p 22 adalah port number remote ssh
Jika berhasil terhubung akan masuk ke terminal server
Setelah itu masuk ke directory yang kamu pilih untuk menyimpan file Jar hasil generate kalian
Sebagai contoh saya mengupload file program.Jar saya ke path /home/var/ww
Buka terminal baru lalu masukan perintah
sftp -P 22 -i ~/.ssh/id_rsa adiabdurrakh@35.209.242.226
Setelah berhasil masuk akan terlihat Sftp>
Masukan perintah upload seperti berikut
PUT C:\Users\HP\Desktop\Spring\out\artifacts\demo_jar\demo.jar \var\www\build.jar
Penjelasan PUT dirLocalAnda.jar dirTujuanAnda.Jar
Setelah upload berhasil file Jar akan berada directory \var\www\build.ar
lalu bagaimana cara running nya apakah seperti dilokal java -jar build.jar ? Yup ! tepat sekali tetapi server akan meruning apliskasi springBoot tetapi akan berhenti ketika kalian keluar dari terminal atau prosesnya di cancel.
Solusinya ada ko. yang pertama kita lakukan yaitu konfigurasi reverse proxy nginx yang perlu dipersiapkan dan ditaruh ke folder /etc/nginx/sites-enabled
Reverse proxy berguna untuk menredirect app kalian ke IP root yang nantinya tidak sudah memakai PORT lagi.
Buat file berformat .conf lalu masukan ke dalam sever /etc/nginx/sites-enabled
server {
listen 80;
server_name IP SERVER ANDA;
location / {
proxy_pass http://localhost:8080/;\
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\
proxy_set_header X-Forwarded-Proto $scheme
proxy_set_header X-Forwarded-For $server_port
proxy_set_header Host $host
proxy_redirect off
}
}
disini saya membari nama demo.conf
Setelah buat lalu lakukan kembali perintah upload sebelumnya
PUT C:\Users\HP\Desktop\Spring\out\artifacts\demo_jar\demo.conf /etc\nginx/sites-enabled/demo.conf
Jika sukses melakukan upload lakukan perintah berikut di remote ssh server
sudo nginx -t
sudo systemctl reload nginx
1 File config lagi untuk me running SpringBoot Apps secara otomatis
Buat file berformat nama.service lalu masukan ke dalam server etc/systemd/system/
[Unit]
Description=Aplikasi Demo
After=syslog.target
[Service]
User=adiabdurrakh
WorkingDirectory=/home/var/www/
ExecStart=java -jar /home/var/www/build.jar
SuccessExitStatus=143
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
disini saya memberi nama demo.service
Dan akhirnya file jar kalian siap dijalankan secara otomatis, cukup lakukan perintah berikut diterminal ssh pada file demo.service :
$ sudo systemctl daemon-reload
$ sudo systemctl stop <nama berkas systemd>
$ sudo systemctl start <nama berkas systemd>
Sekarang anda bisa akses aplikasi spring kalian di ip.anda./
$ sudo systemctl status<nama berkas systemd>
Yap ! aplikasi SpringBoot kalian sudah running secara public .
NOTES : Jangan ganti file JAR kalian kalau belum stop service pada file systemd/
karena akan berakibat Server Error atau bahkan harus sampai hard Reset VM
Best Betting Sites That Make Money From Online Sports
BalasHapusIn short, online sportsbooks are one of infiniti pro rainbow titanium flat iron the best betting sites to titanium oxide earn money งานออนไลน์ by. black titanium wedding band titanium bar stock It's a huge bonus and a huge deposit bonus.
Click to see the code!
To insert emoticon you must added at least one space before the code.