名词释义
CGI:HTTP服务器与你的或其它机器上的程序进行交谈的一种工具,其程序须运行在网络服务器上。
FastCGI 像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute模式)。它还支持分布式的运算,FastCGI程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。<?xml:namespace prefix="o">?xml:namespace>

Pcre perl兼容的正则表达式库,因为我们安装neginx需要多个正则表达式,原来的比较老,并且效率低,所以我们安装虚拟的pcre

Libevent :跨平台事件通知库,而neginx是利用的epoll机制,而epoll又是基于事件触发库的,所以libevent刚好为我们提供了这个平台。

我们这里进行简单的释义,仅仅让大家明白它是做什么的,如果想要进一步理解,大家可以自行上官方网站查询阅读。

Apacheselect轮询机制3000访问量进程比较稳定的一种方式,但是需要产生子进程,消耗大量的服务器资源。
Neginxepoll(触发)时间通知机制50000线程效率更高
Neginx基于http的反向代理服务器代理速度快同事可以实现邮件服务的反向代理
下面我们开始搭建LNMP环境,上面了解了ApacheNeginx的差别,相信大家也应该明白LAMPLNMP的差别了。
首先必须是linux的系统,这里我们应用Centos5.8版本的。
然后是Neginx,我们应用nginx-<?xml:namespace prefix="st1">?xml:namespace>1.3.16
接着是Mysql,我们应用mysql-5.5.15
最后是Php,我们应用php-5.4.14
当然除了这几个包我们还需要另外的,依赖的包,libevent-2.0.18pcre我们用rpm进行安装,当然如果我们想要优化php的话还可以安装xcache-3.0.1,这是个php的加速工具。
好了,准备工作做完,我们开始安装。
一. 安装Mysql
由于我们下载的是mysql的绿色版,也就是二进制文件,所以我们将其解压直接可以使用
我们直接解压到/usr/local
由于mysql的名字比较长,所以我们创建一个到mysql的软连接
5178efcccbe8e.jpg
由此看出此源码已经是二进制文件了
然后我们直接查看安装帮助
5178efcd85221.jpg
其实大家在安装的时候都可以看一下源码里面所给的说明文档,这样有助于我们安装,说明文档一般就为上面的两个。下面的使我们安装这个所需要的步骤:

5178efcf062d2.jpg

创建组,账号
5178efcf897be.jpg
修改权限
5178efd003b18.jpg
初始化脚本
5178efd061b34.jpg
把权限改回来不过,data的所有者还是为mysql
5178efd193018.jpg
拷贝mysql的配置文件

5178efd1ee938.jpg
拷贝控制文件并加上执行权限
5178efd26afa5.jpg
添加开机启动
5178efd2de6d2.jpg
启动测试
5178efd3651ef.jpg
mysql加入常用路径
5178efd41875c.jpg
5178efd4b8ddc.jpg

修改密码为123(由于刚开始我们不知道密码是多少,所以提示我们输入密码时直接确定)
5178efd533695.jpg

然后就和一前的一样了将库文件和头文件路径加入到常用的路径中去
5178eff76b79b.jpg
5178eff7c54c8.jpg
应用
<?xml:namespace prefix="v">?xml:namespace>ldconfig
头文件
5178eff875ef5.jpg
Okmysql安装完成,然后我们开始安装neginx
前面我们说了,安装Neginx所需要的包,所以我们先把那两个包安装上PCRELivevent
因为系统之前已经安装pcre所以我们只用安装一个pcre-devel即可我们用yum安装,yum配置不用再讲了吧,我们之前提过好几次了,
然后源码安装livevent
5178eff8c2db8.jpg
安装完成后,修改路径
5178eff92f6b1.jpg
应用
5178eff98143a.jpg
头文件
5178eff9e77a5.jpg
好的我们开始安装Neginx
由于neginx启动的话也是一个进程,所以也需要一个身份,所以开始安装前我们先建立一个neginx组,和用户
5178effa88853.jpg
我们创建一个很牛的用户吧,就如上,如果用户被劫持了,其他人也登不上,所以建用户也是很深奥的
然后我们开始安装
大家注意

./configure\

--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/\fcgi的目录

--with-pcrepcre的目录

这是./configure时需要的参数,大家看看呗!

然后就是make&&makeinstall

然后我们自己做一个配置文件
Vim/etc/init.d/nginx
5178effb7633f.jpg

其实我们可以把http的或者vsftp的修改一下即可,很简单的哦,实在不行我这里有下载的。

然后设置开机启动

5178effbdcbf5.jpg

我们启动下试试

5178effc62285.jpg

有错误缺少目录我们建立呗

5178effcdc7de.jpg

在试

5178effd5927b.jpg

好的成功

我们从外面访问下

5178effe079e4.jpg

成功了。

好的那我们开始做php

我们首先应该理解,php之间是怎么通信的,这就用到了我们上面所解释的fcgi,大家可先阅读上面的。

源码安装php5.4.3

