前言:

我们都知道Apache作为一款出色的web服务器占据了市场大半个江山,他的地位目前还无人能取代,但是除了Apache,,在web服务器软件行列,Nginx以其性能稳定、功能丰富、运维简单、处理静静态文件速度快且消耗系统资源极少的优势,也同样赢得了许多人的青睐。

下面让我们能来了解一下linux下Nginx+mysql+php的源码安装方法。

准备工具:

mysql-5.5.15-linux2.6-i686.tar.gz

nginx-1.0.11.tar.gz

pcre-devel-6.6-2.el5_1.7.i386.rpm

libevent-2.0.16-stable.tar.gz

php-5.4.3.tar.gz

xcache-2.0.1.tar.gz

一.安装mysql(二进制)

这里为了节省时间,mysql采用二进制方式安装,源代码安装前面在LAMP环境搭建的时候已经介绍过,若有需要,请参见LAMP环境搭建

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

[root@lly ~]# cd /usr/local/

[root@lly local]#ll

Linux+Nginx+MySql+Php既LNMP源码安装_web服务器

生成的mysql-5.5。。。。。的目录名字比较长,操作的时候不容易记住,我们可以给他改个名,或者做个链接。这里做个链接把

[root@lly local]# ln -s mysql-5.5.15-linux2.6-i686  mysql

[root@lly local]# cd mysql这样就能直接进入mysql目录了

[root@lly mysql]# less INSTALL-BINARY 查看mysql的二进制安装步骤

Linux+Nginx+MySql+Php既LNMP源码安装_xcache_02

[root@lly ~]# groupadd -r mysql 创建组

[root@lly ~]# useradd -r -g mysql mysql -M 创建帐号-M表示不创建家目录

[root@lly ~]# cd /usr/local/mysql

[root@lly mysql]# chown -R mysql . 把当前目录下所有对象所有者改为mysql

[root@lly mysql]# chgrp -R mysql . 把当前目录下所有对象所有组改为mysql

[root@lly mysql]# scripts/mysql_install_db --user=mysql 初始化

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

[root@lly mysql]# chown -R mysql data 除了data目录其他的目录所有者都改为管理员

[root@lly mysql]# cp support-files/my-medium.cnf   /etc/my.cnf 把support-file下的mysql配置文件拷贝到etc目录下改名为my.cnf

[root@lly mysql]# cp support-files/mysql.server /etc/init.d/mysqld 生成mysql服务的控制文件

[root@lly mysql]# chmod a+x /etc/init.d/mysqld

[root@lly mysql]# chkconfig --add mysqld

[root@lly mysql]# chkconfig --list |grep mysql

Linux+Nginx+MySql+Php既LNMP源码安装_apache_03

[root@lly mysql]# service mysqld start 启动mysql服务

[root@lly mysql]# netstat -tupln |grep 3306 查看端口是否启动

Linux+Nginx+MySql+Php既LNMP源码安装_web服务器_04

[root@lly mysql]#/usr/local/mysql/bin

[root@lly bin]# vim /etc/profile 把mysql服务加入到变量里去,以方便我们日后的访问

添加路径

Linux+Nginx+MySql+Php既LNMP源码安装_mysql_05

[root@lly bin]# .  /etc/profile 执行

[root@lly bin]# mysql 输入mysql即可访问

Linux+Nginx+MySql+Php既LNMP源码安装_nginx_06

[root@lly bin]# mysqladmin -u root -p password '123' 创建一个管理员的口令

[root@lly bin]# cd ..

[root@lly mysql]# vim /etc/ld.so.conf.d/mysql.conf

把mysql的库文件写入环境

Linux+Nginx+MySql+Php既LNMP源码安装_xcache_07

[root@lly mysql]# ldconfig 刷新

[root@lly mysql]# ldconfig -pv  |grep mysql 查看是否导入

Linux+Nginx+MySql+Php既LNMP源码安装_apache_08

