这两天网站转移到新的服务器后,登录时出现一个问题,会等待几分钟服务器才响应。

开始以为是nginx服务器的问题,后面经过排查发现是php一个登陆验证的函数的问题,每次跑到这个函数就会迟钝几分钟。

经过调试,发现也并不是进入死循环的原因,经过好几个文件的追踪,原来是连接mongoDB的时候出现的问题。

找到config.php配置文件,ping了下配置的ip,发现连上不。原来那台mongoDB服务器已经不在了。

经过考虑后,决定在服务器中部署新的mongoDB服务。

安装php mongoDB扩展

1.首先下载php的mongodb扩展

从http://pecl.php.net/package/mongo这个网址下载mongodb的扩展源码包

wget http://pecl.php.net/get/mongo-1.4.5.tgz

2.解压安装包

tar zxf mongo-1.4..tgz

3.进入解压目录,运行phpize进行安装准备

 cd mongo-1.4.

 /usr/local/php/bin/phpize

4.安装编译

  上述命令运行完后,在目录下就生成了configure文件

  使用./configure命令进行安装配置,然后使用make && make install进行编译安装,命令如下:

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

  5.编辑php.ini增加下述一行添加mongodb扩展

extension=mongo.so

  重启web服务器和php-fpm,然后php输入phpinfo(),打开浏览器。看到mongodb的内容就说明安装成功。

或者命令行php -m也可以查看

安装mongoDB服务端

下载版本:2.0.2-rc2
下载链接: 
wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.0.1.tgz 
首先在linux中解压缩安装程序
解压:
[root@localhost soft]# tar -zxvf mongodb-linux-i686-2.0.2-rc2.tgz
我们把 mongodb-linux-i686-2.0.2-rc2重命名为mongodb
我们把在mongodb目录下新建一个data目录存放数据、新建一个log目录存放日志,然后在该目录下新建一个日志文件,例如我们命名为mongodb.log
[root@localhost mongodb]# mkdir log
[root@localhost mongodb]# mkdir data
[root@localhost mongodb]# cd log
[root@localhost log]# touch mongodb.log
然后定位到mongodb/bin目录中
[root@localhost local]# cd mongodb/bin  
使用mongod命令建立一个mongodb数据库链接,端口号设置为27017(也是默认端口),数据库的路径为/mongodb/data,日志路径为/mongodb/log/mongodb.log
启动命令 :  
[root@localhost mongodb]# ./bin/mongod -port 27017 --dbpath data/ --logpath log/mongodb.log  --fork
all output going to: log/mongodb.log
[root@localhost mongodb]# ps -ef | grep momgod   (查看是否启动成功)

常用的启动参数:

--dbpath:指定存储数据的文件夹

--logpath:指定日志存储文件

--logappend:日志以增加方式产生

--port指定端口,如果不写的话,默认是27017

--fork代表后台运行(注意:如果不加后台启动参数fork,启动的这个页面不能关闭,使用命令连接数据库时要另打开一个窗口)

停止命令:

# ./mongod -shutdown -dbpath=/usr/local/mongodb/data

通过配置文件启动

通过配置文件来配置Mongodb
首先在mongodb目录下新建一个文件,文件名任意,在这里我取名为:mongodb.conf

[root@localhost mongodb]# vi mongodb.conf 

然后在配置文件中添加配置信息

port=
dbpath=data/
logpath=log/mongodb.log
logappend=true

解释说明:
port=10001【代表端口号,如果不指定则默认为 27017 】
dbpath=data/ 【数据库路径】
logpath=log/mongodb.log 【日志路径】
logappend=true 【日志文件自动累加,而不是覆盖】
启动Mongodb服务

[root@localhost mongodb]# ./bin/mongod -f mongodb.conf
all output going to: log/mongodb.log
备注:如果启动失败

非法关闭服务器,会产生mongod.lock文件
再次强调我的linux发行版本是Fedora
关于mongodb Error: couldnt connect to server 127.0.0.1 shell/mongo.js:84 - kaizhu_QIN - kaizhu_Qin

这时候将mongod.lock文件删除就能解决问题。
执行删除mongod.lock文件:rm -rf mongod.lock

Ps:如果需要将mongod加入到服务器开机自动启动,执行一下命令:
chkconfig --levels 235 mongod on

使用客户端来连接该数据库
重新开启一个终端,然后切换到mongodb目录下:
[root@localhost /]# cd usr/local/mongodb  
然后使用bin/mongo命令来连接该数据库
[root@localhost mongodb]# ./bin/mongo localhost:
MongoDB shell version: 2.0.-rc2
connecting to: localhost:27017/test
>
bye
往数据库中插入值
connecting to: localhost:/test
> db.foo.save({a:})
从数据库中查询

> db.foo.find()
{ "_id" : ObjectId("4ee66eb440ef7803a9873d2d"), "a" : }
>
通过浏览器访问
在浏览器地址栏输入: http://localhost:27017/ 然后回车访问
可以看到如下提示:You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number
然后根据提示把端口号加上1000访问 http://localhost:11001/ 、
就能够访问到Monodb的服务端web页面

