ScaleGrid adalah solusi pengelolaan MongoDB untuk cloud publik. MongoDB (dari “humongous”) adalah database NoSQL open source yang skalabel, berkinerja tinggi, dan 10gen.
ScaleGrid akan membantu Anda menyediakan, mengonfigurasi ketersediaan tinggi dan pemulihan bencana, deprovision, memantau, meningkatkan, mengkloning, mencadangkan, dan memulihkan penerapan MongoDB Anda di AWS, Azure, dan DigitalOcean. Salah satu keuntungan ScaleGrid adalah memberi Anda akses SSH penuh ke instance Anda. Ini memungkinkan Anda untuk menjalankan server PHP Anda di mesin yang sama dengan server MongoDB Anda, manfaat yang sangat berguna untuk skenario pengembangan dan pengujian. Dalam tutorial ini, kami akan menunjukkan kepada Anda dalam lima langkah sederhana cara menyiapkan server PHP dan server MongoDB Anda di mesin yang sama.
-
Buat Instans MongoDB Anda di ScaleGrid
Ikuti petunjuk memulai di sini untuk membuat kumpulan mesin Anda, membuat instance MongoDB, mengambil kredensial SSH dan SSH ke dalam instance, atau lihat dokumentasi Buat Cluster MongoDB kami.
-
Hubungkan ke MongoDB dan Isi Data Anda
SSH ke dalam instance MongoDB Anda. Hubungkan ke instans MongoDB lokal Anda menggunakan klien mongo bawaan dan jalankan beberapa kueri:
/usr/bin/mongo MongoDB shell version: 2.0.7 connecting to: test >show dbs config (empty) local (empty) >db.version() 2.0.7 >db.stats() { "db" : "test", "collections" : 0, "objects" : 0, "avgObjSize" : 0, "dataSize" : 0, "storageSize" : 0, "numExtents" : 0, "indexes" : 0, "indexSize" : 0, "fileSize" : 0, "nsSizeMB" : 0, "ok" : 1 }
Mari kita buat database dummy dan masukkan beberapa data ke dalam koleksi. "Koleksi" setara dengan tabel relasional. Koleksi dapat berisi banyak "dokumen" yang setara dengan baris di dunia relasional.
>use testdb switched to db testdb >db.testcollection.insert({"name":"blah", "value":"humbug"}); >db.testcollection.insert({"name":"blah1", "value":"humbug1"}); >db.find(); { "_id" : ObjectId("50db292013d7f5d141a9cbfb"), "name" : "blah", "value" : "humbug" } { "_id" : ObjectId("50db292913d7f5d141a9cbfc"), "name" : "blah1", "value" : "humbug1" }
-
Siapkan Server PHP Anda
Jika Anda sudah memiliki server PHP yang berjalan di mesin yang terpisah dari server MongoDB, Anda dapat melewati langkah ini dan melanjutkan ke langkah 4. Jika Anda tidak memiliki server PHP , Anda dapat menginstal server PHP di mesin MongoDB. Ini adalah salah satu manfaat memiliki akses SSH penuh ke mesin MongoDB Anda:
[root@ip-10-29-173-18 ~]#yum install httpd php [root@ip-10-29-173-18 ~]#chkconfig httpd on [root@ip-10-29-173-18 ~]#service httpd start
-
Instal Ekstensi Mongo PHP
Dukungan MongoDB di PHP adalah melalui ekstensi Mongo PHP. Anda dapat menginstalnya menggunakan penginstal PECL:
[root@ip-10-29-173-18 ~]#yum install php-pear [root@ip-10-29-173-18 ~]#yum install php-devel [root@ip-10-29-173-18 ~]#yum install make [root@ip-10-29-173-18 ~]#pecl install mongo [root@ip-10-29-173-18 ~]#echo "extension=mongo.so" >> /etc/php.ini [root@ip-10-29-173-18 ~]#/etc/init.d/httpd restart
-
Jalankan Kode PHP
Ambil string koneksi MongoDB dari konsol ScaleGrid di tab detail di bagian bawah layar. Jika Anda menjalankan kode PHP pada kotak yang sama, Anda dapat menggunakan 127.0.0.1.
Mari kita menulis beberapa kode PHP untuk menanyakan dokumen dalam koleksi yang baru saja kita buat. Buat file bernama test.php dan masukkan kode di bawah ini ke dalam file. Jalankan kode menggunakan “php test.php”.
<?php try { // open connection to MongoDB server $conn = new Mongo('<connection string>'); // access database $db = $conn->testdb; // access collection $collection = $db->testcollection; // execute query // retrieve all documents $cursor = $collection->find(); // iterate through the result set // print each document echo $cursor->count() . ' document(s) found. '; foreach ($cursor as $obj) { echo 'Name: ' . $obj['name'] . ' '; echo 'Value: ' . $obj['value'] . ' '; echo ' '; } // disconnect from server $conn->close(); } catch (MongoConnectionException $e) { die('Error connecting to MongoDB server'); } catch (MongoException $e) { die('Error: ' . $e->getMessage()); } ?>
Untuk instruksi dan contoh yang lebih detail, lihat dokumentasi 10gen tentang penggunaan PHP dengan Mongo.