您的位置:首页 > 运维架构 > Nginx

LNMP(linux+nginx+mysql+php)源码安装及协调配置测试笔记

2012-08-10 14:02 1386 查看
LNMP(linux+nginx+mysql+php)源码安装及协调配置测试笔记

(1)Mysql是数据库。可以理解为硬盘上的一块区域,专门存放各种数据,比如用户信息,举个例子就是腾讯用户的QQ号和密码之类的。
(2)php是语言,用于编写应用程序,诸如接收用户信息和响应,连接到数据库(mysql),就是用PHP写的。
(3)nginx是服务器软件。用于发布。将应用程序(PHP写的)通过该软件才能更方便的给用户使用
其实,在http://www.wdlinux.cn/linux_lanmp论坛里有linuxlanmp/lamp/lnmp一键安装包,简单方便快速。但是为了理解的学习原理,我就在wdOS系统上将这些服务逐个的安装,然后把他们整合在一起相互协调工作。如果为了方便的话,可以直接到这里下载lamp一键安装包进行安装,简单方便快速。免费。
wdOS是什么?

wdOS是一个基于CentOS版本精简优化的Linux服务器系统,针对web应用精简优化,并且集成nginx,apache,php,mysql等常用的web应用环境以及wdcp服务器/虚拟主机管理系统装好系统,就可以通后台管理服务器和网站,FTP,数据库等使用方便,操作简单,安全,稳定,易用lamp,lnmp,lnamp可自由切换.详细:可参看http://www.wdlinux.cn/bbs/index.php
下面是我在wdos系统上进行的lnmp源码搭建,
以及nginx、php、mysql的整合和协调配置测试
一、源码安装mysql

下载mysql源码包
wget http:///dl.mysql.cn/mysql5/5.0/mysql-5.0.22.tar.gz



解压缩mysql源码包
[root@wdOS src]# tar -zxvf mysql-5.0.22.tar.gz

环境监测,路径安装







编译、安装。需要一定时间。
[root@wdOS mysql-5.0.22]# make && make install

设置mysql数据库
添加mysql用户和用户组,用来运行mysql数据库
[root@wdOS ~]# groupadd mysql
[root@wdOS ~]# useradd -s /sbin/nologin -g mysql mysql







初始化数据库,可能出现的问题





进入my.cnf
#Vi /var/mysql/my.cnf





进入服务文件,添加指定路径。
Basedir:参数指定了安装 MySQL 的安装路径
Datadir:参数指定了 MySQL 的数据库文件放在什么路径下
#vi /etc/init.d/mysqld





启动时可能出现的问题





解决办法:
首先查看一下进程。如果看到上面的内容,那说明,Mysql的进程卡死了,这时用就要用kill把这些卡死的进程都关闭,有多少关多少。





再次启动mysql





测试:连接数据库






二、nginx源码安装

1、下载nginx源码包





2、解压缩nginx源码包





3、configure安装、检测环境





注:.安装时可能出现的问题如下:





解决方法;
查看一下pcre的rpm包,pcre是一个用C语言编写的正则表达式函数库,时nginx的一个支持库,在安装nginx前必须有这样的支持库存在,没有的话我们就要先安装它。





再次执行,完成。
[root@wdOS nginx-1.0.12]# ./configure --prefix=/usr/local/nginx

4、编译、安装make && make install








6、启动nginx之前先检测一下配置文件的正确性
(如果配置文件正确的话,屏幕将提示以下两行信息)





7、启动、加载nginx
注:可能出现的问题:





问题的解决方法,修改配置文件:
Nginx使用了pid文件来记录mastar process 的pid号,如果注释掉的的话,那么平【配置文件的nginx pid就是无效的,所以在加载的时候会出现上面的错误,所所以这里要做的就是取消注释。
[root@wdOS nginx-1.0.4]# vi /usr/local/nginx/conf/nginx.conf





再次加载nginx





8、测试:在客户端浏览器地址栏中输入:http://虚拟机IP,回车即可。





三、源码安装php

下载php源码包
wget http://cn.php.net/get/php-5.2.17.tar.gz/from/this/mirror




下载php-fpm补丁源码包

wget http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14. href="http://www.linuxso.com/command/diff.html" target=_blank>diff.gz





解压缩php源码包

tar zxvf php-5.2.17.tar.gz




注:在安装php-5.2.17之前,要先安装php-fpm补丁,

这里将php-5.2.17-fpm-0.5.14.diff.gz以补丁的形式patch到php-5.2.17里面





检测安装环境,制定安装路径








注:在configure这一步的安装过程中,可能会因为php的一些支持库的还没安装而无法进行,我是之前有些安装了,所以这里没有提示,再者过程中,如果没有configure成功,则根据提示用yum把支持库安装上次,在继续以下的。

编译、安装源码,这里需要耗费一定的时间。








注:因为编译的时候没有指定php的配置文件,默认的php配置文件是/usr/local/php/lib/php.ini所以要把范本文件复制过来。





进入/usr/local/php/etc/php-fpm.conf文件,去掉一下两行的注释:







注:这两行的注释取消,如果不去掉PHP-FPM自己不知道以那个用户和组运行PHP去掉之后PHP-FPM会以nobody用户和组去运行PHP。

启动php服务





测试:整合Nginx和php
Nginx自己是不处理动态网页的请求,它将得到的动态请求都交给php来处理,现在Nginx和php其实还是没有关联的,这时就需要修改Nginx的配置来让他关联php
# Vim /uar/local/nginx/conf/nginx.conf





再看一下PHP是通过什么接收的,文件里有下面这一行;说明php也是通过本地的9000端口来接收数据的,
#Vim /usr/local/php/etc/php-fpm.conf





上面的配置改完之后,为了使之生效,要重启nginx和php服务





[root@wdOS ~]# /usr/local/nginx/sbin/nginx –t //检测一下配置文件的正确性

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@wdOS ~]# /usr/local/nginx/sbin/nginx -s reload //重新加载nginx
[root@wdOS ~]# /usr/local/php/sbin/php-fpm stop //重新启动php
[root@wdOS ~]# /usr/local/php/sbin/php-fpm start

测试:







在客户端浏览器地址栏中输入:虚拟机IP/网站文件夹名(我这里是wdostest.php)回车!看到如下效果,则说明nginx和php整合成功。



测试:nginx+php 和mysql的连接。
在网站的存放点/scripts 在新建网站文件夹,并写入相关内容






重启各项服务





测试是否能链接mysql,在客户端浏览器输入:虚拟机IP/网站文件名





这样,LNMP环境就搭建完了。

有问题的可以到http://www.wdlinux.cn/bbs/forum-2-1.html一起讨论学习
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php linux mysql nginx LNMP