AWS EC2 ला Domain Name कसं connect करायचं
आत्तापर्यंत आपल्या websites http://PUBLIC_IP/ वर उघडत होत्या. खऱ्या websites नावाने उघडतात, जसं instagram.com. या chapter मध्ये नावं का महत्त्वाची, DNS नावाचा IP address कसा करतो, domain कुठून आणि कसं safe पद्धतीने घ्यायचं, आणि A record ने ते EC2 server कडे कसं point करायचं ते शिकू. मग एकाच server वर अनेक websites host करू: प्रत्येकाला स्वतःचा subdomain, एक CNAME record आणि एक Nginx server block.
या class मध्ये काय शिकणार
- Websites ना domain names का लागतात, आणि नुसत्या IP address चा problem
- DNS नावाचा IP address कसा करतो
- Registrars, चांगलं नाव निवडणं, registration term आणि cart
- Owner, admin, technical आणि billing details, आणि domain वर आपला control ठेवणं
- A record (
@ते तुमचा EC2 public IP) add करून site नावाने उघडणं - Stop आणि start केल्यावर A record का तुटतो, DNS changes ला किती वेळ लागतो, आणि त्यावर उपाय
- Virtual hosting: एका server वर अनेक websites
- TLD, domain आणि subdomain, आणि subdomains साठी CNAME records
- Templates download करणं, spaces असलेल्या folders ना rename करणं, प्रत्येक subdomain साठी एक Nginx server block
- Domain मध्ये capital letters ने फरक का पडत नाही, पण path मध्ये पडू शकतो
1. का: IP addresses कोणाच्याच लक्षात राहत नाहीत
का. आपला server एका IP address वर उत्तर देतो. समजा आपण Instagram आहोत: लोक app ची website उघडायला प्रत्येक वेळी आकड्यांची लांबलचक माळ type करतील का? नाही. ते instagram.com type करतात. नाव लक्षात ठेवायला, बोलून सांगायला आणि visiting card वर छापायला सोपं असतं.
नुसत्या IP चे अजून दोन problems:
- एक IP एकच default site दाखवतो. फक्त IP असेल तर visitor ला तुमची कुठली website पाहिजे ते Nginx ला कळत नाही.
- IP बदलू शकतो. Server ला नवीन IP मिळाला की जुना IP वापरणाऱ्या सगळ्या links आणि bookmarks तुटतात.
Figure 1. नुसता IP लक्षात ठेवायला अवघड, एकच default site दाखवतो आणि बदलू शकतो. नाव सोपं, अनेक नावं एका server कडे point करू शकतात, आणि IP बदलला तर एक record update करायचा.
Classroom line
Every one of us will need to buy a domain name.
Class मधलं वाक्य
"Saglyanni domain name purchase karavach lagel aplyala."
सगळ्यांनी domain name purchase करावाच लागेल आपल्याला.
Classroom line
Every one of us will need to buy a domain name.
2. काय: DNS नावाचा IP करतो
काय. Computers नावांनी नाही, IP addresses ने connect होतात. DNS (Domain Name System) म्हणजे internet ची phone book: "या नावाचा IP address काय?" या प्रश्नाचं उत्तर देते.
कसं चालतं, step by step:
- तुम्ही browser मध्ये
example.comtype करता. Browser कडे नाव आहे, पण त्याला IP पाहिजे. - तुमचा computer DNS resolver ला विचारतो (बहुतेक तुमच्या internet provider चा, किंवा एखादा public): "
example.comचा IP काय?" - Resolver त्या domain चे DNS records शोधतो आणि उत्तर मिळतं, उदा.
PUBLIC_IP. - Browser request
PUBLIC_IPवर port 80 ला पाठवतो, आणि तुमच्या EC2 server वरचा Nginx उत्तर देतो.
Figure 2. Animation: नाव DNS resolver कडे जातं, domain च्या records मधून IP मिळतो, आणि browser त्या IP ला connect होतो.
Example 1. समजा आपण Instagram आहोत. तुम्ही instagram.com type केलं की steps 1 ते 4 एका सेकंदाच्या छोट्या भागात होतात, आणि तुम्हाला IP दिसतसुद्धा नाही. हाच तर मुद्दा आहे.
Try करा. तुमच्या स्वतःच्या computer वर चालवा:
nslookup example.com
उत्तरातली Address: line म्हणजे ते नाव ज्या IP कडे point करतं तो IP.
3. Domain कुठून घ्यायचं: registrars
काय. Domain names विकणारी आणि manage करणारी company म्हणजे registrar. नेहमीचे:
- GoDaddy
- Hostinger
- Amazon Route 53 (AWS मध्येच)
- आणि अजून बरेच
या chapter मध्ये आपण GoDaddy च्या screens वापरतो, पण प्रत्येक registrar मध्ये कल्पना त्याच: search, cart, आणि DNS records manage करायचं page.
4. चांगलं नाव कसं निवडायचं
का महत्त्वाचं. नाव हा वर्षानुवर्षं तुमचा पत्ता असतो. नंतर बदललं तर नवीन visiting cards, नवीन links आणि गमावलेले visitors.
चांगल्या नावांचे दोन प्रकार:
- Business चा keyword. समजा आपण shopping site बनवतोय: नावात
cartकिंवाshopसारखा शब्द असला की लोकांना कळतं तुम्ही काय करता. - Unique brand word. समजा आपण Google किंवा TikTok आहोत: त्या शब्दांना आधी काहीच अर्थ नव्हता; brand ने त्यांना अर्थ दिला. Unique शब्द सगळीकडे आपल्या नावावर घेणं सोपं.
Tips:
- छोटं, spelling सोपं, phone वर सांगायला सोपं.
- Audience कमी करणारे शब्द टाळा, उदा. एकाच धर्माशी किंवा एकाच देशाशी जोडलेला शब्द, जर सगळेच customers हवे असतील तर.
- तुमच्या visitors ना सोयीचा शेवट (
.com,.inवगैरे) निवडा. Practice साठी कुठलाही स्वस्त शेवट चालतो.
नाव आधीच घेतलेलं असेल तर. समजा आपल्याला instagram.com पाहिजे. ते घेतलेलं आहे, आणि search मध्ये available नाही असं दिसतं.
- काही registrars broker service देतात: ते fee घेऊन owner शी तुमच्या वतीने बोलतात. तरीही owner नाही म्हणू शकतो.
- काही लोक, ज्यांना domain investors म्हणतात, आकर्षक नावं आधीच घेऊन ठेवतात आणि नंतर विकतात. म्हणूनच बरीच चांगली छोटी नावं आधीच गेलेली असतात.
- बहुतेक वेळा सोपा मार्ग म्हणजे दुसरं नाव, किंवा दुसरा शेवट.
5. Registration: किती काळ, आणि cart मध्ये काय check करायचं
काय. Domain कायमचं विकत घेत नाही. ते 1 ते 10 वर्षांच्या term साठी register करायचं, मग renew.
- जास्त मोठा term म्हणजे नाव जास्त काळ safe, आणि त्या term मध्ये renewal price वाढली तरी तुम्हाला फरक पडत नाही.
- Renew करायला विसरलात तर नाव expire होतं आणि दुसरं कोणीही ते register करू शकतं.
Cart मध्ये, step by step:
Step 1. नाव search करून cart मध्ये टाका.
Step 2. Term check करा. "पहिल्या वर्षाचे" मोठे discounts बऱ्याचदा अनेक वर्षांच्या term वरच असतात. तुम्हाला खरंच जितकी वर्षं हवीत तितकी set करा.
Step 3. नको असलेले add-ons काढा (extra email, website builders वगैरे). आता खरी किंमत दिसते.
Step 4. फक्त पहिल्या वर्षाची नाही, renewal price पण वाचा.
Step 5. तुमचे contact details check करा, मग pay करा.
Figure 3. Registrar निवडा, छोटं नाव निवडा, 1 ते 10 वर्षांसाठी register करा, आणि pay करण्याआधी cart साफ करा.
6. Owner, admin, technical, billing: control आपल्याकडे ठेवा
काय. Domain registration मध्ये contact details साठवलेले असतात:
- Owner (registrant): ज्या व्यक्तीचं किंवा business चं domain आहे.
- Administrative: domain बदलू आणि transfer करू शकतो.
- Technical: DNS आणि server settings बघतो.
- Billing: registration आणि renewal चे पैसे भरतो.
का महत्त्वाचं. समजा आपली bakery आहे आणि एक developer आपली website बनवतो. Developer ने domain स्वतःच्या account मध्ये register केलं तर control त्याच्याकडे. तो सोडून गेला, किंवा पैशावरून भांडण झालं, तर तो ते दुसरीकडे point करू शकतो किंवा expire होऊ देऊ शकतो.
Safe कसं राहायचं:
- Business owner ने domain स्वतःच्या account मध्ये आणि नावावर register करायचं.
- Owner आणि admin business owner कडेच राहू द्या.
- Developer ला technical कामासाठी limited access द्या (बऱ्याच registrars कडे delegate किंवा team-member option असतो), owner चा login कधीच नाही.
Figure 4. Owner आणि admin business कडेच; developer ला फक्त limited technical access.
7. कसं: A record ने domain EC2 कडे point करा
काय. A record नावाला IPv4 address शी जोडतो. @ म्हणजे "domain स्वतः", म्हणून @ -> PUBLIC_IP असा A record example.com ला तुमच्या server कडे पाठवतो.
Step 1. EC2 console मध्ये Instances उघडा, तुमचा server select करा आणि त्याचा Public IPv4 address copy करा.
Step 2. GoDaddy मध्ये तुमचे products उघडा, domain निवडा आणि Manage DNS निवडा (बाकी registrars वर: DNS settings किंवा DNS records).
Step 3. Record add करा:
- Type: A
- Name:
@ - Value: copy केलेला public IPv4 address
- TTL: default राहू द्या
@ साठी A record आधीच असेल (नवीन domains वर बऱ्याचदा parking page कडे point करणारा एक असतो), तर दुसरा add करण्याऐवजी तोच edit करा.
Step 4. Save करा.
Classroom line
Next, we have to add it inside GoDaddy.
Class मधलं वाक्य
आता पुढे GoDaddy मध्ये लिहावं लागेल.
Classroom line – हिंदी
"Abhi next GoDaddy ke andar likhna padega."
8. Nginx install करा आणि domain test करा
Step 1. Server (Amazon Linux) ला ssh ने connect व्हा. त्याच्या Security Group मध्ये port 80 वर HTTP allow आहे ना ते बघा.
Step 2. Nginx install करा:
sudo yum install nginx -y
Step 3. Start करा:
[ec2-user@ip-172-31-xx-xx ~]$ sudo service nginx start
Redirecting to /bin/systemctl start nginx.service
त्या line चा अर्थ. Amazon Linux वर जुनी service command काम systemctl कडे देते, जो system चा service manager आहे, आणि तसं तुम्हाला सांगते. हा error नाही: Nginx start झालाय.
Step 4. http://PUBLIC_IP/ उघडा, मग http://example.com/. दोन्हीकडे Welcome to nginx! page दिसतं. नाव अजून उघडत नसेल तर काही मिनिटं थांबा (section 9).
Step 5. स्वतःचं test page बनवा:
sudo nano /usr/share/nginx/html/hello.html
एक line type करा, उदा. Hello from my own domain, Ctrl+O, Enter ने save करा, मग Ctrl+X.
Step 6. http://example.com/hello.html उघडा. तुमची line दिसते. आता नाव अगदी IP सारखंच काम करतं.
9. दोन गोष्टी लक्षात ठेवा: IP बदलू शकतो, आणि DNS ला वेळ लागतो
Problem 1: public IP बदलतो. EC2 instance stop करून परत start केला की AWS त्याला नवीन public IP देतो. Reboot मध्ये IP तसाच राहतो; stop आणि start मध्ये नाही. A record मध्ये जुनाच IP राहतो, म्हणून example.com चालणं बंद होतं.
Problem 2: DNS changes ला वेळ लागतो. Resolvers उत्तर record च्या TTL (time to live) पर्यंत लक्षात (cache) ठेवतात. Record बदलल्यावर तो वेळ संपेपर्यंत काही visitors ना जुनंच उत्तर मिळतं. बहुतेक वेळा काही मिनिटं; GoDaddy चा स्वतःचा message सांगतो की बहुतेक updates एका तासात लागू होतात पण 48 तासांपर्यंत लागू शकतात.
Example 2, step by step:
- सोमवार: A record
@ -> OLD_IP. Site उघडते. - संध्याकाळी: पैसे वाचवायला तुम्ही server stop करता.
- मंगळवार: तुम्ही तो start करता. EC2 वर
NEW_IPदिसतो. example.comअजूनOLD_IPकडे point करतं: site उघडत नाही.- Quick fix: A record
NEW_IPला edit करा, save करा, आणि TTL पर्यंत थांबा.
खरा उपाय म्हणजे Elastic IP: तुम्ही release करेपर्यंत न बदलणारा public IP. तो पुढच्या chapter मध्ये.
Figure 5. Stop आणि start ने नवीन public IP मिळतो, पण A record मध्ये जुनाच राहतो. Record update करा, किंवा Elastic IP वापरा (पुढचा chapter).
10. का: एका server वर अनेक websites (virtual hosting)
का. चालू असलेला प्रत्येक server AWS bill वाढवतो. बहुतेक छोट्या websites दिवसातून थोडाच वेळ busy असतात.
Classroom line
Why should we host multiple websites inside one server?
Class मधलं वाक्य
एका server मध्ये multiple websites का host करायच्या?
Classroom line – हिंदी
"Ek server ke andar multiple websites kyun host karne hai?"
Classroom line
The more servers you use, the bigger the bill you'll get.
Class मधलं वाक्य
जितके servers तुम्ही वापराल तितकं bill तुम्हाला येणार.
Classroom line – हिंदी
"Jitne servers aap use karoge utna bill aane wala hai aapko."
Example 3: रिकामा बसलेला server, आकड्यांसह. समजा एका छोट्या site वर दिवसातून साधारण 100 मिनिटं visitors येतात.
- एका दिवसात 24 × 60 = 1,440 मिनिटं.
- Busy: 100 मिनिटं. रिकामा: 1,440 − 100 = 1,340 मिनिटं.
- 1,340 ÷ 1,440 ≈ 0.93, म्हणजे server दिवसातला साधारण 93% वेळ रिकामा बसतो.
Classroom line
So out of 24 hours it's used only about a hundred minutes, which means your server is sitting idle.
Class मधलं वाक्य
म्हणजे चोवीस तासांत फक्त शंभर मिनिटं वापर होतोय, म्हणजे तुमचा server रिकामा बसलाय.
Classroom line – हिंदी
"Toh chobees ghante mein sirf hundred minutes use ho raha hai, toh aapka server khali baith raha hai."
Example 4. चार छोट्या sites चार servers वर म्हणजे bill वर चार servers. त्याच चार sites एका server वर म्हणजे एक. यालाच virtual hosting म्हणतात: एक server, एक Nginx, प्रत्येक site चा एक folder, आणि visitor ने type केलेल्या नावावरून Nginx folder निवडतो. Shared hosting plans याच कारणाने स्वस्त असतात: अनेक छोट्या sites एक मोठा server share करतात.
Figure 6. Virtual hosting: तीन नावं, एक EC2 server, एक Nginx, प्रत्येक site चा एक folder.
11. काय: TLD, domain आणि subdomain
नाव उजवीकडून डावीकडे वाचा. onepage.example.com घ्या:
.comहा top-level domain (TLD). बाकी:.in,.org,.net.example.comहा domain: तुम्ही register आणि renew करता तो भाग.onepageहा subdomain. Subdomains तुम्ही स्वतः, हवे तितके, DNS records ने बनवता. वेगळं registration नाही.
Example 5. समजा आपण Google आहोत: mail.google.com, maps.google.com आणि drive.google.com हे एकाच domain चे, google.com चे, subdomains आहेत, आणि प्रत्येक वेगळी service उघडतो.
Figure 7. onepage.example.com मधले TLD, domain आणि subdomain.
12. कसं: subdomains साठी CNAME records
काय. CNAME record सांगतो "हे नाव त्या नावाचंच दुसरं नाव आहे". onepage -> example.com असा CNAME onepage.example.com ला example.com च्या मागे पाठवतो, ज्याच्याकडे IP असलेला A record आधीच आहे.
जास्त A records का नाही, CNAME का? सगळे subdomains एकाच A record च्या मागे जातात. IP बदलला की तुम्ही एकच record edit करता, प्रत्येक subdomain चा एक नाही.
Step 1. GoDaddy च्या Manage DNS मध्ये नवीन record add करायला click करा.
Step 2. भरा:
- Type: CNAME
- Name:
onepage(फक्त subdomain चा भाग) - Value:
example.com(काही registrars@पण घेतात) - TTL: default

