真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

搭建centos7+apache+mongodb+php環(huán)境

搭建centos7+apache+MongoDB+php環(huán)境

最近在做一個(gè)關(guān)于NOSQL注入的實(shí)驗(yàn),需要搭建數(shù)據(jù)庫(kù)是mongodb的數(shù)據(jù)庫(kù)網(wǎng)站環(huán)境環(huán)境。但是本人對(duì)mongodb數(shù)據(jù)庫(kù)了解甚少,所以在搭建的過程中遇到了很多問題。因?yàn)椴?,所以學(xué)。不知道有沒有童靴在搭建環(huán)境的時(shí)候是不是也遇到了很多問題。
這篇文章是在做完實(shí)驗(yàn)之后寫的,所以當(dāng)中遇到的問題也沒有去找辦法截圖,所以只是在下面提幾個(gè)記憶猶新的問題。如果有同學(xué)遇到同樣的問題,希望可以幫助你解決。不要整天在搭建環(huán)境,并且還沒有完成(我就是這樣,嘲笑我吧?。。。?/strong>

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比屏山網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式屏山網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋屏山地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。

遇到的問題:

1、php版本的安裝影響php的mongodb數(shù)據(jù)庫(kù)的擴(kuò)展
本次安裝選擇php5.6的版本
2、安裝時(shí)的依賴包問題
3、安裝順序問題
4、安裝后配置文件和啟動(dòng)方式的問題
5、馬虎

環(huán)境介紹:

linux:CentOS7
apache:2.4.6
MongoDB:3.2.10
php:5.6

需要下載的安裝源碼及其他源碼

php-5.6:http://cn2.php.net/downloads.php
mongodb-3.2.10:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.10.tgz
mongodb的php擴(kuò)展:http://pecl.php.net/get/mongo-1.5.5.tgz

安裝步驟:

1、安裝apache服務(wù)

apache服務(wù)安裝沒有特別的要求,直接用yum源安裝就可以。
解答點(diǎn):(依賴問題)
注意的是,一定要安裝httpd-devel,因?yàn)檫@個(gè)包和apxs命令相關(guān),此命令用來加載php模塊,當(dāng)在安裝php的時(shí)候會(huì)用到。這個(gè)就屬于安裝依賴、包的問題。沒有這個(gè)后面編譯安裝后php,Apache服務(wù)是沒有辦法加載libphp5.so這個(gè)模塊的。
為了避免有個(gè)別包需要安裝而沒有安裝的事故發(fā)生,直接:

yum install httpd* -y

搭建centos7+apache+mongodb+php環(huán)境

2、安裝mongodb數(shù)據(jù)庫(kù)

(1)將下載的源碼上傳到服務(wù)器,然后就行解壓安裝
(2)安裝之前應(yīng)先創(chuàng)建有關(guān)目錄和文件

mkdir /data/mongodb/dbs -p
touch /data/mongodb/log

作用,第一個(gè)目錄是用來后面存放數(shù)據(jù)庫(kù)數(shù)據(jù)的,第二個(gè)文件是用來存放數(shù)據(jù)庫(kù)日志的文件,后面都會(huì)用的到。
搭建centos7+apache+mongodb+php環(huán)境

(3)將壓縮包解壓到指定目錄

tar -xvf mongodb-linux-x86_64-rhel62-3.2.10.gz -C /usr/local

(4)為了使用命令的方便,將數(shù)據(jù)庫(kù)的文件路徑加入到環(huán)境變量中

vi .bash_prefile

搭建centos7+apache+mongodb+php環(huán)境

使環(huán)境變量能夠生效,需要執(zhí)行一條命令:

source .bash_prefile

(4)為數(shù)據(jù)庫(kù)創(chuàng)建配置文件,啟動(dòng)數(shù)據(jù)庫(kù)
vi /etc/mongodb.conf

dbpath=/date/mongodb/dbs //數(shù)據(jù)文件地址
logpath=/data/mongodb/log //日志文件地址
port=27071 //端口號(hào)(默認(rèn)27017)
fork=true //后臺(tái)運(yùn)行
journal=true //啟用日志選項(xiàng)

啟動(dòng)數(shù)據(jù)庫(kù):

mongod -f /etc/mongodb.conf

解答點(diǎn)(數(shù)據(jù)庫(kù)啟動(dòng)方式問題)
面啟動(dòng)方式出現(xiàn)的問題進(jìn)行一下解答,mongodb數(shù)據(jù)庫(kù)默認(rèn)的端口是27017,進(jìn)入數(shù)據(jù)庫(kù)的時(shí)候可以直接輸入命令mongo就可以,但是由于我的一時(shí)馬虎,將配置文件中寫成了27071所以用開始的方法是沒辦法啟動(dòng)的。當(dāng)改變了端口,進(jìn)入數(shù)據(jù)庫(kù)的方法是:
mongo localhost:端口號(hào)
例如我這里:mongo localhost:27071

3、安裝php

(1)將下載的源碼上傳到服務(wù)器
(2)解壓

tar -zxvf php-5.6.39.tar.gz

搭建centos7+apache+mongodb+php環(huán)境

(3)安裝相關(guān)依賴:

yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel gcc

這里編譯安裝的時(shí)候會(huì)需要很多相關(guān)依賴,為了方便,避免產(chǎn)生錯(cuò)誤,在網(wǎng)上搜集了一些需要的依賴,同時(shí),編譯安裝需要gcc,可以看一下自己有沒有這個(gè)編譯工具,沒有的話也需要安裝。

