关闭

php+mongodb开发环境搭建(linux+apache+mongodb+php)

151人阅读 评论(0) 收藏 举报
 

php+mongodb开发环境搭建(linux+apache+mongodb+php)


一. 准备linux环境(关闭selinux,iptables,配置ip等初始化操作)

二. 准备软件:

1. apache:可以用yum来装,也可以下载源码编译。

2. mongodb:现在的linux没有集成,所以要下载。

我的环境是linux,位数64,下载http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.4.tgz,其他的在mongodb官网。

3. php,这里使用的是php5进行开发,所以下载源码编译。http://cn2.php.net/distributions/php-5.4.32.tar.gz

4. 因为php5要操作mongodb,且没有集成驱动,所以还得下载驱动(php扩展) http://pecl.php.net/get/mongo-1.5.5.tgz

三. 安装

就像安装lamp(linux+apache+mysql+php)一样的顺序。apache和mysql不管谁先安装都可以,但是php必须得在这两个后面。这里就采用标准的,lamp顺序。

1. 安装apache:yuminstall httpd* –y

安装好后修改配置文件/etc/httpd/conf/httpd.conf

ServerName 主机ip或主机名:监听端口 (格式,根据自己的实际情况配置)

2. 安装mongodb:

先建立所需目录:

[root@code ~]# mkdir /data/mongodb/db –p

[root@code ~]# mkdir /data/mongodb/logs –p

然后安装mongodb:安装很简单,解压归档就可以了

[root@code pub]# tar -xvf mongodb-linux-x86_64-1.6.4.tar.gz-C /usr/local/

接着配置环境变量,使得使用命令的时候不需要带上路径

[root@code ~]# 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-linux-x86_64-1.6.4/bin

export PATH

最后要source下才生效

[root@code ~]# source .bash_profile

3. 安装php5

[root@code pub]# tar -xvf php-5.4.32.tar.gz

[root@code pub]# cd php-5.4.32

[root@code php-5.4.32]# ./configure --prefix=/usr/local/php--with-config-file-path=/etc --with-apxs2=/usr/sbin/apxs

这里--with-apxs2之后将会在

[root@code ~]# ls /etc/httpd/modules/libphp5.so

/etc/httpd/modules/libphp5.so有这个提供给apache加载php使用

这里的--with-apxs2=/usr/sbin/apxs根据实际情况决定(apxs命令目录所在位置,如果apache是编译的话,就要去apache目录下找—这里也根据实际情况)

[root@code php-5.4.32]# make && make install

[root@code php-5.4.32]# cp php.ini-production /etc/php.ini

配置环境变量,使得php相关命令不需要带上路径

[root@code ~]# 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-linux-x86_64-1.6.4/bin:/usr/local/php/bin

export PATH

最后要source下才生效

[root@code ~]# source .bash_profile

4. 安装php扩展,对mongodb的支持

[root@code pub]# tar -xvf mongo-1.5.5.tgz

[root@code pub]# cd mongo-1.5.5

[root@code mongo-1.5.5]# phpize(之后生成configuere文件)

[root@code mongo-1.5.5]# ./configure --enable-mongo=share--with-php-config=php-config

[root@code mongo-1.5.5]# make && make install

5. 配置/etc/php.ini

extension=mongo.so

register_globals=On

6. 配置/etc/httpd/conf/httpd.conf

LoadModule php5_modulemodules/libphp5.so

PHPIniDir "/etc/php.ini”

AddType application/x-httpd-php .php

AddType application/x-httpd-php .htm

AddType application/x-httpd-php .html

DirectoryIndex index.html index.html.var index.htmlindex.shtml index.cgi index.php index.phtml index.php3


也可以配置俺怕车的虚拟主机:

如下:

1、基于ip地址的虚拟主机

复制代码 代码如下:

Listen 80
<VirtualHost 172.20.30.40>
    DocumentRoot /home/httpd/html1
    ServerName www.ok1.com
    ErrorLog /usr/local/apache/logs/error1_log
    CustomLog /usr/local/apache/logs/access1_log combined
</VirtualHost>
<VirtualHost 172.20.30.50>
    DocumentRoot /home/httpd/html2
    ServerName www.ok2.com
    ErrorLog /usr/local/apache/logs/error2_log
    CustomLog /usr/local/apache/logs/access2_log combined
</VirtualHost>

 2、基于IP 和多端口的虚拟主机配置

复制代码 代码如下:

Listen 172.20.30.40:80
Listen 172.20.30.40:8080
Listen 172.20.30.50:80
Listen 172.20.30.50:8080

<VirtualHost 172.20.30.40:80>
 DocumentRoot /www/example1-80
 ServerName www.example1.com
</VirtualHost>
<VirtualHost 172.20.30.40:8080>

 DocumentRoot /www/example1-8080
 ServerName www.example1.com
</VirtualHost>
<VirtualHost 172.20.30.50:80>
 DocumentRoot /www/example2-80
 ServerName www.example1.org
</VirtualHost>
<VirtualHost 172.20.30.50:8080>
 DocumentRoot /www/example2-8080
 ServerName www.example2.org
</VirtualHost>

3、单个IP 地址的服务器上基于域名的虚拟主机配置

复制代码 代码如下:

# Ensure that Apache listens on port 80
Listen 80
# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.example1.com
ServerAlias example1.com. *.example1.com
# Other directives here
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www/example2
ServerName www.example2.org
# Other directives here
</VirtualHost>


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:8274次
    • 积分:161
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:12篇
    • 译文:0篇
    • 评论:0条