2011-01-31 18 views
11

Sorguma yönelik çözüm aramayı denedim, ancak şanssız. Yerel makinemde django kullanarak bir web sitesi yaptım. Şimdi aynı django web sitesini başka bir makineye yüklemek istiyorum. MySQL kullanıyorum veritabanıdır. Yerel django web sitesini başka bir makineye nasıl taşıyabilirim? Bu soru zaten tartışılmışsa özür dilerim.Yerel bir django yapımı site başka bir makineye nasıl taşınır?

cevap

14

, sadece karşısında kodu kopyalayabilirsiniz. Bunu çalıştırmayı denediğinizde, tek tek çözebileceğiniz bir şey doğru ayarlanmamışsa hatalar alırsınız. Alacağınız muhtemeldir Birkaç hatalar şunlardır:

  1. emin Python
  2. emin Django ve diğer bağımlılıklar yüklenir olun yeni kutu yüklü olduğundan emin olun
  3. Sen MySQL kurulum ve ayar gerekir veritabanının konak localhost veya 127.0.0.1 değilse yeni makinede bir veritabanı
    • veritabanına (isim, kullanıcı, şifre) için detaylar olacak, projenizin settings.py dosyasının
    • olacak Yeni veritabanını nereye koyacağınızı düşünmeniz gerekiyor
  4. Yalnızca geliştirme için olmadığı sürece yeni kutuya işaret eden bir URL oluşturduğunuzdan emin olun (bu durumda, Django'nun yerleşik sunucusunu manage.py runserver)
  5. /seçtiğiniz sunucu Bütün bu adımlar sadece eski makinede yaptığımız şeyleri tekrar edilmelidir doğru

apache ayarlanmış olmasını sağlayın.

Eğer 'dev' bir makineniz ve 'üretim' makineniz varsa, bu işlemin çoğunu otomatikleştiren dağıtım çözümlerini dikkate almalısınız. Aynı zamanda (, mercurial, subversion) yoksa kodu sürüm denetimine koymalısınız, böylece kaynaktaki değişiklikleri her iki konumdan da yönetebilirsiniz.

Her iki makinede de aynı sitesine sahip olmak istiyorsanız (öbüründe biri diğerine değişir) muhtemelen 'yük dengeleme' hakkında konuşuyorsunuzdur.Bu iki makineye istekleri devredebilen ve hem aynı veritabanında hem de işaret eden başka bir sunucu kurmanız gerekecektir.

+0

Yani, yeni makinedeki veritabanını yerel makinemden de sql dökümü ile doldurmam gerekiyor. – consumer

+0

evet, veritabanlarının aynı olmasını istiyorsanız! Her iki sitenin de * her zaman aynı veritabanına sahip olmasını istiyorsanız, her ikisini de aynı makineye yönlendirebilirsiniz. '127.0.0.1'/'localhost' yerine, bir ya da her ikisi de 'başka bir yere' işaret etmelidir. – adamnfish

+1

Günlük programımda, bu türden bir şeyleri, Kumaş senaryosu setleri ile yapıyorum, böylelikle aptal hatalar/yazım hataları olmadan ve zaman kaybetmeden tekrarlayan görevleri yapabilirim. Bu veritabanı çekme ve kumaş ile komut dosyaları itmek çok kolaydır ve gerçekten herkese tavsiye ederim :) –

3

Buna "dağıtım" denir. Bunların bir kısmını http://docs.djangoproject.com/en/dev/howto/deployment/ adresinde belgelendirmek için birçok yol vardır. Daha genel bilgi veren http://djangobook.com/en/2.0/chapter12/ da var. Yolunuz, gerçek sunucunuzun desteklediği/sağladığına bağlı olacaktır.

Bunları başlangıç ​​noktaları olarak kullanmalı ve sonra sorunları giderebilmemiz için sorunları burada bildirmelisiniz.

Güncelleme: Başvurunuzu dağıtmak için gereken fiili adımlar (yani canlı sunucuda çalışan olsun) servis sağlayıcıya bağlıdır. Adımlar, web sunucunuzu uygulamayı sunmak, veritabanınızı doğru değerler ile ayarlamak ve web sunucusunu başlatmak için geniş kapsamlı olarak hazırlar. Bunun nasıl yapılacağına ilişkin gerçek adımlar sunucunuza bağlıdır (hangi ön sunucuya yöneldikleri, hangi yapılandırmayı düzenleyebileceğiniz, paylaşılabileceği veya VPS, kabuk erişiminiz vb.). İşte size webfaction'da (popüler bir python paylaşılan barındırma sağlayıcısı) nasıl yapacağınıza dair bir örnek. farklı bir makinede aynı Django sitesini kurmak için

http://docs.webfaction.com/software/django/getting-started.html

+0

Şimdi bile iyi anlamadım. Bu sayfalar yalnızca geliştirme sunucusundaki django sitesini üretim sunucusuna taşımam için yönlendirdi. Yine aynı siteyi başka bir makinede çalıştırmak için ne yapmam gerektiği konusunda kafam karışık. Aynı projeyi başka bir makinede sıfırdan başlatmak ve daha sonra dosyaları kopyalamak zorunda mıyım? – consumer

+0

Bu, sunucuya göre değişir. Cevabı bazı notlarla güncelledim. –

İlgili konular