广告
返回顶部
首页 > 资讯 > 数据库 >lnmp 用mongo
  • 550
分享到

lnmp 用mongo

2024-04-02 19:04:59 550人浏览 薄情痞子
摘要

本操作是针对与Centos7.2 进行的安装服务,和环境配置,用mongoDB代替Mysql进行的lnmp安装------------------------------------------------

本操作是针对与Centos7.2 进行的安装服务,和环境配置,用mongoDB代替Mysql进行的lnmp安装


---------------------------------------------------------------------------------------

PHP

----------------------------------------------------------------------------------------


//添加用户

useradd -M -s /sbin/nologin php


//安装编译工具及库文件

yum install -y zlib-devel fontconfig fontconfig-devel libXpm* libtool* libxml2 libxml2-devel curl curl-devel

yum install -y openssl-devel libcurl-devel libjpeg-devel libpng-devel libicu-devel openldap-devel libmcrypt

yum install -y libmcrypt-devel yasm yasm-devel

yum install -y GCc+ gcc-c++


//下载各个安装包

libpngHttp://downloads.sourceforge.net/libpng/libpng-1.6.16.tar.xz

gdhttps://bitbucket.org/libgd/gd-libgd/downloads/libgd-2.1.0.tar.gz

tiffhttp://download.osgeo.org/libtiff/tiff-4.0.3.tar.gz

freetypehttp://ring.u-toyama.ac.jp/arcHives/graphics/freetype/freetype2/freetype-2.5.4.tar.gz

jpegsrchttp://www.ijg.org/files/jpegsrc.v9a.tar.gz


//安装tiff

./configure --prefix=/usr/local/tiff --enable-shared

make && make install


//安装libpng

cd libpng-1.6.16

./configure --prefix=/usr/local/libpng --enable-shared

make && make install


//安装freetype

cd freetype-2.4.0

./configure --prefix=/usr/local/freetype

make && make install


//安装jpeg

cd jpeg-v9a

./configure --prefix=/usr/local/jpeg --enable-shared

make && make install


//安装libgd

cd libgd-2.1.0

./configure \

--prefix=/usr/local/libgd \

--enable-shared \

--with-jpeg=/usr/local/jpeg \

--with-png=/usr/local/libpng \

--with-freetype=/usr/local/freetype \

--with-fontconfig=/usr/local/freetype \

--with-xpm=/usr/ \

--with-tiff=/usr/local/tiff

make && make install


//安装php的准备(只有64位机器才用得到)

cp -frp /usr/lib64/libltdl.so* /usr/lib/

cp -frp /usr/lib64/libXpm.so* /usr/lib/


//安装php

export LD_LIBRARY_PATH=/usr/local/libgd/lib

cd php-5.6.16

./configure \

--prefix=/usr/local/php \

--with-config-file-path=/usr/local/php/etc \

--with-mysql-sock=/tmp/mysqld.sock \

--with-pdo-mysql=mysqlnd \

--with-png-dir=/usr/local/libpng \

--with-gd \

--with-jpeg-dir=/usr/local/jpeg \

--with-freetype-dir=/usr/local/freetype \

--with-xpm-dir=/usr/ \

--with-mcrypt \

--with-zlib \

--with-iconv \

--enable-libxml \

--enable-xml \

--enable-bcmath \

--enable-shmop \

--enable-sysvsem \

--enable-inline-optimization \

--enable-opcache \

--enable-mbregex \

--enable-fpm \

--enable-mbstring \

--enable-ftp \

--enable-gd-native-ttf \

--with-openssl \

--enable-pcntl \

--enable-Sockets \

--with-xmlrpc \

--enable-zip \

--enable-soap \

--without-pear \

--with-gettext \

--enable-session \

--with-curl \

--enable-ctype \

--disable-ipv6 \

--disable-short-tags 

make && make install


//后续处理

cp php.ini-production /usr/local/php/etc/php.ini

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

vi /usr/local/php/etc/php-fpm.conf

pid = run/php-fpm.pid //去除左侧分号

进行以下设置:

这个默认是在/usr/loccal/php/etc/php-fpm.d/www.php-fpm.conf

user = php

group = php


pid = run/php-fpm.pid //去除左侧分号

wq!


//添加开机启动

cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php

