# Statik sayt
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](../tools/aws-cli.md)** ishlatiladi. `my-bucket` ni oʻz bucketingiz nomiga almashtiring.
## 1-qadam. Saytni yuklang
```bash
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:
```bash
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](../examples/nginx-proxy.md)** maqolasidagi konfiguratsiyani oling va `location` blokini almashtiring:
```nginx
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.
> [!TIP]
> 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.
> [!TIP]
> **Shuningdek qarang:**
>
> - **[Ulanish parametrlari](../connection.md)**