MongoDB单机部署

*一、 环境信息

  •   OS:CentOS 7.1
      数据库:mongodb-3.0.5
      Apache:2.2.17
      PHP:5.5.30(php-5.5.30.tar.gz)
      所需安装包:
      httpd-2.2.17.tar.gz
      php-5.5.30.tar.gz
      mongodb-linux-x86_64-3.0.5.tgz
    

二. 部署实施过程

1. 安装Apache
1)解压文件

[root@localhost ~]# tar zxf httpd-2.2.17.tar.gz && cd httpd-2.2.17

2)编译安装

[root@localhost httpd-2.2.17]# yum install gcc gcc-c++ openssl-devel -y
[root@localhost httpd-2.2.17]# ./configure  --prefix=/usr/local/apache --enable-so  --enable-rewrite --enable-charset-lite  --enable-cgi --with-included-apr
[root@localhost httpd-2.2.17]# make && make install

3)配置Apache启动脚本

[root@localhost httpd-2.2.17]# cp /usr/local/apache/bin/apachectl /etc/init.d/apache
[root@localhost httpd-2.2.17]# /etc/init.d/apache start

4)Apache测试

[root@localhost httpd-2.2.17]# curl -I http://localhost/index.html
HTTP/1.1 200 OK
Date: Thu, 04 Jun 2020 07:59:03 GMT
Server: Apache/2.2.17 (Unix)
Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
ETag: "94552b-2c-3e9564c23b600"
Accept-Ranges: bytes
Content-Length: 44
Content-Type: text/html

2. 安装php
1)解压安装包

[root@localhost php-5.5.30]# tar -xvf php-5.5.30.tar.gz && cd php-5.5.30

2)编译安装

[root@localhost php-5.5.30]# yum -y install epel-release
[root@localhost php-5.5.30]# yum -y install libxml2-devel libcurl libcurl-devel jpeg* png* libpng-devel libmcrypt libmcrypt-devel
[root@localhost php-5.5.30]# yum -y install php-common php-devel
[root@localhost php-5.5.30]# ./configure --prefix=/usr/local/php --enable-fpm   --with-apxs2=/usr/local/apache/bin/apxs  --with-mysql=mysqlnd --with-mysqli=mysqlnd -with-pdo-mysql=mysqlnd --without-pdo-sqlite --without-sqlite3  --with-mysql-sock=/tmp/mysql.sock  --with-curl --enable-mbstring --with-mhash --with-mcrypt  --with-openssl --with-gd  --enable-sockets --with-gettext  --with-zlib --enable-zip --enable-soap  --with-xmlrpc  --with-mcrypt
[root@localhost php-5.5.30]# make && make install

3)配置PHP文件

[root@localhost php-5.5.30]# cp php.ini-production /usr/local/php/php.ini
[root@localhost php-5.5.30]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
[root@localhost php-5.5.30]# /usr/local/php/sbin/php-fpm

4)配置Apache支持PHP并启动Apache服务

[root@localhost php-5.5.30]# vim /usr/local/apache/conf/httpd.conf
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>


    AddType application/x-httpd-php  .php
    AddType application/x-httpd-php-source .phps
[root@localhost php-5.5.30]# /etc/init.d/apache stop
[root@localhost php-5.5.30]# /etc/init.d/apache start

5)上传程序源代码
程序源代码上传至/usr/local/apache/htdocs目录下
6)测试PHP

[root@localhost php-5.5.30]# cat /usr/local/apache/htdocs/index.php 
<?php
	phpinfo();
?>
[root@localhost php-5.5.30]# curl -I http://localhost/index.php
HTTP/1.1 200 OK
Date: Thu, 04 Jun 2020 08:40:28 GMT
Server: Apache/2.2.17 (Unix) PHP/5.5.30
X-Powered-By: PHP/5.5.30
Content-Type: text/html

7)更改源代码文件

[root@localhost ~]# vim /usr/local/apache/htdocs/upload/config/dz.php
#此处根据程序代码存放位置以及配置文件名而定
        //mongo 主库地址
        'mongo_sc' => array(
                'host' => '127.0.0.1',
                'port' => '27017',
                'db'=> 'mongo',
        ),
        'page_per_record' => 20,

3. 安装Mongo-php插件包
1)解压安装包

[root@localhost ~]# tar -xvf mongo-1.4.0.tgz && cd mongo-1.4.0

2)编译安装

[root@localhost mongo-1.4.0]# /usr/local/php/bin/phpize 
Configuring for:
PHP Api Version:         20121113
Zend Module Api No:      20121212
Zend Extension Api No:   220121212
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
解决办法:
[root@localhost mongo-1.4.0]# yum install autoconf
[root@localhost mongo-1.4.0]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@localhost mongo-1.4.0]# make && make install
[root@localhost mongo-1.4.0]# vim /usr/local/php/lib/php.ini
在最后添加
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/mongo.so
重启Apache服务,检查该模块是否生效
[root@localhost mongo-1.4.0]# /etc/init.d/apache stop
[root@localhost mongo-1.4.0]# /etc/init.d/apache start
[root@localhost mongo-1.4.0]# curl http://localhost/index.php | grep mongo
[root@localhost mongo-1.4.0]# /usr/local/php/bin/php -m
#查看PHP所支持的模块

