CentOS Nginx PHP-fpm环境加MongoDB配置

MongoDB真的很吃内存,不过还是将它弄到了服务器上(如果服务器的内存不够大最好还是不要装吧)。感觉MongoDB比MySQL好多了,记录的方式更接近人脑的思维,极大地突破了行列的限制。Json的数据结构方式也很方便。在连接MongoDB到PHP-fpm的时候遇到了一点问题,因为用的是Nginx不是传统的Apache,有很多组件没有装。需要补装一下。

 

 

 

按照官方的文档(http://docs.mongodb.org/ecosystem/drivers/php/),真的是很简单

先安装

sudo pecl install mongo

然后找到php.ini

加入

extension=mongo.so

然后就大功告成了。

 

 

但是实践中发现出现了这样的错误

[root@masterchan ~]# sudo pecl install mongo
downloading mongo-1.5.3.tgz ...
Starting to download mongo-1.5.3.tgz (191,258 bytes)
.........................................done: 191,258 bytes
116 source files, building
running: phpize
sh: phpize: command not found
ERROR: `phpize' failed

 

phpize 没有找到,上网找了半天,这个是由于php的开发包没有安装导致的(其实我们使用Nginx的,根本不需要安装完整的php包,只需要php-fpm就可以了)。这里需要临时安装php-devel,另外建议还是从GitHub下载源码编译安装比较好,既然把开发包也装了。

 

 

首先,安装php-devel这里你会发现它会装一些依赖的组件,将它们记录下来,待会可以卸载掉。

yum install php-devel

 

 

然后下载mongodb  的 php驱动,解压,编译驱动并安装,重启一下,就可以在phpinfo里面看到mongodb了

wget https://github.com/mongodb/mongo-php-driver/archive/master.zip
unzip master.zip
cd mongo-php-driver-master/
phpize
./configure
make
make test
make install
service php-fpm restart

 

 

然后做一下清洁,把多余的安装包删掉,php-devel其实我们只是借用来生成.so文件的,现在其实是可以删除掉的了

yum erase php
yum erase mailcap
yum erase automake
yum erase autoconf

 

使用php-fpm其实可以在/etc/php.d/文件夹里面新建一个ini文件然后把

extension=mongo.so

加入进去的,这里可以参照这个文件夹里面的其它设置文件。

安装完成后必须检查权限,特别是检查session文件夹的权限

 

 

这篇博文发表在 开发运维 | Dev Ops 目录下,标签为 , , ,
如需引用,请使用链接:https://note.mc256.dev/?p=385

This article published in 开发运维 | Dev Ops with tags , , , .
Cite this page using this link:https://note.mc256.dev/?p=385

您的邮箱地址不会被公开,评论使用Gravatar头像。
Your email address will not be published. This blog is using Gravatar.

正在提交评论... Submitting ...
正在为您准备评论控件 Loading Comment Plugin
Copyright © 2013-2024 mc256. All Rights Reserved.
Powered by WordPress on top of a dual-stack k3s Cluster using JuiceFS.
Wordpress Theme Designed By mc256.
Encrypted By Let's Encrypt.  Hosted On Linode + OVH + AWS.
DNS Provided By Hostker.
Status Page by CloudFlare Worker.