解压--- à 编译---- à 安装,还是这几个步骤,不过需要注意的是编译时候的一些参数

./configure\

--prefix=/usr/local/php\

--enable-fpm\

--enable-sockets\

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

--with-mysqli=/usr/local/mysql/bin/mysql_config\

--enable-mbstring\

--enable-xml\

--with-png-dir\

--with-png\

--with-jpeg-dir\

--with-zlib\

--with-freetype-dir\

--with-config-file-path=/etc/php\ 放置php的配置文件

--with-config-file-scan-dir=/etc/php5.d 放置额外的一些配置文件

完成后拷贝配置文件

5178f015dd7a8.jpg

由于php-fpm的结合是需要一个服务所以需要一个配置文件这个配置文件我们在安装的时候已经生成,所以拷贝并授予执行权限

5178f01668c83.jpg

然后配置控制文件控制文件在我们的php下面的一个etc目录里面,里面有一个样本,我们只需要拷贝即可

5178f01716c01.jpg

开机启动

5178f017943ca.jpg

启动测试

5178f0181f09e.jpg

成功

5178f0189ebc1.jpg

这是启动的进程

然后我们测试以下它们之间的连接情况

首先是nginxphp的连接

大家注意,当我们请求来的时候,如果访问的是php,它的流程是

Nginx-- à FCGI- à php

所以我们还要配置以下nginx的配置文档,用来处理Nginxphp的配置机制

vim/etc/nginx/nginx.conf

5178f0192c3de.jpg

这个配置的大致意思就是,首先请求来的时候访问的主目录为nginxhtml目录,然后连接本地的9000端口,访问的主页为index.php,和一些fcgi的参数,然后需要fcgi的配置文件

然后修改网络页面

5178f019b5ade.jpg

然后去创建一个这样的网业文件进行测试

5178f01a38323.jpg

5178f01ac7813.jpg5178f01c2e2f7.jpg

成功

然后是nginxmysql的连接

然后继续编辑index.php

5178f01cebe2b.jpg

5178f01d98605.jpg

好的,mysql也连接成功

然后我们为了是php使用起来更简洁,方便,迅速,对其进行加速

我们用xcache进行加速

同以前一样,我们先解压,然后进入到解压的目录里面,然后查看安装说明

5178f01e41bb7.jpg

我们可以看到配置的过程,然后就按照这个步骤进行安装

5178f01f75796.jpg

由图可以看出在编译之前需要一个工具phpize,这个工具其实是在我们安装php的时候自动生成的,rpm安装时,它的安装在默认目录下的php_devel里面源码安装时它的默认安装路径为/usr/local/php/bin/

好的那我们直接依照它的目录进行执行phpize

5178f0333506e.jpg

然后在我们编译的时候,一般都需要一些参数,所以我们可以先查看一下所需的参数,以免出现错误

5178f033cfcf2.jpg

因为我们xcache是与php连接的所以也需查看一下和php连接的参数

5178f0346cb44.jpg

然后我们开始编译安装

5178f034bc856.jpg

然后编译安装完成后,其实它生成的是一个模块儿如图:

5178f0351d57a.jpg

然后我们将phpxcache进行连接,其实一般有两种方式连接,第一,价格xcache源目录下的xcache.iniphp.ini直接结合。第二,将这个xcache.ini直接放置到php的额外功能目录里面(/etc/php5.d),这样的话也可以实现结合

5178f0357f3dc.jpg

5178f03612dbd.jpg

编辑完xcache的配置文件后才后重启php-fpm因为php的工作是基于fcgi

所以只需重启php-fpm即可

然后我们测试以下

5178f0375aa27.jpg

可以看待已经连接上了,不过这样的话不方便管理员进行管理,查看记录,所以我们进行修改

xcache的源代码目录里面有一个htdocsmultiple,这个目录里面有一些php的网业,当然也就是方便管理员进行管理的一些网业,我们直接把该目录拷贝到主网页的目录下面

cp-rhtdocs//usr/local/nginx/html/

然而当我们将它拷贝过去的时候他是没有执行读取权限的,所以我们给它加上权限

chmoda+rxhtdocs/

还有htdocs目录下的index.php的读取权限

chmoda+rindex.php

登陆试试

5178f0383c5a4.jpg

呵呵,很明显不成功,这是因为默认的管理功能是需要认证的,所以我们去进行添加账户密码

由于配置文件里面所需要的密码为md5加密的所以我们这样

5178f038e3594.jpg

这样产生一个密码为adminmd5加密密文,然后将密文添加至xcache.ini的配置文档里面

结果为

5178f03996aea.jpg

然后重启php-fpm

5178f03a62840.jpg

这样就有一个认证的界面了

然后我们进行登录

5178f03b9013a.jpg

很简洁的一个管理界面

这样我们就可以进行管理了,里面的清除缓存了,删除脚本缓存啦,等一系列能进行php加速的功能。

到这里我们这个环境,还有简单的php加速就算完成了。
这是老本我的小站,希望大家光临!www.wdzaxsp.tk