4. 安装phpredis拓展包
1)解压安装包

[root@localhost ~]# tar -xvf phpredis-2.2.4.tar.gz && cd phpredis-2.2.4

2)编译安装

[root@localhost phpredis-2.2.4]# /usr/local/php/bin/phpize 
Configuring for:
PHP Api Version:         20121113
Zend Module Api No:      20121212
Zend Extension Api No:   220121212
[root@localhost phpredis-2.2.4]#  ./configure --with-php-config=/usr/local/php/bin/php-config
[root@localhost phpredis-2.2.4]# make && make install
[root@localhost phpredis-2.2.4]# vim /usr/local/php/lib/php.ini
添加
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/redis.so

重启apache服务

[root@localhost phpredis-2.2.4]# /etc/init.d/apache stop
[root@localhost phpredis-2.2.4]# /etc/init.d/apache start

5. 安装MongoDB数据库
1)解压安装包并更名

[root@localhost ~]# tar -xvf mongodb-linux-x86_64-3.0.5.tgz
[root@localhost ~]# mv mongodb-linux-x86_64-3.0.5  /usr/local/mongodb

2)创建数据文件夹和日志文件夹

[root@localhost ~]# mkdir /data/mongodb/{data,logs} -p
[root@localhost ~]# mkdir /usr/local/mongodb/conf

3)配置Mongo文件

[root@localhost ~]# cat /usr/local/mongodb/conf/mongodb.conf
dbpath=/data/mongodb/data
logpath=/data/mongodb/logs/mongodb.log
pidfilepath=/data/mongodb/mongodb.pid
directoryperdb=true
logappend=true
port=27017
fork=true
profile=2		#开启慢查询
noprealloc=true``
4)4) 启动MongoDB服务
第一种启动方式:
```powershell
[root@localhost ~]# /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf
note: noprealloc may hurt performance in many applications
about to fork child process, waiting until server is ready for connections.
forked process: 115614
child process started successfully, parent exiting

第二种启动方式:

[root@localhost ~]# /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/conf --logpath=/usr/local/mongodb/mongodb.log --logappend --port=27017 --fork
注意:两种启动方式只能使用一种,若两种都使用就需要指定不同的data路径,这样是启动了基于一台MongoDB数据库平台的多个MongoDB服务。
参数解释: 
--dbpath 数据库路径(数据文件)
--logpath 日志文件路径
--master 指定为主机器
--slave 指定为从机器
--source 指定主机器的IP地址
--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)--logappend 日志文件末尾添加
--port 启用端口号
--fork 在后台运行
--only 指定只复制哪一个数据库
--slavedelay 指从复制检测的时间间隔
--auth 是否需要验证权限登录(用户名和密码)

5)编辑用户HOME目录下的.bash_profile配置文件,添加如下内容:

[root@master ~]# cat .bash_profile 
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/mongodb/bin
export PATH

6)手动配置慢查询时间

> db.setProfilingLevel( 1 , 10 );
{ "was" : 1, "slowms" : 10, "ok" : 1 }

7)iptables开启22和80端口

[root@localhost ~]# iptables -A INPUT -p tcp --dport  22 -j ACCEPT
[root@localhost ~]# iptables -A INPUT -p tcp --dport  80 -j ACCEPT

8)导入数据库

[root@localhost ~]# mongodump -d database -o /data/Tongji.data				#Mongo数据备份
[root@localhost ~]# mongorestore -d database -o /data/Tongji/tongji				#Mongo数据恢复

单个Collections名导出

[root@localhost ~]# mongoexport -d database -c homework -o aa.dat
[root@localhost ~]# mongoexport -d database -c homework aa.dat

6. 安装MongoDB管理工具RockMongo
1)解压安装包

[root@localhost ~]# tar -xvf rockmongo-1.1.7.tar.gz

2)拷贝到Apache_HOME目录下

[root@localhost ~]# cp rockmongo-1.1.7 /usr/local/apache/rockmongo -r

3)在httpd.conf配置文件中添加如下内容

[root@localhost ~]# vim /usr/local/apache/conf/httpd.conf
Listen 8080
<VirtualHost *:8080>
        DocumentRoot "/usr/local/apache/rockmongo/"
        <Directory "/usr/local/apache/rockmongo/">
                Options Indexes FollowSymLinks
                AllowOverride ALL
                Order allow,deny
                Allow from all
        </Directory>
</VirtualHost>

4)重启Apache服务

[root@localhost ~]# /etc/init.d/apache stop
[root@localhost ~]# /etc/init.d/apache start

5)验证
http://IP:8080

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值