# Amazon Linux 2023 वर Nginx मधून site host करा

Source: https://ravindrabagale.com/mr/cyber/part-03/ch08-hosting-a-static-website-and-changing-the/8-2-amazon-linux-2023-nginx.html
Language: mr (Marathi with English technical terms)

मागच्या lesson मधल्या /var/www/mysite files तयार आहेत असं गृहीत धरतो. Nginx install/start करून स्वतंत्र site config करू.

sudo yum install -y nginx
sudo service nginx start
sudo systemctl enable nginx

sudo tee /etc/nginx/conf.d/mysite.conf > /dev/null <<'EOF'
server {
    listen 80;
    listen [::]:80;
    server_name YOUR_SERVER_NAME;
    root /var/www/mysite;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;

    access_log /var/log/nginx/mysite_access.log;
    error_log  /var/log/nginx/mysite_error.log;
}
EOF

# put this server's public IP (or your domain) as server_name
sudo sed -i "s/YOUR_SERVER_NAME/$(curl -s https://checkip.amazonaws.com)/" /etc/nginx/conf.d/mysite.conf
sudo nginx -t && sudo service nginx reload
curl -s http://localhost -H "Host: $(curl -s https://checkip.amazonaws.com)" | head -5

YOUR_SERVER_NAME placeholder public IP किंवा तुमच्या domain ने भरायचा आहे. Source मधली sed command checkip service ला दिसणारा outbound public IP वापरते. NAT/proxy/वेगळ्या public endpoint मागे server असेल तर तो योग्य site address असेलच असं नाही—actual browser hostname/IP तपासून config द्या.

Config test नंतर reload होतो. Local curl मध्ये योग्य Host दिल्याने याच server block चा response तपासता येतो. Browser मध्ये http://<PUBLIC_IP> उघडा.

server_name महत्त्वाचं का?

Package चा default block /usr/share/nginx/html serve करत असू शकतो. आपल्या block मध्ये browser चा exact Host दिल्यास योग्य site निवडली जाते. Elastic IP किंवा domain बदलल्यावर server_name update करून test/reload करा. Simple default-root lab मध्ये files थेट /usr/share/nginx/html मध्ये ठेवण्याचाही पर्याय आहे; आधी existing content backup करा.

Lab

Amazon Linux Nginx वर mysite host करा. नसलेली URL मागवा आणि custom 404 page सोबत HTTP status 404 येतो का तपासा.

रवींद्र बागले यांची tip

Welcome page दिसत असेल तर फक्त files पाहू नका. Browser चा Host, server_name आणि default_server तपासा. Chapter 7.5 मधला server selection rule पुन्हा वापरा.