chmod +x /etc/rc.d/init.d/php

chkconfig php on


---------------------------------------------------------------------

*****************yum 安装Nginx 或者编译安装nginx

---------------------------------------------------------------------


http://www.nginx.org   在 downloads里面的底部有个一个文件可以写进.repo的那种

弄好之后直接yum安装,


nginx如果是编译安装的话,在你下载网络源的那一页有./configure 后面的参数,或者自行找文档


php 和  nginx 链接好








sudo yum install -y monGodb-enterprise   这个大概会安装10个软件包,有5个是以前yun源指定,这里我还没写,

剩下的5个应该是支持mongod某些特性的软件包

这5个包是:mongodb-enterprise,

mongodb-enterprise-server,

mongodb-enterprise-shell,

mongodb-enterprise-mongos,

mongodb-enterprise-tools

11个包是:

(1/11): cyrus-sasl-gssapi-2.1.26-19.2.el7.x86_64.rpm                                       |  41 kB  00:00:00     

(2/11): lm_sensors-libs-3.3.4-11.el7.x86_64.rpm                                            |  40 kB  00:00:00     

(3/11): cyrus-sasl-plain-2.1.26-19.2.el7.x86_64.rpm                                        |  38 kB  00:00:00     

(4/11): mongodb-enterprise-3.2.1-1.el7.x86_64.rpm                                          | 5.9 kB  00:00:02     

(5/11): mongodb-enterprise-mongos-3.2.1-1.el7.x86_64.rpm                                   | 5.4 MB  00:01:06     

(6/11): mongodb-enterprise-shell-3.2.1-1.el7.x86_64.rpm                                    | 7.0 MB  00:01:14     

(7/11): net-snmp-5.7.2-24.el7.x86_64.rpm                                                   | 321 kB  00:00:00     

(8/11): net-snmp-agent-libs-5.7.2-24.el7.x86_64.rpm                                        | 702 kB  00:00:00     

(9/11): net-snmp-libs-5.7.2-24.el7.x86_64.rpm                                              | 747 kB  00:00:00     

(10/11): mongodb-enterprise-server-3.2.1-1.el7.x86_64.rpm                                  |  12 MB  00:02:19     

(11/11): mongodb-enterprise-tools-3.2.1-1.el7.x86_64.rpm  


-------------------------------

*********mongodb3.2   

--------------------------------


首先先要看一下有没有mysql安装这,rpm -qa | grep mysql 

yum remove mysql-libs*


yum install perl cyrus-sasl cyrus-sasl-plain cyrus-sasl-gssapi krb5-libs \

            lm_sensors net-snmp openssl popt rpm-libs tcp_wrappers zlib

yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-gssapi krb5-libs \

            net-snmp openssl

yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-gssapi krb5-libs \

            lm_sensors-libs net-snmp-agent-libs net-snmp openssl rpm-libs \

            tcp_wrappers-libs




mongd32.repo   (这个会更好点儿)  企业版,收费的

[mongodb-enterprise]

name=MongoDB Enterprise Repository

baseurl=https://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/stable/$basearch/

gpgcheck=0

enabled=1



另一个这个会安装5个包    社区版

[mongodb-org-3.2]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/

gpgcheck=0

enabled=1



((((如果要是删除mongodb    sudo yum erase $(rpm -qa | grep mongodb-enterprise)

sudo rm -r /var/log/mongodb

sudo rm -r /var/lib/mongo

)))))))




*********重头戏,这里,需要php与mongod连接的时候,需要有驱动http://www.cnblogs.com/chengmo/archive/2010/06/28/1766959.html


cd /usr/local/php/   

wget  http://pear.php.net/go-pear.phar

bin/php go-pear.phar  按照导向选择安装位置,这里保持默认即可   ,这样之后就有了pecl命令了,在php的bin下面

bin/pecl install mongodb

vim etc/php.ini   写入extension=mongodb.so

要重启一下php-fpm 就可以了












这个是测试php与mongod是否连通的 (一个连通,一个插入数据)


<?php


$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

var_dump($manager);


?>




<?php


$bulk = new MongoDB\Driver\BulkWrite();


$bulk->insert(['_id' => 1, 'x' => 1]);

$bulk->insert(['_id' => 2, 'x' => 2]);