linux下部署monogoDB服务(以及安装php mogodb扩展)的更多相关文章

  1. linux下部署tomcat服务器之安装tomcat

    下载tomcat压缩包 apache-tomcat-7.0.82.tar.gz 在把包放到linux 的softwore文件夹下  自己选择文件夹 tar -zxvf apache-tomcat-7. ...

  2. linux下部署tomcat服务器之安装jdk

    如果一开始安装过jdk的可以卸载 rpm -qa | grep java rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x8 ...

  3. Linux下部署Samba服务环境的操作记录

    关于Linux和Windows系统之间的文件传输,很多人选择使用FTP,相对较安全,但是有时还是会出现一些问题,比如上传文件时,文件名莫名出现乱码,文件大小改变等问题.相比较来说,使用Samba作为文 ...

  4. 关于linux下ntp时间同步服务的安装与配置

    1.安装ntp服务,要使用时间同步.那么服务端与客户端都需要使用如下命令安装NTP软件包 [root@ ~]# yum install ntp -y 2.如果只是作为客户端的话,配置则可以非常简单,编 ...

  5. 如何在Linux下部署Samba服务?

    Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件 ...

  6. linux下部署nginx服务

    1.安装依赖包  yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 2.下载并解压安装包  cd /usr/loc ...

  7. (转)linux下weblogic12c集群的安装部署

    本文介绍linux下weblogic12c集群的安装部署,版本12c,其他版本操作会有所不同,但其大体操作基本都是一样的 关于weblogic的集群,在此就不多做介绍了,如果有不了解的朋友可以百度搜索 ...

  8. Linux下部署FTP服务器

    Linux下部署FTP服务器 下载安装包 在这里介绍的是离线部署FTP,首先下载对应的rpm包,下载链接为: 下载vsftpd服务 下载FTP客户端 安装ftp服务器 关闭防火墙 service ip ...

  9. linux下部署项目问题

    1. 今天linux下部署thinkphp项目,数据库用的mysql. 页面其他都是正常的,但是从数据库中取出的数据都是乱码.最后查了资料 解决方案: 在ThinkPHP里面 Library\Thin ...

随机推荐

  1. python永久添加环境变量

    import sys sys.path 系统环境是一个list,可以将自己需要的库添加进入,例如mysql库,hive库等等.有三种方式添加,均验证通过:     1 临时添加,在一个shell窗口中 ...

  2. SpringSecurity-UsernamePasswordAuthenticationFilter的作用

    UsernamePasswordAuthenticationFilter应该是我们最关注的Filter,因为它实现了我们最常用的基于用户名和密码的认证逻辑. 先看一下一个常用的form-login配置 ...

  3. Linux文件误删之后恢复方法

    前言 今天不小心把一个文件给误删了,因为不想花半天时间重新写,就查找了一下Linux下恢复文件的方法. 因为是刚删不久,文件实际的数据应该还在 首先查看系统分区 Linux:~# df Filesys ...

  4. Linux进程被杀掉(OOM killer),查看系统日志

    基本概念: Linux 内核有个机制叫OOM killer(Out Of Memory killer),该机制会监控那些占用内存过大,尤其是瞬间占用内存很快的进程,然后防止内存耗尽而自动把该进程杀掉. ...

  5. python之路——14

    王二学习python的笔记以及记录,如有雷同,那也没事,欢迎交流,wx:wyb199594 复习 1.迭代器 1.双下方法:不常直接调用,是通过其他语法触发的 2.可迭代的:可迭代协议——含有__it ...

  6. mysql高性能6章总结(下) mysql查询优化

    6.5查询优化器的局限性 mysql优化器是有局限性的,有时需要我们改写查询以提高效率. 6.5.1关联子查询 子查询是mysql一个很不效率的地方. 这一节首先我们需要了解一下相关子查询:内外部查询 ...

  7. WordPress版微信小程序2.1.5版发布

    WordPress版微信小程序功能已经基本完善,利用这套程序,搭配WordPress提供的rest api,WordPress网站的站长可以快速搭建属于自己的网站微信小程序 . WordPress版微 ...

  8. Chapter3 复杂度分析(上):如何分析,统计算法的执行效率和资源消耗

    数据结构解决的问题:“快” + “省”,即为时间,空间复杂度分析 1:为什么需要复杂度分析? 因为通过统计手段分析的结果受到两个因素的影响,一:测试结果非常依赖测试环境,二:测试结果受数据规模的影响很 ...

  9. php多维数组排序

    数组 array(11) { [0] => array(7) { ["food_id"] => string(2) "31" ["food ...

  10. Mysql相关问题集锦

    1:连接阿里云的服务器时,用navicate连接SSH时提示:或提示指到另一个IP从而进不去. SSH:expected key exchange group packet form server 解 ...