lnmp =linux+nginx+mysql+php

以前我们做过LAMP环境的搭建,而对于nginx而言,其性能相对apache提高了很多, 实验借助于nginxLNMP环境, 环境搭建分三步:mysql绿色包安装,php源码包安装,nginx源码包安装 最后phpwind应用

一.安装mysql

1.[root@localhost ]# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local

[root@localhost local]# mv mysql-5.5.15-linux2.6-i686 mysql

2 >mysql配置

进入mysql文件夹,开始配置

注:其实mysql开发者为了方便我们对mysql配置的掌控,已经把配置的步骤给详细的写了出来,我们可以参照他们的配置步骤来进行配置,文件名为:INSTALL-BINARY,可以打开这个文件来参照着配置

[root@localhost mysql]# clear

[root@localhost mysql]# groupadd mysql

[root@localhost mysql]# useradd -r -g mysql mysql

[root@localhost mysql]# chown -R mysql .

[root@localhost mysql]# chgrp -R mysql .

[root@localhost mysql]# scripts/mysql_install_db --user=mysql  #初始化数据库

[root@localhost mysql]# chown -R root .

[root@localhost mysql]# chown -R mysql data               #data目录属于用户mysql

[root@localhost mysql]# cp support-files/my-medium.cnf /etc/my.cnf

#配置文件放在/etc/目录下

[root@localhost mysql]# 

[root@localhost mysql]#  bin/mysqld_safe --user=mysql &  #运行mysql数据库

