Saqlash va zaxira nusxalar

Statik sayt

1 daqiqa o'qish

Statik saytni (HTML, CSS, JavaScript, rasmlar) bucketda joylashtirish mumkin. Bu lendinglar, hujjatlar va server qismi boʻlmagan bir sahifali ilovalar (React, Vue, Angular) uchun mos.

Misollarda UzCloud uchun sozlangan AWS CLI ishlatiladi. my-bucket ni oʻz bucketingiz nomiga almashtiring.

1-qadam. Saytni yuklang

aws s3 sync ./dist s3://my-site/ --delete --cache-control "public, max-age=300"

2-qadam. Ommaviy kirishni oching

Hammaga sayt fayllarini oʻqish imkonini beradigan siyosatni qoʻllang:

cat > policy.json <<'EOF'
{
  "Version": "2012-10-17",
  "Statement": [{
    "Sid": "PublicReadWebsite",
    "Effect": "Allow",
    "Principal": "*",
    "Action": ["s3:GetObject"],
    "Resource": ["arn:aws:s3:::my-site/*"]
  }]
}
EOF
aws s3api put-bucket-policy --bucket my-site --policy file://policy.json

Endi fayllar https://s3.uzcstorage.uz/my-site/index.html manzilida mavjud.

3-qadam. Oʻz domeningizni ulang

Sayt https://example.com manzilida ochilishi va papka manzillari uchun index.html berilishi uchun bucket oldiga Nginx qoʻying. S3’ni Nginx orqali proksilash maqolasidagi konfiguratsiyani oling va location blokini almashtiring:

location / {
    limit_except GET HEAD { deny all; }

    # /about/ -> /about/index.html
    rewrite ^(.*)/$ $1/index.html break;

    proxy_pass https://s3.uzcstorage.uz/my-site;
    proxy_set_header Host s3.uzcstorage.uz;
    proxy_ssl_server_name on;
    proxy_intercept_errors on;
    error_page 403 404 = /index.html;   # for single-page applications
}

Oddiy koʻp sahifali sayt uchun oxirgi qatorni error_page 404 /404.html; ga almashtiring.

Maslahat

Yangi versiyani joylashtirgandan soʻng uzoq Cache-Control ga ega fayllar brauzerlar keshida qolishi mumkin. Resurslarga versiyali nomlar bering (masalan, app.3f9c2.js), index.html uchun esa qisqa keshlash muddatini qoldiring.

Maslahat

Shuningdek qarang: