LNMP(linux+nginx+mysql+php)源码安装及协调配置测试笔记
(1)Mysql是数据库。可以理解为硬盘上的一块区域,专门存放各种数据,比如用户信息,举个例子就是腾讯用户的QQ号和密码之类的。
(2)php是语言,用于编写应用程序,诸如接收用户信息和响应,连接到数据库(mysql),就是用PHP写的。
(3)nginx是服务器软件。用于发布。将应用程序(PHP写的)通过该软件才能更方便的给用户使用
其实,在论坛里有linuxlanmp/lamp/lnmp一键安装包,简单方便快速。但是为了理解的学习原理,我就在wdOS系统上将这些服务逐个的安装,然后把他们整合在一起相互协调工作。如果为了方便的话,可以直接到这里下载lamp一键安装包进行安装,简单方便快速。免费。
wdOS是什么?wdOS是一个基于CentOS版本精简优化的Linux服务器系统,针对web应用精简优化,并且集成nginx,apache,php,mysql等常用的web应用环境以及wdcp服务器/虚拟主机管理系统装好系统,就可以通后台管理服务器和网站,FTP,数据库等使用方便,操作简单,安全,稳定,易用lamp,lnmp,lnamp可自由切换.详细:可参看
下面是我在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..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环境就搭建完了。