[root@lly mysql]# ln -s include  /usr/include/mysql 对mysql的头文件做一个连接

Mysql配置完成

二.安装nginx

安装nginx之前要安装pcre(兼容的正则表达式库)和lievent

1。安装pcre(这里借用光盘中的软件包进行安装)

[root@lly ~]# mount /dev/cdrom /mnt/cdrom 挂载光驱

[root@lly ~]# cd /mnt/cdrom/Server/

[root@lly Server]# rpm -ivh pcre-devel-6.6-2.el5_1.7.i386.rpm  安装pcre的rpm包

2。安装libevent

[root@lly Server]#cd

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

[root@lly ~]# cd /usr/local/src/libevent-2.0.16-stable/

[root@lly libevent-2.0.16-stable]# ./configure --prefix=/usr/local/libevent 指明安装路径

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

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

[root@lly libevent-2.0.16-stable]# cd /usr/local/libevent/

[root@lly libevent]# vim /etc/ld.so.conf.d/libevent.conf

把库文件写入

Linux+Nginx+MySql+Php既LNMP源码安装_nginx_09

[root@lly libevent]# ldconfig 刷新

[root@lly libevent]# ldconfig -pv |grep libevent

Linux+Nginx+MySql+Php既LNMP源码安装_php_10

[root@lly libevent]# ln -s /usr/local/libevent/include/  /usr/include/libevent 对其头文件做一个链接

安装nginx

[root@lly libevent]# cd

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

Nginx是以进程方式运行的,需要创建账号。

[root@lly nginx-1.0.11]# groupadd -r nginx

[root@lly nginx-1.0.11]# useradd -s /sbin/nologin -M -r -g nginx nginx 创建帐号

[root@lly nginx-1.0.11]#./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/ \

  --with-pcre

[root@lly nginx-1.0.11]#  make

[root@lly nginx-1.0.11]# make install

[root@lly nginx-1.0.11]# cd /etc/nginx/

[root@lly nginx]# ll /usr/local/nginx/

给nginx编写一个控制脚本

[root@lly nginx]# ll /usr/local/nginx/sbin/

[root@lly ~]#vim  /etc/init.d/nginx

Linux+Nginx+MySql+Php既LNMP源码安装_mysql_11

Linux+Nginx+MySql+Php既LNMP源码安装_nginx_12

[root@lly ~]# chmod a+x /etc/init.d/nginx

[root@lly ~]# chkconfig --add nginx

[root@lly ~]# chkconfig --list |grep nginx

Linux+Nginx+MySql+Php既LNMP源码安装_nginx_13

[root@lly ~]# service nginx start 启动nginx

[root@lly ~]# netstat -tupln |grep 80 查看nginx的80端口是否启动

Linux+Nginx+MySql+Php既LNMP源码安装_mysql_14

浏览器输入http://192.168.126.129/测试

Linux+Nginx+MySql+Php既LNMP源码安装_nginx_15

三.安装php

[root@lly ~]# tar -zxvf php-5.4.3.tar.gz -C /usr/local/src/

[root@lly ~]# cd /usr/local/src/php-5.4.3/