(4)進(jìn)入解壓后的目錄,編譯安裝

cd php-5.6.39

./configure --prefix=/usr/local/php --with-config-file-path=/etc --with-apxs2=/usr/bin/apxs

--prefix 指定了安裝位置
--with-config-file-path 指定php.ini的位置
--with-apxs2 整合 apache,apxs功能是使用mod_so中的LoadModule指令,加載指定模塊到 apache,要求 apache 要打開SO模塊

這里apxs的命令根據(jù)自己個(gè)人情況路徑而定,查看apxs文件路徑方法:

which apxs

(5)安裝

make && make install
cp php.ini-production /etc/php.ini

(6)同樣的,設(shè)置環(huán)境變量
搭建centos7+apache+mongodb+php環(huán)境

使環(huán)境變量生效:source .bash_prefile
安裝完之后看一看在/etc/httpd/modules/目錄下有沒有l(wèi)ibphp5.so,有的話說明模塊安裝的沒問題,如果這里沒有這個(gè)模塊的話,在apache解析php的時(shí)候會(huì)出現(xiàn)錯(cuò)誤。

4、安裝擴(kuò)展

(1)將擴(kuò)展的源碼上傳服務(wù)器
(2)解壓:tar -zxvf mongo-1.5.5.tgz
(3)進(jìn)入解壓后的目錄,生成執(zhí)行文件configure

執(zhí)行命令:phpize
搭建centos7+apache+mongodb+php環(huán)境

是出錯(cuò)的,有辦法解決
解決錯(cuò)誤方法:

wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
tar -zvxf m4-1.4.9.tar.gz
cd m4-1.4.9/
./configure && make && make install

yum install autoconf.

重新執(zhí)行phpize命令就ok了

(4)執(zhí)行configure文件生成Makefile文件

./configure --enable-mongo=share --with-php-config=php-config

(5)安裝

make && make install

到這里基本的安裝是差不多已經(jīng)完成了,但是環(huán)境還是不能使用,接下來就是對(duì)配置文件的修改。

5、對(duì)配置文件的修改

(1)當(dāng)安裝完成擴(kuò)展的時(shí)候,會(huì)出現(xiàn)這樣的一句話,extension_dir=/usr/lib/php/extensions/debug-non-zts-20151012/
可能和我的不同,但是都是類似的,將這樣的一句話復(fù)制下來,打開/etc/php.ini文件,添加進(jìn)去,同時(shí)還要添加extension=mongo.so
這兩個(gè)都是在啟用mongodb的擴(kuò)展。沒有這個(gè)是沒有辦法對(duì)數(shù)據(jù)庫(kù)操作的。
vi /etc/php.ini
追加:

extension_dir=/usr/lib/php/extensions/debug-non-zts-20151012/
extension=mongo.so

(2)打開apache的配置文件對(duì)其進(jìn)行修改。

追加:

AddType application/x-httpd-php .php
AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html

DirectoryIndex index.html index.cgi index.php index.phtml index.php3

這些語(yǔ)句的位置在文件中已經(jīng)給出,搜索AddType和DirectoryIndex就會(huì)找到

解釋點(diǎn):(php版本和擴(kuò)展之間的問題)
有的人可能是直接利用的mongodb的yum源,然后執(zhí)行pecl install momgodb的安裝擴(kuò)展,這個(gè)時(shí)候如果你的php是5.4或5.4以下的版本會(huì)直接報(bào)錯(cuò),提示你說需要php5.5.99以上的版本。所以這里為了避免沖突,也是利用了php5.6的版本。

解釋點(diǎn):(安裝順序問題、馬虎)
我們都知道lamp(linux+apa+MySQL+php)的安裝順序,就是安裝amp的順序安裝的,這里apa+mongo+php也是一樣,按照這樣的順序安裝。我出現(xiàn)安裝錯(cuò)誤的原因在于,沒有安裝apa的時(shí)候就安裝了php。我有個(gè)習(xí)慣,就是在做不了解的環(huán)境的時(shí)候,沒安裝一個(gè)服務(wù)就會(huì)創(chuàng)建一個(gè)快照,防止后面做錯(cuò),還可以回來重新做。但是就是因?yàn)檫@個(gè),當(dāng)我返回快照的時(shí)候,我以為返回到了安裝好Apache服務(wù)的快照上了,結(jié)果不想而知。

好了,到這里基本都已經(jīng)解決了所有服務(wù)的安裝,只要將服務(wù)都啟動(dòng)開就可以訪問網(wǎng)站了,自己可以寫個(gè)php網(wǎng)頁(yè)進(jìn)行測(cè)試。如果出現(xiàn)關(guān)于mongo class的錯(cuò)誤,說明你的擴(kuò)展沒有弄好,要么去修改一下php.ini要么重新安裝一下就好。

注意:在訪問網(wǎng)站的時(shí)候一定記得關(guān)閉防火墻,和selinux。關(guān)閉方法:systemctl stop firewalld 和 setenforce 0

希望能夠幫到那些如我一般錯(cuò)誤一堆的人。


網(wǎng)站標(biāo)題:搭建centos7+apache+mongodb+php環(huán)境
分享路徑:http://weahome.cn/article/jgshih.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部