Ana içeriğe geç

Ubuntu 20.04 Üzerinde Nginx ile Vuetify Uygulaması Nasıl Yayınlanır?

Bu Rehberde Ne Öğreneceksiniz?

Bu rehberde Vuetify kullanan bir Vue uygulamasını sıfırdan oluşturacağız.
Uygulamayı production için derleyip Nginx ile alan adınızda yayınlayacağız.
Sonunda çalışan, stabil bir web uygulamanız olacak.


Teknik Özet

  • Amaç: Vue + Vuetify uygulamasını canlıya almak
  • Çözüm: Production build + Nginx yapılandırması
  • Sonuç: Hızlı, SPA uyumlu, stabil yayın

Ön Gereksinimler

Aşağıdakiler hazır olmalı:

  • Ubuntu 20.04 sunucu
  • Sudo yetkili kullanıcı (rabisu)
  • Nginx kurulu
  • Node.js 14+
  • Alan adı (örnek: uygulama.rabisu.site)

1️⃣ Vue Uygulamasını Oluşturma

sudo npm install -g @vue/cli
  • Vue CLI aracını kurar.


vue create vuetify-projesi
  • Vue proje iskeletini oluşturur.

Seçim: Default (Vue 2)

  1. Vuetify bu sürümle daha stabildir.

2️⃣ Vuetify Entegrasyonu


cd vuetify-projesi
vue add vuetify
  • Vuetify bileşen kütüphanesini projeye ekler.


npm run serve
  • Geliştirme sunucusunu başlatır.

3️⃣ Örnek To-Do Uygulaması

  1. src/App.vue dosyasını açın ve aşağıdaki kodu ekleyin.

<template>
<v-app>
<v-app-bar app color="primary" dark>
<h3>Rabisu To-Do App</h3>
</v-app-bar>

<v-main>
<v-container>
<v-card>
<v-card-title>
<v-text-field
v-model="yeniGorev"
label="Yeni Görev"
append-icon="mdi-plus"
@click:append="gorevEkle"
/>
</v-card-title>

<v-card-text>
<v-list>
<v-list-item
v-for="(g, i) in gorevler"
:key="i"
>
<v-list-item-title>{&#123; g &#125;}</v-list-item-title>
<v-btn icon @click="gorevSil(i)">
<v-icon color="red">mdi-delete</v-icon>
</v-btn>
</v-list-item>
</v-list>
</v-card-text>
</v-card>
</v-container>
</v-main>
</v-app>
</template>
  • Bu kod görev ekleme ve silme işlevlerini sağlar.

4️⃣ Production Build Alma


npm run build
  • Yayına hazır statik dosyaları üretir.

📁 Çıktı: dist/


5️⃣ Nginx ile Yayınlama


sudo mkdir -p /var/www/vuetify-projesi
sudo cp -r dist/* /var/www/vuetify-projesi/
  • Build dosyalarını Nginx dizinine taşır.

Nginx Yapılandırması


sudo nano /etc/nginx/sites-available/vuetify-projesi

server {
listen 80;
server_name uygulama.rabisu.site;

root /var/www/vuetify-projesi;
index index.html;

location / {
try_files $uri $uri/ /index.html;
}
}
  • try_files SPA uygulamalarda 404 hatasını önler.


sudo ln -s /etc/nginx/sites-available/vuetify-projesi /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl restart nginx

❓ Sıkça Sorulan Sorular

1. Sayfa yenileyince 404 alıyorum, neden? SPA yapılar için try_files zorunludur.

2. HTTPS nasıl eklenir? Let’s Encrypt + Certbot kullanılabilir.

3. Kod değişince ne yapmalıyım? Tekrar npm run build alıp dosyaları kopyalayın.

4. İzin hatası alıyorum, çözüm?


sudo chown -R $USER:www-data /var/www/vuetify-projesi

Sonuç

Vuetify tabanlı Vue uygulamanız artık yayında 🎉 Nginx ile hızlı, stabil ve production uyumlu çalışır.

Rabisu Bulut altyapısında Ubuntu sunucunuzu dakikalar içinde kurup hemen deneyebilirsiniz.