[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld

[root@localhost mysql]# service mysqld start

Starting MySQL                                             [确定]

3>进入数据库

由于是源码安装的mysql,所以现在并不能直接使用命令:mysql来进入mysql数据库,它的启动文件在/usr/local/mysql/bin目录下即文件:mysql

进入mysql (前提是已经在mysql目录下)

[root@localhost mysql]# bin/mysql

这样就可以进入mysql了,但是这种方法很麻烦,每次启动mysql时还要找到这个文件,所以我们可以进行一定的优化,把mysql的启动脚本加入到环境变量中,让我们直接可以使用命令:mysql来进入数据库

[root@localhost bin]# vim /etc/profile 

添加如下内容:

PATH=$PATH:/usr/local/mysql/bin

[root@localhost bin]# source /etc/profile //使环境变量生效

进入mysql

[root@localhost bin]# mysql

[root@localhost bin]# chkconfig --add mysqld

[root@localhost bin]# chkconfig --list |grep mysqld

mysqld          0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

现在虽然已经能够开机启动,但是却不能够加载mysql的库文件和头文件

下面对其进行设置

[root@localhost ~]# cd /etc/ld.so.conf.d

后缀必须为: .conf

在文件中增加代码:

/usr/local/mysql/lib

应用lib文件

[root@localhost ld.so.conf.d]# ldconfig -v |grep mysql

/usr/local/mysql/lib:

 libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0

添加开机使用的头路径

[root@localhost ld.so.conf.d]#  cd /usr/local/include/

[root@localhost include]# ln -s /usr/include/local/mysql/include mysql

//mysql的头文件做一个到头文件存放目录的路径,名字为mysql

.安装nginx

Ⅰ、安装libevent

a.首先检测环境yun grouplist|less

Development Tools

Development Libraries

Legacy Software Development

X Software Development这几个组包是否安装

对应成中文就是:Development Libraries 开发库; Development Tools 开发工具;

Legacy Software Development 老的软件开发; X Software Development X软件开发;

yum groupinstall " Development Libraries " -y,注意一定要加引号。

yum groupinstall " Development Tools " -y

yum groupinstall " Legacy Software Development " -y

yum groupinstall " X Software Development "  -y

yum install gcc  openssl-devel  pcre-devel(支持地址重写)  zlib-devel 

5. 下载文件:libevent-2.0.16-stable.tar.gz

解压进行安装

[root@localhost ~]# tar -zxvf 'libevent-2.0.16-stable.tar.gz' -C /usr/local/src/

[root@localhost ~]# cd /usr/local/src/

[root@localhost src]# ll 

[root@localhost src]# cd libevent-2.0.16-stable/

[root@localhost libevent-2.0.16-stable]# ./configure

[root@localhost libevent-2.0.16-stable]# make

[root@localhost libevent-2.0.16-stable]# make install

6 .下载nginx-1.0.11.tar.gz

[root@localhost ~]# tar -zxvf nginx-1.0.11.tar.gz -C /usr/local/src

[root@localhost ~]# cd /usr/local/src

[root@localhost src]# cd nginx-1.0.11/

[root@localhost nginx-1.0.11]# ./configure \   ß此处回车   下面蓝色可以直接复制

--prefix=/usr \

--sbin-path=/usr/sbin/nginx \

--conf-path=/etc/nginx/nginx.conf \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--pid-path=/var/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--user=nginx \

--group=nginx \

--with-http_ssl_module \

--with-http_flv_module \

--with-http_stub_status_module \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/tmp/nginx/client/ \

--http-proxy-temp-path=/var/tmp/nginx/proxy/ \

--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \

--with-pcre

[root@localhost nginx-1.0.11]# make

[root@localhost nginx-1.0.11]# make install

7.安装成功后要为nginx创建用户及组

[root@localhost nginx-1.0.11]# groupadd nginx

[root@localhost nginx-1.0.11]# useradd -g nginx -s /sbin/nologin -M nginx

启动nginx 

[root@localhost nginx-1.0.11]# nginx

nginx: [emerg] mkdir() "/var/tmp/nginx/client/" failed (2: No such file or directory)

如果出现了上面的错误,则是少client目录

[root@localhost nginx-1.0.11]# mkdir -p /var/tmp/nginx/client

重新启动nginx

[root@localhost nginx-1.0.11]# nginx

[root@localhost nginx-1.0.11]# netstat -tupln | grep nginx

tcp        0      0 0.0.0.0:80   

8. 测试nginx是否成功(要关闭linux防火墙)

LNMP源码安装及phpwind应用_phpwind搭建 

 

三.PHP源码安装

1.解压并安装

[root@localhost ~]# tar -jxvf php-5.3.7.tar.bz2  -C /usr/local/src

[root@localhost ~]# cd /usr/local/src/ php-5.3.7/

[root@localhost php-5.3.7]# ./configure \

--prefix=/usr/local/php \

--with-mysql=/usr/local/mysql/ \

--with-zlib --enable-xml --disable-rpath \

--enable-bcmath --with-gd \

--enable-shmop --enable-sysvsem \

--with-curl --with-curlwrappers --enable-fpm \

--with-ldap --with-ldap-sasl --with-xmlrpc-enable-zip --enable-soap

[root@localhost php-5.3.7]# make

[root@localhost php-5.3.7]# make install

2.创建php配置文件,可以通过复制模板来得到

[root@localhost php-5.3.7]# cp -p php.ini-development /usr/local/php/php.ini

得到主配置文件

[root@localhost php-5.3.7]# cd /usr/local/php

[root@localhost php]# cp -p etc/php-fpm.conf.default etc/php-fpm.conf

[root@localhost php]# vim etc/php-fpm.conf

3.添加如下   

LNMP源码安装及phpwind应用_phpwind搭建_02

添加如下目录

 

[root@localhost php]# mkdir /var/run/php-fpm

启动:php-fpm

[root@localhost php]# /usr/local/php/sbin/php-fpm

[09-Nov-2012 00:32:06] ALERT: [pool www] pm.min_spare_servers(0) must be a positive value

[09-Nov-2012 00:32:06] ERROR: failed to post process the configuration

4.如果出现上面 的错误,则修改如下(将下面的三个前面的;分号去掉)

[root@localhost php]# vim etc/php-fpm.conf

pm.start_servers = 20   (161)

pm.min_spare_servers = 5   (171)

pm.max_spare_servers = 35    (176)

5. 修改nginx的配置文件/etc/nginx/nginx.conf

[root@localhost php]# vim /etc/nginx/nginx.conf

修改如下

LNMP源码安装及phpwind应用_LNMP源码安装_03 

LNMP源码安装及phpwind应用_LNMP源码安装_04 

测试关联成功

[root@localhost php]# cd /usr/html

[root@localhost html]# ll

总计 8

-rw-r--r-- 1 root root 383 11-08 23:26 50x.html

-rw-r--r-- 1 root root 151 11-08 23:26 index.html

[root@localhost html]# vim index.php

添加如下内容 

<?php

phpinfo();

?>    验证如下:

LNMP源码安装及phpwind应用_LNMP源码安装_05 

7. 测试数据库连接成功

修改index.php内容如下

<?php

$link=mysql_connect("localhost","root","");

if($link)

echo "it is ok dg" ;

else

echo "it is bad";

?>

LNMP源码安装及phpwind应用_LNMP源码安装_06 

测试成功

LNMP源码安装及phpwind应用_phpwind搭建_07 

四.下面开始实现一个简单的应用

安装phpwind,建立bbs论坛 

拷贝phpwind的下的upload到自己的跟目录下(dgbbs

[root@localhost /]# cp -R phpwind_GBK_8.3/upload/ /usr/html/dgbbs

通过http://192.168.1.26/dgbbs 访问如下:

LNMP源码安装及phpwind应用_LNMP源码安装_08

[root@localhost dgbbs]# pwd

/usr/html/dgbbs

[root@localhost dgbbs]# chmod -R 777 p_w_upload

[root@localhost dgbbs]# chmod -R 777 html

[root@localhost dgbbs]# chmod -R 777 data

点击安装就输入以下内容即可:

LNMP源码安装及phpwind应用_LNMP源码安装_09

LNMP源码安装及phpwind应用_phpwind搭建_10

[root@localhost dgbbs]# rm -rf install.php

输入地址访问如下:

前台如下:

LNMP源码安装及phpwind应用_phpwind搭建_11

后台如下:

LNMP源码安装及phpwind应用_phpwind搭建_12

Phpwind基本上就可以使用了。呵呵