ScaleGrid je řešení správy MongoDB pro veřejné cloudy. MongoDB (od „humongous“) je škálovatelná, vysoce výkonná, open source databáze NoSQL od 10gen.
ScaleGrid vám pomůže zřídit, nakonfigurovat vysokou dostupnost a obnovu po havárii, zrušit, monitorovat, upgradovat, klonovat, zálohovat a obnovovat vaše nasazení MongoDB na AWS, Azure a DigitalOcean. Jednou z výhod ScaleGrid je, že vám poskytuje plný přístup SSH k vašim instancím. To vám umožní provozovat váš PHP server na stejném počítači jako váš MongoDB server, což je mimořádně užitečná výhoda pro vývojářské a testovací scénáře. V tomto tutoriálu vám v pěti jednoduchých krocích ukážeme, jak nastavit váš PHP server a MongoDB server na stejném počítači.
-
Vytvořte svou instanci MongoDB na ScaleGrid
Postupujte podle pokynů pro zahájení zde a vytvořte si fond strojů, vytvořte instance MongoDB, načtěte přihlašovací údaje SSH a SSH do instance nebo si prohlédněte naši dokumentaci k vytvoření clusteru MongoDB.
P> -
Připojte se k MongoDB a vyplňte svá data
SSH do vaší instance MongoDB. Připojte se k místní instanci MongoDB pomocí vestavěného klienta mongo a spusťte některé dotazy:
/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 }
Pojďme vytvořit fiktivní databázi a vložit některá data do kolekce. „Kolekce“ jsou ekvivalentem relačních tabulek. Kolekce může obsahovat mnoho „dokumentů“, což je ekvivalent řádků v relačním světě.
>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" }
-
Nastavte svůj PHP server
Pokud již máte server PHP spuštěný na počítači odděleném od vašeho serveru MongoDB, můžete tento krok přeskočit a přejít ke kroku 4. Pokud nemáte server PHP , můžete nainstalovat server PHP na stroj MongoDB. Toto je jedna z výhod plného přístupu SSH k vašim počítačům MongoDB:
[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
-
Nainstalujte rozšíření Mongo PHP
Podpora MongoDB v PHP probíhá prostřednictvím rozšíření Mongo PHP. Můžete jej nainstalovat pomocí instalačního programu 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
-
Spusťte kód PHP
Načtěte připojovací řetězec MongoDB z konzoly ScaleGrid na kartě podrobností ve spodní části obrazovky. Pokud spouštíte svůj PHP kód na stejném boxu, můžete použít 127.0.0.1.
Pojďme napsat nějaký PHP kód pro dotazování dokumentů v kolekci, kterou jsme právě vytvořili. Vytvořte soubor s názvem test.php a vložte do něj níže uvedený kód. Spusťte kód pomocí „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()); } ?>
Podrobnější pokyny a příklady naleznete v dokumentaci 10gen o používání PHP s Mongo.