İlan

Windows ve Mac OSX, son birkaç yıldır geliştirici dostu işletim sistemleri olarak ilerleme kaydediyor, ancak her web geliştiricisinin gerçekten web'in yerel ortamında (Linux) çalışması gerekiyor.

Bu makale size her iki dünyanın da en iyisini nasıl elde edebileceğinizi gösterecek: gibi istikrarlı ve tüketici dostu bir işletim sistemine bağlı kalmak Günlük ihtiyaçlarınız için Windows veya OSX, aynı zamanda üretiminizle aynı ekosistemde gelişmenin avantajlarından yararlanın kodu.

Giriş

Web'in çoğu, geliştiricilerin “LAMP yığını” olarak adlandırdığı şeylerle çalışır. Bu kısaltma Linux, Apache, MySQL, PHP'nin birlikte paketlendiği ve genellikle bir web sunucusu olarak anladığınız gibi çalıştığı anlamına gelir. (Yakından ilgili bir yığın - ya da bir dizi teknoloji - “L”, “motor x” denilen Apache, Nginx'e alternatifin telaffuzundan türetilen “E” ile birlikte).

Linux'un açıkça buraya dahil edildiğini fark edebilirsiniz, ancak sadece Linux'un geliştiriciler tarafından önerilmesinin nedeni bu değildir. Diğer teknolojiler - Apache (veya Nginx), MySQL ve PHP - farklı platformlar için farklı araçlara ve uygulamalara sahiptir, ancak tarihsel ve teknik nedenlerle,

instagram viewer
Linux tabanlı konfigürasyonlar sunucu alanına hakimdir ve daha öngörülebilir olma eğilimindedir.

Sanal Web Geliştirme Ortamı ve Sunucusu Nasıl Oluşturulur tux logosu 150x150

Öngörülebilirlik ve güvenilirlik, yalnızca bunun için kullandığınız bir işletim sisteminde geliştirmek istediğiniz büyük nedenlerdir amaç - günlük olarak web olarak üstlendiğiniz sayısız görevi destekleyen bir sistem yerine özel bir işletim sistemi geliştiricisi. Başka bir deyişle, sunucunuz yeniden başlatıldığında aynı işletim sisteminde bir sunucu çalıştırmak istemezsiniz. grafik sürücüleri yüklü veya yola çıkmanız için bir sırt çantasına koyup koymanız gereken bir makine ile. Karma kullanımlı makinenizde bir sunucu çalıştırmak için gereken işlemleri ve yazılımı dahil etmek, tek kelimeyle dağınıktır.

Peki, çoklu görev yapma yeteneğinizi uygulamalarınızın yerel bağlamında geliştirme gereksiniminizle nasıl dengelersiniz?

Giriş Sanal makineler Sanal Makine Nedir? Bilmen gereken her şeySanal makineler, geçerli bilgisayarınızda diğer işletim sistemlerini çalıştırmanıza izin verir. İşte onlar hakkında bilmeniz gerekenler. Daha fazla oku .

Sanal Makineler ve Vagrant

Sanal makineler, birincil işletim sisteminizde çalışan programlardır. Bir pencerede tamamen ayrı bir işletim sistemi çalıştırmanıza izin verir, tamamen fiziksel makinenizde olup bitenlerden başka, ancak bazılarının pahasına havai.

Bununla birlikte, avantajları çoktur:

  • Yazılımı yükleme, yapılandırma veya kaldırma konusunda hata mı yaptınız? Önemli değil, yeni bir imajla tekrar başlayabilirsiniz.
  • Denemeniz felaketle başarısız oldu ve etrafındaki işletim sistemini dondurdu mu? Yine, sadece sanal makine etkilendiği için sorun değil.
  • Biraz farklı koşullarda tekrarlamanız gerekiyor mu? Farklı yazılım sürümleri veya farklı yazılımlar gibi her koşul kümesi (örneğin, Apache'nin Nginx'e karşı kullanılması) ayrı bir yazılım makinesi veya sanal "kutu" olabilir.
Sanal makine-linux

Adlı bir araç serseri önceden yapılandırılmış Linux işletim sistemlerini içeren "temel kutuları" çeşitli şekillerde dağıtmanıza yardımcı olacaktır.

Bu makalede, GUI'siz bir sanal makineyi ve yalnızca komut satırı arabirimi (CLI) ile çalıştırma konusunda rahatınız olduğu varsayılmaktadır.

Bir temel kutu yapılandırmadan önce sanal bir makine sağlayıcısı ve Vagrant alalım.

  1. İşletim sisteminiz için bir sanal makine sağlayıcınız olduğundan emin olun. Hem Windows hem de Mac OSX, Sanal Kutu kullanabilir. VMware her iki platformda da çalışır. (Windows 10 Pro ve üstü Hyper V kullanabilir Windows 10 Pro Yükseltmesi 99 Dolar mı?Windows 10 Pro daha fazla özellik sunar, ancak Home sürümünden yükseltmek için 99 $ 'lık bir fiyat etiketi taşır. Profesyonel özelliklerin yükseltmeye değip değmeyeceğine karar vermek için bilmeniz gerekenler şunlardır. Daha fazla oku , bu bir adımdır çünkü donanımı daha iyi kullanır.)
  2. Ziyaret etmek Vagrantup.com ve uygun bir yükleyici seçin.
  3. Yerel dizin ağacı yapınızda, kutuyu barındırmak için yeni bir klasör oluşturun. (Kullanıcı profilinize bağlı konumlar iyi çalışır, sistem dizinlerindeki konumlar genellikle çalışmaz.)

Web Geliştirme Ortamı Yapılandırması

Otomatikliğin büyüsü burada gerçekleşir: PuPHPet, LAMP'ta yaygın olarak kullanılan yazılımları seçme ve yapılandırma işlemini yoğunlaştırır ve GUI yaparve hatta Ruby ve benzeri sunucu tarafı dilleri için destek ekleyerek node.js Düğüm nedir. JS ve Neden Bakım Yapmalıyım? [Web Geliştirme]JavaScript, tarayıcıda çalışan sadece istemci tarafı bir programlama dilidir, değil mi? Artık değil. Node.js, sunucuda JavaScript çalıştırmanın bir yoludur; ama çok daha fazlası. Eğer... Daha fazla oku (teknik olarak JavaScript yalnızca sunucu tarafı değildir, ancak bu çeşitliliktir) ve LAMP yığınının diğer bileşenlerine alternatifler.

PuPHPet Vagrant için temel yapılandırma dosyaları yapar. Sihirbaz yapılandırmak için yirmiden fazla farklı boyut içeriyor, bu yüzden sadece en dikkat çeken şeylerin üzerinden geçeceğim.

Sanal Web Geliştirme Ortamı ve Sunucusu Oluşturma PuPHPet 670x279
  • Dağıtım Hedefi - Burada VirtualBox, VMWare ve Microsoft Office için uygun bir görüntü oluşturmak isteyip istemediğinizi seçebilirsiniz. AWS veya Digital Ocean gibi bulut bilişim altyapısı için uygun olan diğerleri.
  • Sistem> Paketler - Buraya yüklediğiniz herhangi bir yazılımı normal bir yüklemede yaptığınız gibi ekleyebilirsiniz. Özellikle, işletim sistemi dağıtımının tabanına dahil olan geliştirme için hangi paketleri kullandığınızı belirtmeniz gerekir.
    • Ubuntu için geliştirme bağımlılıklarını dahil etmek için, birikmesi şartları
    • Aynı şeyi CentOS 7 için eklemek için "Geliştirme araçları"
  • Web Sunucuları - L (A | E) MP yığınınızın omurgasını oluşturmak için Apache veya Nginx'i seçin.
  • Diller - PHP, Ruby, Node.js, Python.
  • Veritabanları - Bu yaklaşımın belki de en çekici özelliklerinden biri, mevcut farklı veri tabanları çeşitleriyle oynamak için sanal makineler oluşturma yeteneğidir. MySQL bir varsayılan olsa da, daha yeni bir şeyle oynamak isteyebilirsiniz mariadb Açık Kaynak Yazılım ve Çatal: İyi, Büyük ve ÇirkinBazen, son kullanıcı çatallardan büyük yarar sağlar. Bazen çatal, öfke, nefret ve düşmanlık örtüsü altında yapılır. Bazı örneklere bakalım. Daha fazla oku .
  • Seçeneklerin geri kalanı biraz egzotik ve ne olduklarını bilmiyorsanız, daha sonra her zaman kurulabilirler. Ne de olsa, elinizde tam teşekküllü bir işletim sistemi var.

PuPHPet, bu yapılandırma yolculuğunun sonunda bir arşiv oluşturacaktır. Yeni sunucunuzun parametrelerini yapılandırmadan önce bunu oluşturduğunuz dizine çıkarın.

Şimdi aşağıdakileri yürütün:

$ vagrant up

Ve sonuçları gözlemleyin:

Sanal Web Geliştirme Ortamı ve Sunucusu Nasıl Oluşturulur vm 670x245

Yerel dizininizde temel kutu bulunmadığından, vagrant görüntüyü önceden yapılandırılmış vagrant kutularının bir deposu olan Atlas'dan alır.

(Teknik olarak, bunlardan herhangi biri şu komutu vererek yerel makinenize eklenebilir: $ vagrant kutusu USER / BOX ekle)

Paketleme

Bu noktada VM'niz önyüklenir ve temel olarak çevrimiçi olursunuz. Tek bir şey kaldı: komutu verin $ vagrant ssh LAMP sunucusu gibi davranan (başsız) VM'nizle kendinizi uygun bir SSH oturumuna bırakmak. Tebrikler!

Daha fazla bilgi edin

Buradan Vagrant'ta söylenecek ve yapılacak daha çok şey var ve bildiğiniz gibi kendi geliştirme oyun alanınızla başarmak için sınırsız bir miktar. Yetkiliye göz atın Başlangıç ​​Kılavuzu kaldığım yerden devam etmek için.

Hiç kendi geliştirme ortamınız için bir VM kullandınız mı? Bu kurulumu kullandınız mı veya farklı bir yaklaşım izlediniz mi? Fikirlerinizi aşağıdaki yorumlar bölümünde paylaşın!

Rodrigo teknik yazı, web geliştirme ve kullanıcı deneyiminden hoşlanır. Aşırı düşünme süreci olmadığında, bir klavyeden vurduğunda veya pikselleri ittiğinde, harika açık havada ve siberpunk kültürünün tadını çıkarır.