परिचय: Java एप्लिकेशन के लिए VPS एक आदर्श विकल्प क्यों है
वर्चुअल प्राइवेट सर्वर (VPS) पर Java एप्लिकेशन को डिप्लॉय करना उन डेवलपर्स के लिए एक स्वर्णिम मानक है जो रनटाइम वातावरण पर पूर्ण नियंत्रण चाहते हैं। शेयर्ड-होस्टिंग के विपरीत, VPS समर्पित संसाधन (CPU, RAM, डिस्क) प्रदान करता है, Java Virtual Machine (JVM) को कॉन्फ़िगर करने, कोई भी लाइब्रेरी स्थापित करने और प्रोजेक्ट की विशिष्ट आवश्यकताओं के अनुसार सर्वर को कॉन्फ़िगर करने की अनुमति देता है।
इस लेख में, हम डिप्लॉय के पूरे चक्र को कवर करेंगे: VPS तैयार करने और JDK स्थापित करने से लेकर systemd का उपयोग करके प्रोडक्शन-मोड में एप्लिकेशन लॉन्च करने तक। सभी चरणों के साथ कोड उदाहरण और Linux (Ubuntu 22.04 LTS) के लिए कमांड दिए गए हैं।
1. VPS तैयार करना और आवश्यक सॉफ़्टवेयर स्थापित करना
1.1. सर्वर से कनेक्ट करना
VPS खरीदने के बाद, आपको एक IP पता और रूट पासवर्ड मिलेगा। SSH के माध्यम से कनेक्ट करें:
ssh root@आपका_सर्वर_IPदैनिक कार्य के लिए तुरंत एक अनप्रिविलेज्ड यूज़र बनाने की अनुशंसा की जाती है:
adduser deployerusermod -aG sudo deployer1.2. Java (JDK 17 LTS) स्थापित करना
आधुनिक Java एप्लिकेशन के लिए OpenJDK 17 सबसे उपयुक्त है। निष्पादित करें:
sudo apt updatesudo apt install openjdk-17-jdk -yस्थापना की जाँच करें:
java -version# आउटपुट: openjdk version "17.0.10" 2024-01-16 LTS1.3. Git और Maven/Gradle स्थापित करना
रिपॉजिटरी से प्रोजेक्ट बिल्ड करने के लिए:
sudo apt install git maven -y# या Gradle के लिए:# sudo apt install gradle -y2. एप्लिकेशन को बिल्ड और तैयार करना
2.1. रिपॉजिटरी को क्लोन करना
मान लें कि आपका Spring Boot एप्लिकेशन GitHub पर है:
cd /optsudo git clone https://github.com/आपका_खाता/my-java-app.gitcd my-java-app2.2. JAR फ़ाइल बनाना
Maven के लिए:
mvn clean package -DskipTestsपरिणामस्वरूप, target/ में my-app-0.0.1-SNAPSHOT.jar फ़ाइल दिखाई देगी। सुनिश्चित करें कि यह चलती है:
java -jar target/my-app-0.0.1-SNAPSHOT.jar --server.port=8080कार्य की जाँच करें: ब्राउज़र में http://आपका_IP:8080 खोलें।
2.3. प्रोडक्शन के लिए JAR को ऑप्टिमाइज़ करना
प्रोडक्शन के लिए application.properties में पैरामीटर जोड़ें:
server.port=8080spring.datasource.url=jdbc:postgresql://localhost:5432/mydbspring.datasource.username=app_userspring.datasource.password=secure_passwordspring.jpa.hibernate.ddl-auto=validateकोड में वास्तविक पासवर्ड कभी न रखें — पर्यावरण चर या Vault का उपयोग करें।
3. डेटाबेस और वातावरण सेटअप करना
3.1. PostgreSQL स्थापित करना
sudo apt install postgresql postgresql-contrib -ysudo systemctl start postgresqlsudo systemctl enable postgresqlडेटाबेस और यूज़र बनाएं:
sudo -u postgres psqlCREATE DATABASE mydb;CREATE USER app_user WITH PASSWORD 'secure_password';GRANT ALL PRIVILEGES ON DATABASE mydb TO app_user;\\q3.2. पर्यावरण चर सेटअप करना
फ़ाइल /etc/environment.d/java-app.conf बनाएं:
DB_URL=jdbc:postgresql://localhost:5432/mydbDB_USER=app_userDB_PASSWORD=secure_passwordJAVA_OPTS="-Xms256m -Xmx512m"वातावरण को रीलोड करें:
source /etc/environment.d/java-app.conf4. एप्लिकेशन को systemd सेवा के रूप में चलाना
4.1. यूनिट फ़ाइल बनाना
फ़ाइल /etc/systemd/system/java-app.service बनाएं:
[Unit]Description=Java Spring Boot ApplicationAfter=network.target postgresql.service
[Service]User=deployerWorkingDirectory=/opt/my-java-appExecStart=/usr/bin/java $JAVA_OPTS -jar /opt/my-java-app/target/my-app-0.0.1-SNAPSHOT.jarSuccessExitStatus=143Restart=alwaysRest