[root@lly php-5.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  --with-config-file-scan-dir=/etc/php5.d

[root@lly php-5.4.3]# make

[root@lly php-5.4.3]# make install

[root@lly php-5.4.3]# mkdir  /etc/php  /etc/php5.d

[root@lly php-5.4.3]# cp php.ini-production /etc/php

[root@lly php-5.4.3]# cp sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm

[root@lly php-5.4.3]# chmod a+x /etc/init.d/php-fpm 为控制脚本添加权限

[root@lly php-5.4.3]# cd /usr/local/php/etc/

[root@lly etc]# cp php-fpm.conf.default  php-fpm.conf 生成php-fpm配置文件

[root@lly etc]# chkconfig --add php-fpm

[root@lly etc]# chkconfig --list |grep fpm

[root@lly etc]# service php-fpm start

[root@lly etc]# netstat -tupln |grep php-fpm

Linux+Nginx+MySql+Php既LNMP源码安装_mysql_16

此时要想nginx能够完成php的页面请求

[root@lly etc]# vim /etc/nginx/nginx.conf

Linux+Nginx+MySql+Php既LNMP源码安装_nginx_17

写清楚主页面

Linux+Nginx+MySql+Php既LNMP源码安装_xcache_18

做一个php的测试页面方便测试

[root@lly etc]# cd /usr/local/nginx/html/

[root@lly html]# ll

total 16

-rw-r--r-- 1 root root 383 Apr 13 10:28 50x.html

-rw-r--r-- 1 root root 151 Apr 13 10:28 index.html

[root@lly html]# mv index.html index.php把index.html改为index.php

[root@lly html]# vim index.php

Linux+Nginx+MySql+Php既LNMP源码安装_nginx_19

重启nginx和fastcgi服务

[root@lly html]# service nginx restart

[root@lly html]# service php-fpm restart

Linux+Nginx+MySql+Php既LNMP源码安装_apache_20

编辑测试页测试与数据库的连接

[root@lly html]# vim index.php

Linux+Nginx+MySql+Php既LNMP源码安装_xcache_21

浏览器输入http://192.168.126.129

Linux+Nginx+MySql+Php既LNMP源码安装_web服务器_22

说明与数据库连接成功

四.Php加速工具xcache的安装使用

[root@lly ~]# tar -zxvf xcache-2.0.1.tar.gz -C /usr/local/src/

[root@lly ~]# cd /usr/local/src/xcache-2.0.1/

[root@lly xcache-2.0.1]# less INSTALL 查看安装说明

Linux+Nginx+MySql+Php既LNMP源码安装_apache_23

需要使用phpize先生成configure文件

但是phpize在哪呢?其实 就在/usr/local/php/bin/目录下

直接执行

[root@lly xcache-2.0.1]# /usr/local/php/bin/phpize

然后/usr/local/src/xcache-2.0.1/目录下就生成了configure文件

安装

[root@llyxcache-2.0.1]# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config

[root@lly xcache-2.0.1]# make

[root@lly xcache-2.0.1]# make install

Linux+Nginx+MySql+Php既LNMP源码安装_xcache_24

这里的这个目录是xcache与php结合后形成的模块的目录

[root@lly xcache-2.0.1]# cp xcache.ini  /etc/php5.d/说明:安装php的时候有一个php.5文件xcache要和php很好地结合把xcache.ini文件拷过去

[root@lly xcache-2.0.1]# vim /etc/php5.d/xcache.ini

第10行和12行是windows下的配置用双分号注释掉

Linux+Nginx+MySql+Php既LNMP源码安装_mysql_25

编写测试页

[root@lly xcache-2.0.1]# cd /usr/local/nginx/html/

[root@lly html]# vim index.php

Linux+Nginx+MySql+Php既LNMP源码安装_nginx_26

[root@lly html]# service php-fpm restart

浏览器输入http://192.168.126.129

Linux+Nginx+MySql+Php既LNMP源码安装_nginx_27

这样xcache和php结合成功

为了方便xcache的管理

[root@lly html]# cd /usr/local/src/xcache-2.0.1/

Linux+Nginx+MySql+Php既LNMP源码安装_nginx_28

这个目录下是xcache管理的php页面文件

[root@lly xcache-2.0.1]# cp -r admin/  /usr/local/nginx/html/把admiin下的文件拷到html目录下

[root@lly html]# chmod a+rx admin/添加访问查看的权限

[root@lly html]# cd admin/

[root@lly admin]# chmod a+r index.php 添加查看权限

浏览器输入http://192.168.126.129/admin

Linux+Nginx+MySql+Php既LNMP源码安装_php_29

输入默认用户名密码admin登陆就行了

Linux+Nginx+MySql+Php既LNMP源码安装_nginx_30