Mencoba mempelajari pengaturan server modern, perlu mendapatkan layering yang benar [tertutup]

0

Dalam server LAMP tradisional kami memiliki Linux yang menjalankan Apache yang menjalankan MySQL dan PHP.

Saya saat ini dalam proses mengajar diri saya sendiri pendekatan yang lebih modern sebagai pembukaan untuk mengajar diri saya sendiri node.js. Sejauh ini saya telah berhasil menjalankan Ubuntu pada kotak virtual, tapi saya sedikit bingung dengan elemen apa yang perlu dibangun satu sama lain untuk menyelesaikan pembuatan server saya.

Saya ingin menjalankan node.js di atas buruh pelabuhan menggunakan komposer, git dan mungkin redis (ini mungkin perlu menjadi server terpisah, saya belum sepenuhnya jelas). Lalu saya ingin setup serupa untuk menjalankan php / mysql sehingga aplikasi simpul saya dapat menggunakan kekuatan dari teknologi itu juga. Ini tampaknya cukup mirip dengan lingkungan produksi untuk membuat lingkungan belajar yang baik.

Jadi saya pikir layering yang benar adalah:

  • kotak virtual
  • menjalankan ubuntu dengan komposer, git dan utilitas lain diinstal
  • menjalankan gambar buruh pelabuhan
  • mengandung server node.js atau php / mysql yang sesuai
  • Yang pada gilirannya menjalankan kode dan kerangka kerja yang biasa

Apakah itu terlihat benar? Saya paling tidak pasti tentang peran buruh pelabuhan - apakah harus memuat gambar ubuntu juga dan di mana komposer dan instalasi git harus duduk (pada lapisan os atau lapisan buruh pelabuhan?).

Saran umum / kritik terhadap pengaturan ini akan dihargai.

tracer tong
sumber
Anda mungkin harus mulai dengan hanya mencoba pengaturan. Ada beberapa cara keluar di internet hanya dengan pencarian Google yang memandu Anda melalui proses ini, serta banyak dokumen yang menjelaskan masing-masing sistem yang mungkin harus Anda pelajari.
music2myear

Jawaban:

0

Saya pikir saya mengerti apa yang ingin Anda capai. Ubuntu Virtualbox Anda adalah server utama, tempat Anda seharusnya memiliki:

  1. Buruh pelabuhan
  2. git dan semua utilitas
  3. konten Anda (html, php, css, js, dll.)

Docker memungkinkan Anda untuk menginstal aplikasi kemas, yaitu .:

  1. Nginx dan php-fpm
  2. MySQL
  3. NodeJS

Anda harus melihatnya sebagai aplikasi, tidak lebih dari itu. Anda harus memiliki satu wadah per aplikasi, jadi ketika Anda ingin menggunakan versi yang berbeda, katakanlah, MySQL, Anda harus menghancurkan wadah dan membuat yang baru. Setiap kontainer harus mengekspos port yang harus diakses (mis. Port 80 atau 443 untuk nginx). Juga, wadah tersebut harus diberikan akses ke folder di server utama tempat file sumber berada (dan dikontrol versi dengan git). Dengan cara ini, menghancurkan sebuah wadah harus sama dengan menghapus instalasi suatu program.

simlev
sumber