Console: GoDaddy मध्ये CNAME record add करताना: Type CNAME, Name मध्ये subdomain, Value मध्ये domain, मग Save.
Step 3. Save करा, मग प्रत्येक site साठी तेच करा: landing, scroll, animated.
Step 4. आता न वापरलेले जुने records delete करा, म्हणजे list साफ राहते.
आता तुमचे records असे दिसतात:
Type Name Value
A @ PUBLIC_IP
CNAME landing example.com
CNAME onepage example.com
CNAME scroll example.com
CNAME animated example.com
Figure 8. Domain साठी एक A record, प्रत्येक subdomain साठी एक CNAME.
13. कसं: website templates server वर आणा
आपल्याला चार वेगवेगळ्या sites पाहिजेत. सोपा मार्ग म्हणजे अनेक HTML templates असलेला public GitHub repository, प्रत्येक template एका folder मध्ये.
Step 1. Nginx च्या folder मध्ये जा:
cd /usr/share/nginx
Step 2. Repository ZIP म्हणून download करा (link Code > Download ZIP वरून copy करा). हा folder root चा आहे म्हणून sudo लागतो:
sudo wget https://github.com/OWNER/REPO/archive/refs/heads/master.zip
ZIP मध्ये फक्त files असतात, project चा history नाही; repository आणायचा दुसरा मार्ग म्हणजे git clone.
Step 3. Unzip करा आणि folder ला छोटं नाव द्या:
sudo unzip master.zip
sudo mv REPO-master websites
cd websites
Step 4. Folders ची list बघा:
[ec2-user@ip-172-31-xx-xx websites]$ ls
'Animated Template' 'Landing Page Template' 'One Page Template' 'Scroll Template'
Rename का करायचं. Spaces असलेली नावं commands मध्ये आणि nginx.conf मध्ये त्रासदायक. Shell मध्ये space शब्द वेगळे करतो, म्हणून प्रत्येक space आधी backslash (\) म्हणजे "हा space नावाचाच भाग आहे". Quotes पण तेच काम करतात.
Step 5. प्रत्येक folder ला एका छोट्या शब्दाचं नाव द्या:
sudo mv Animated\ Template animated
sudo mv Landing\ Page\ Template landing
sudo mv "One Page Template" onepage
sudo mv Scroll\ Template scroll
Tip: पहिली अक्षरं type करून Tab दाबा; shell backslashes स्वतः टाकतो.
Step 6. Check करा:
[ec2-user@ip-172-31-xx-xx websites]$ ls
animated landing onepage scroll
[ec2-user@ip-172-31-xx-xx websites]$ ls landing
index.html ...
प्रत्येक folder मध्ये स्वतःचं index.html आहे. मागच्या chapter सारखं, ज्या folder मध्ये index.html आहे तोच site चा folder.
14. कसं: प्रत्येक subdomain साठी एक Nginx server block
काय. nginx.conf मध्ये प्रत्येक server { ... } block म्हणजे एक website. कुठला block ते दोन settings (directives) ठरवतात:
server_name: हा block कुठल्या नावाला उत्तर देतो.root: तो कुठला folder serve करतो.
Classroom line
Notice that inside the server block there's something called server_name.
Class मधलं वाक्य
"Laksh dila ka tumhi, server block chya aatmadhe server_name mhanun ek aahe."
लक्ष दिलं का तुम्ही, server block च्या आतमध्ये server_name म्हणून एक आहे.
Classroom line
Notice that inside the server block there's something called server_name.
Nginx block कसा निवडतो. Browser मागितलेलं नाव request सोबत पाठवतो. Nginx ते प्रत्येक server_name शी जुळवून बघतो. एखादं match झालं तर त्या block चा root serve होतो. कुठलंच match झालं नाही, उदा. नुसत्या IP ने आलेली visit, तर default block उत्तर देतो; Amazon Linux च्या nginx.conf मध्ये तो पहिला server block.
Classroom line
Whenever Nginx can't match the name, it simply goes into the first server block it sees.
Class मधलं वाक्य
Nginx ला नाव match झालं नाही की तो simply जो पहिला server block दिसतो त्यात जातो.
Classroom line – हिंदी
"Jab bhi Nginx confuse ho jata hai na toh woh simply jo bhi pehla server block dikh raha hai usike andar chala jayega."
Figure 9. Animation: प्रत्येक नाव स्वतःच्या server_name शी match होतं आणि त्याला स्वतःचा folder मिळतो; नुसत्या IP ला default (पहिला) block.
Step 1. Settings file उघडा:
sudo nano /etc/nginx/nginx.conf
Step 2. आधीचा server block (server_name _; असलेला) तसाच राहू द्या. त्याच्या closing } खाली, पण http { ... } block च्या आतच, प्रत्येक site साठी एक block add करा:
server {
listen 80;
listen [::]:80;
server_name landing.example.com;
root /usr/share/nginx/websites/landing;
}
server {
listen 80;
listen [::]:80;
server_name onepage.example.com;
root /usr/share/nginx/websites/onepage;
}
scroll आणि animated साठी पण असेच add करा. Block ते block फक्त server_name आणि root बदलतात. Ctrl+O, Enter ने save करा, मग Ctrl+X.
![nano editing nginx.conf: a server block with listen 80, listen [::]:80, server_name scroll.example.com and root /usr/share/nginx/websites/scroll.](../../../assets/img/aws/domain-names-dns-records-and-nginx-subdomains-02-console-nginx-server-block-subdomain.webp)
Console: nginx.conf मधला एक server block: port 80 वर listen, server_name मध्ये subdomain, root मध्ये त्या site चा folder.
Classroom line
Okay, all four server blocks are done.
Class मधलं वाक्य
ठीक आहे, चारही server blocks झाले.
Classroom line – हिंदी
"Theek hai, charo server block to ho gaye."
Step 3. File test करा, मग reload:
[ec2-user@ip-172-31-xx-xx ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[ec2-user@ip-172-31-xx-xx ~]$ sudo service nginx reload
Redirecting to /bin/systemctl reload nginx.service
reload आधीपासून चालू असलेल्या sites बंद न करता नवीन settings लागू करतो.
15. प्रत्येक subdomain test करा
Step 1. प्रत्येक address उघडा:
http://landing.example.com/वर landing template दिसतं.http://onepage.example.com/वर one-page template.http://scroll.example.com/वर scroll template.http://animated.example.com/वर animated template.http://PUBLIC_IP/वर अजून/usr/share/nginx/htmlमधलं default page.
एखादं उघडत नसेल तर:
- CNAME add केल्यावर काही मिनिटं (TTL) थांबा, मग परत try करा.
- CNAME च्या Name मध्ये फक्त subdomain आहे ना बघा (
landing,landing.example.comनाही). - त्या block मधले
server_nameआणिrootcheck करा, आणि folder मध्येindex.htmlआहे ना ते. - परत
sudo nginx -tचालवा आणि reload करा.
Example 6: पाच sites, एक bill. पाच नावं (domain आणि चार subdomains), default धरून पाच server blocks, आणि पाच DNS records (एक A, चार CNAME), सगळं एकाच EC2 server वर.
16. Capital letters: domain ला फरक पडत नाही, path ला पडू शकतो
प्रश्न: LANDING.Example.COM चालेल का? हो. Web address चा domain भाग case-sensitive नाही; browsers DNS ला विचारण्याआधी तो small letters मध्ये करतात.
पण path असू शकतो. Domain नंतरचा भाग म्हणजे server वरचा file path. Linux server वर /Images/Logo.png आणि /images/logo.png या दोन वेगळ्या files आहेत, म्हणून एक capital letter चुकलं तर 404 Not Found.
सवय. Folder आणि file नावांसाठी small letters वापरा, आणि links files च्या नावाप्रमाणे अगदी तशाच type करा.
Figure 10. Domain भाग case-sensitive नाही; त्यानंतरचा path असू शकतो.
17. पूर्ण flow एका page वर
- Domain घ्या; owner आणि admin तुमच्या स्वतःच्या account मध्ये ठेवा.
- A record:
@ -> PUBLIC_IP. sudo yum install nginx -y,sudo service nginx start;http://example.com/उघडा.- प्रत्येक site साठी: CNAME
name -> example.com. - Templates
sudo wget,sudo unzip, folders ना छोटी नावं. - प्रत्येक subdomain साठी
server_nameआणिrootअसलेला एकserverblock. sudo nginx -t,sudo service nginx reload, प्रत्येक subdomain उघडा.- Stop आणि start ने IP बदलतो: A record update करा, किंवा Elastic IP वापरा (पुढचा chapter).
18. घरी करून बघा
Try at home
Task 1: एक domain
- Practice साठी स्वस्त domain घ्या, किंवा आधीपासून असलेलं वापरा.
@चा A record तुमच्या EC2 public IP कडे add करा.- Nginx install आणि start करा, मग तुमचं domain आणि
hello.htmltest page उघडा.
Task 2: तीन subdomains
- तुमच्या domain कडे point करणारे तीन CNAME records add करा.
/usr/share/nginx/websites/खाली तीन templates download करा, folders ना छोटी नावं द्या.- तीन server blocks add करा,
sudo nginx -tने test करा, reload करा, आणि तिन्ही उघडा. - एक site domain मध्ये capital letters टाकून उघडा, मग file path मध्ये चुकीचं capital letter टाकून 404 बघा.
झाल्यावर instance terminate करा, आणि A record delete करा म्हणजे तुमचं domain तुमच्याकडे नसलेल्या IP कडे point करत राहणार नाही.
Recap
थोडक्यात
- लोकांना नावं लक्षात राहतात, IPs नाही. DNS नावाचा IP करतो: तुमचा computer resolver ला विचारतो, resolver domain चे records वाचतो.
- Registrars (GoDaddy, Hostinger, Amazon Route 53 आणि बाकी) domains 1 ते 10 वर्षांसाठी register करतात; cart मध्ये term, add-ons आणि renewal price check करा.
- Owner आणि admin details business owner कडेच; developers ना फक्त limited access.
- A record
@ -> PUBLIC_IPdomain तुमच्या server कडे point करतो.sudo service nginx startएक निरुपद्रवीRedirecting to /bin/systemctlline दाखवतो. - Stop आणि start ने नवीन public IP मिळतो, आणि DNS changes ला वेळ (TTL) लागतो; Elastic IP हा उपाय.
- Virtual hosting खर्च वाचवायला अनेक sites एका server वर ठेवतं.
.comहा TLD,example.comdomain,onepage.example.comsubdomain; CNAME records subdomains ना domain कडे point करतात.- प्रत्येक site साठी एक Nginx server block:
server_nameblock निवडतो,rootfolder देतो; काहीच match नसेल तर default block उत्तर देतो. - Domain case-sensitive नाही; path असू शकतो.
सराव Tasks
Seoul Beauty Lab हा सोल मधला सौंदर्य प्रसाधने व्यवसाय आहे. Ji-woo Park त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे KRW मध्ये मोजले जातात आणि AWS resources ap-northeast-2 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.
0 / 12
सोपं बदलानंतर service restart करा
का: Config बदल service restart/reload नंतरच लागू होतात.
काय करायचं: nginx service restart करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Service चालू आहे का ते पाहा
का: Site बंद असेल तर आधी web server चालू आहे का ते पाहा.
काय करायचं: httpd service चं status दाखवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Ubuntu वर package install करा
का: Ubuntu apt वापरतं. Package नावं वेगळी: Ubuntu वर Apache म्हणजे apache2.
काय करायचं: Ubuntu वर apache2 package confirm न विचारता install करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Amazon Linux वर package install करा
का: Amazon Linux 2023 वर dnf हा package manager. -y आपोआप yes देतो.
काय करायचं: Amazon Linux 2023 वर httpd package confirm न विचारता install करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं Hosted zones दाखवा
का: Records बदलायला zone ID लागतो.
काय करायचं: Account मधले सगळे hosted zones दाखवा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
सोपं MySQL चा port
का: DB security group ने फक्त हा port app साठी उघडावा.
काय करायचं: Seoul Beauty Lab चं app RDS MySQL शी बोलतं. DB SG ने कोणता port allow करावा?
- Task मधले numbers लिहून घ्या.
- कागदावर step by step काढा.
- Box मध्ये फक्त final उत्तर लिहा.
- Check answer दाबा.
सोपं Database endpoint शोधा
का: App endpoint नावाने connect होतं, IP ने नाही.
काय करायचं: DB instance seoulbeauty-db describe करा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
मध्यम nginx config test करा
का: Restart मुळे site बंद पडण्याआधी test चुका पकडतो.
काय करायचं: nginx configuration files मधल्या चुका तपासा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Service आत्ता व boot ला सुरू करा
का: enable reboot नंतर सुरू करतो; --now आत्ताच सुरू करतो.
काय करायचं: nginx service enable करा व लगेच सुरू करा, एका command ने.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Port 80 सगळ्यांसाठी उघडा
का: Security group HTTP allow करत असेल तरच visitors website पाहू शकतात.
काय करायचं: Security group sg-01c51c3c10204c3b2 वर 0.0.0.0/0 कडून inbound TCP port 80 allow करा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
मध्यम Hosted zone बनवा
का: Hosted zone तुमच्या domain चे सगळे DNS records ठेवतो.
काय करायचं: seoulbeauty.kr साठी public hosted zone बनवा, caller reference seoulbeauty-2026-01.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
अवघड DNS record बनवा/update करा
का: UPSERT record बनवतो किंवा आधी असल्यास update करतो.
काय करायचं: change.json मधले record बदल hosted zone Z0123456789ABCDEFGHIJ ला लावा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
उजळणी, तुलना आणि मुलाखत cards
हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.










अजून cards: Ravi Sir's Cards.