$bulk->update(['x' => 2], ['$set' => ['x' => 1]], ['multi' => false, 'upsert' => false]);

$bulk->update(['x' => 3], ['$set' => ['x' => 3]], ['multi' => false, 'upsert' => true]);

$bulk->update(['_id' => 3], ['$set' => ['x' => 3]], ['multi' => false, 'upsert' => true]);


$bulk->insert(['_id' => 4, 'x' => 2]);


$bulk->delete(['x' => 1], ['limit' => 1]);


$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');

$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 100);

$result = $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);


printf("Inserted %d document(s)\n", $result->getInsertedCount());

printf("Matched  %d document(s)\n", $result->getMatchedCount());

printf("Updated  %d document(s)\n", $result->getModifiedCount());

printf("Upserted %d document(s)\n", $result->getUpsertedCount());

printf("Deleted  %d document(s)\n", $result->getDeletedCount());


foreach ($result->getUpsertedIds() as $index => $id) {

    printf('upsertedId[%d]: ', $index);

    var_dump($id);

}


if ($writeConcernError = $result->getWriteConcernError()) {

    printf("%s (%d): %s\n", $writeConcernError->getMessage(), $writeConcernError->getCode(), var_export($writeConcernError->getInfo(), true));

}


foreach ($result->getWriteErrors() as $writeError) {

    printf("Operation#%d: %s (%d)\n", $writeError->getIndex(), $writeError->getMessage(), $writeError->getCode());

}


?>







[root@test001 ~]# cat /lib/systemd/system/php-fpm.service 

[Install]

WantedBy=multi-user.target

[Unit]

Description=The PHP FastCGI Process Manager

After=syslog.target network.target


[Service]

Type=forking

PIDFile=/usr/local/php/var/run/php-fpm.pid

ExecStart=/usr/local/php/sbin/php-fpm --fpm-config /usr/local/php/etc/php-fpm.conf

ExecReload=/bin/kill -USR2 $MAINPID




[root@test002 /]# echo never > /sys/kernel/mm/transparent_hugepage/enabled

[root@test002 /]# echo never > /sys/kernel/mm/transparent_hugepage/defrag



vi /usr/lib/systemd/system/nginx.service

[Unit]

Desciption=nginx


[Service]

Type=forking

PIDFile=/usr/local/nginx/logs/nginx.pid

ExecStart=/usr/local/nginx/sbin/nginx

ExecStop=/usr/local/nginx/sbin/nginx -s stop

ExecReload=/usr/local/nginx/sbin/nginx -s reload


[Install]

WantedBy=multi-user.target


//开机启动

systemctl enable nginx




接下来是mongod的开机自启动,这个是安装了11个包的那个稳定版的

[root@test001 WEB]# cat /lib/systemd/system/mongod.service 

# Automatically generated by systemd-sysv-generator


[Unit]

Documentation=man:systemd-sysv-generator(8)

SourcePath=/etc/rc.d/init.d/mongod

Description=SYSV: Mongo is a Scalable, document-oriented database.

Before=runlevel3.target runlevel5.target shutdown.target

After=network-online.target network.service

Conflicts=shutdown.target


[Service]

Type=forking

Restart=no

TimeoutSec=5min

IgnoreSIGPIPE=no

KillMode=process

GueSSMainPID=no

RemainAfterExit=no

PIDFile=/var/run/mongodb/mongod.pid

ExecStart=/etc/rc.d/init.d/mongod start

ExecStop=/etc/rc.d/init.d/mongod stop

ExecReload=/etc/rc.d/init.d/mongod reload


您可能感兴趣的文档:

--结束END--

本文标题: lnmp 用mongo

本文链接: https://www.lsjlt.com/news/34473.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • lnmp 用mongo
    本操作是针对与centos7.2 进行的安装服务,和环境配置,用mongodb代替mysql进行的lnmp安装------------------------------------------------...
    99+
    2022-10-18
  • 【Mongo】mongo配置文件
    大于等于3.2按这种写法 [ root@ ip - 172 - 31 - 33 - 43 conf ...
    99+
    2022-10-18
  • 【mongo】mongo 字段类型互转
    mark一下 参考: https://blog.csdn.net/laoyang360/article/details/72594344 1.str转long 当int很长时 ...
    99+
    2022-10-18
  • mongo shell
    mongo shell mongo 连接 本地 mongo # 连接127.0.0.1:27017 远程 mongo "mongodb://mongodb0.example.com:28015" 带认证的方式 mongo "mon...
    99+
    2014-07-24
    mongo shell
  • 3 LNMP
    一 安装nginxnginx以fastcgi方式调用phpnginx-1.4.7.tar.gz二 安装mysql mysql-5.6.31-linux-glibc2.5-x86_64三 安装phpphp-5.6.9 1 安装依赖的文件(在e...
    99+
    2023-01-31
    LNMP
  • (LNMP) Nginx_PHP_MariaDB
    L用的是Centos7.5以上,主要是NMP三组件的安装记录。 通常会先安装一下依赖: yum install -y pcre-devel zlib-devel openssl-devel     使用yum或rpm方式安装M...
    99+
    2019-10-30
    (LNMP) Nginx_PHP_MariaDB
  • LNMP+Zabbix
    第1章 环境规划1.1 环境要求[root@web01 ~]# cat /etc/redhat-releaseCentOS release 6.7 (Final)[root@web01 ~]# uname ...
    99+
    2022-10-18
  • mongo之db.createCollection()
    db.createCollection(<name>, { capped: <boolean>,  ---固定合集,联合size,max一起考虑  &n...
    99+
    2022-10-18
  • mongo code 96
    Mongodb: Sort operation used more than the maximum 33554432 bytes of RAM1    mongo ...
    99+
    2022-10-18
  • mongo用户与权限
        开启MongoDB服务时不添加任何参数时,默认是没有权限验证的,登录的用户可以对数据库任意操作而且可以远程访问数据库!    在刚安装完毕的时候MongoDB都默认有一个admin数据库(3.0以前...
    99+
    2022-10-18
  • 【Mongo】Mongodump 与 mongorestore对mongo进行备份恢复
    1.mongoexport 导出和mongoimport导入 Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过...
    99+
    2022-10-18
  • LNMP架构
    目录 一、LNMP架构介绍 二、准备工作 1、将安装包传到/opt/目录下 2、搭建本地yum仓库 三、编译安装nginx服务 四、编译安装mysql服务 五、编译安装 PHP 解析环境 六、 部署Discuz社区论坛 七、装完后使用浏览...
    99+
    2023-09-11
    架构 php 服务器 linux 运维
  • LNMP搭建
    一、编译安装nginx1.1 关闭防火墙,将安装nginx所需软件包传到/opt目录下并解压1.2 安装依赖包1.3 创建运行用户与组1.4 编译安装Nginx1.5 检查配置文件是否配置...
    99+
    2023-09-02
    nginx 运维 服务器
  • 【Mongo】mongodb的用户认证
    1.创建超级账号 > use admin ; > db . createUser ( { user : "a...
    99+
    2022-10-18
  • [MongoDB] Spring Data Mongo
    Spring Data Mongo 笔记 ...
    99+
    2022-10-18
  • mongo的安装
    mongo操作参考此篇文章 http://wiki.jikexueyuan.com/project/mongodb/ 此处的版本可以随意的自行修改 wget http://downloads.m...
    99+
    2022-10-18
  • golang查询mongo
    Golang是一种快速、简洁、安全而具有高效的编程语言,受到了广泛的关注和应用。MongoDB则是一种无模式、文档型数据库,是现代应用程序的首选数据库之一。Golang和MongoDB的结合,能够为开发人员带来很多好处。在本篇文章中,我们将...
    99+
    2023-05-21
  • lnmp架构-PHP
    08 PHP源码编译          09 php初始化配置                 nginx 的并发能力强            phpinfo函数 就是 显示php信息  10 php的功能模块 编译memcache模块...
    99+
    2023-09-10
    php 开发语言
  • 配置Lnmp+redis
    配置Lnmp+redis [root@40 ~]# yum -y install gcc gcc-c++ pcre-devel zlib-devel [root@40 lnmp]# tar -xf ngin...
    99+
    2022-10-18
  • Zabbix3.0+LNMP安装
    1. zabbix3.0实验环境Nginx:1.10.2 Mysql: 5.6.33 PHP:5.6.12 Zabbix:3.0.5 Zabbix_server_IP: 192.168....
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作