源码搭建LNMP环境

时间:2022-09-18 15:27:08

                     

一、源代码

        源码的安装需要三个步骤:

           1. ./configure(脚本)  --prefix(指明安装路径) --sysconfdir(安装完配置脚本配 

             置路径)

           2. Make  (编译成二进制文件或模块)

           3.make  install 

        所需要的源码包:

libevent-2.0.16-stable.tar.gz         NGINX功能增强所需包

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

nginx-1.0.11.tar.gz

php-5.3.7.tar  官方网站 www.php.net

源码搭建LNMP环境

二、编译环境

1.操作系统的版本 red hat 企业版5 2.6.18-164.el5

          2.Development  Libraries  (开发的库文件)

          3.Development  Tools    (开发的工具)

          4.Legacy Software Development  (传统软件开发工具)

          5.X Software Development   (图形化的开发工具)

          6.GNOME Software Development  (gnome桌面下的开发工具) #可选项

          7.KDE Software Development       (kde桌面下的开发工具)#可选项

          8.Java  Development             (依赖于java的开发工具)  #可选项

三、lnmp的搭建过程

[root@cyz ~]# yum -y groupinstall  "Development Libraries"  "Development Tools" "X 

          Software Development"

[root@cyz ~]# yum grouplist

源码搭建LNMP环境

说明:源码安装编译所需要的工具包

安装libevent

[root@cyz ~]# tar -xjvf libevent-2.0.16-stable.tar.gz -C /usr/src/

[root@cyz ~]# cd /usr/src/

[root@cyz src]# ll

源码搭建LNMP环境

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

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

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

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

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

[root@cyz local]# vim /etc/ld.so.conf.d/libevent.conf         #编写事件通知机制所需库文件的路径

源码搭建LNMP环境

[root@cyz local]# ldconfig -v |grep libevent   #测试是否能够调用库文件

安装nginx:

[root@cyz ~]# yum install pcre-devel   #安装该包

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

[root@cyz ~]# cd /usr/src/nginx-1.0.11/

[root@cyz nginx-1.0.11]# groupadd  -r  nginx   #创建组

[root@cyz nginx-1.0.11]# useradd -r -g nginx -s /bin/false  -M nginx  #创建用户

[root@cyz 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-proxy-temp-path=/var/tmp/nginx/proxy/ \

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

>  --with-pcre

[root@cyz nginx-1.0.11]# make

[root@cyz nginx-1.0.11]# make install

[root@cyz nginx-1.0.11]# mkdir -pv /var/tmp/nginx/proxy  #执行nginx时提示缺少目录,所以手动创建

[root@cyz nginx-1.0.11]# nginx   #若要使用service进行该服务管理,则需要自己编写相关脚本 

[root@cyz nginx-1.0.11]# netstat -tupln |grep nginx  #查看是否已经启用

在pc上测试:

http://192.168.6.101

源码搭建LNMP环境

说明:nginx已经安装成功了。

    安装mysql

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

源码搭建LNMP环境

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

     [root@localhost local]# ln -s mysql-5.5.15-linux2.6-i686 mysql  #建立一个mysql软链接

     [root@localhost local]# ll

源码搭建LNMP环境

     [root@localhost local]# cd   mysql

     [root@localhost mysql]# less INSTALL-BINARY   #查看配置帮助文件进行相关配置

源码搭建LNMP环境

根据上图进行配置:

[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

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

[root@localhost mysql]# bin/mysqld_safe --user=mysql &

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

[root@localhost mysql]# vim /etc/profile    #修改系统的环境变量,使系统能够方便的管理mysqld服务

源码搭建LNMP环境

[root@localhost mysql]# . /etc/profile   #重读该文件使其立刻生效

[root@localhost mysql]# echo $PATH   #查看是否改变

源码搭建LNMP环境

[root@localhost mysql]# chkconfig --add mysqld  #将该服务添加为可管理

[root@localhost mysql]# chkconfig mysqld on

[root@localhost mysql]# service mysqld start

源码搭建LNMP环境

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

源码搭建LNMP环境

[root@localhost mysql]# cd /usr/include/

[root@localhost include]# ln -s /usr/local/mysql/include  mysql  #创建头文件链接

[root@localhost mysql]# vim /etc/ld.so.conf.d/mysqld.conf   #生成该库文件并进行配置

源码搭建LNMP环境

[root@localhost mysql]# ldconfig  -v |grep mysql

源码搭建LNMP环境加载成功了

(3)安装php

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

源码搭建LNMP环境

[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-openssl --enable-fpm --with-libevent-dir=/usr/local --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-iconv-dir=/usr/local

源码搭建LNMP环境

[root@localhost php-5.3.7]# make

源码搭建LNMP环境

[root@localhost php-5.3.7]# make  install

源码搭建LNMP环境

[root@cyz php-5.3.7]# vim /etc/nginx/nginx.conf

源码搭建LNMP环境

源码搭建LNMP环境

[root@cyz /]# mkdir -pv /www/html/

[root@cyz /]# cd /www/html/

[root@cyz html]# vim index.php

源码搭建LNMP环境

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

[root@cyz etc]# mv php-fpm.conf.default  php-fpm.conf

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

166 pm.start_servers = 20

170 pm.min_spare_servers = 5

175 pm.max_spare_servers = 35

181 pm.max_requests = 500

[root@cyz etc]# cd /usr/local/php/sbin/

[root@cyz sbin]# ./php-fpm

[root@cyz php-5.3.7]# pkill -1 nginx   #重启nginx服务

下面测试以下php是否能够使用:

http://192.168.6.101/

源码搭建LNMP环境

说明:php已经可用

[root@cyz ~]# yum install  php-mysql    #安装php与mysql连接器件

[root@cyz ~]# vim /www/html/index.php

源码搭建LNMP环境

[root@cyz ~]# service  nginxd restart   #本人已经执行了启动脚本。

测试php与mysql的连接:

源码搭建LNMP环境

说明:php与mysql已经连接成功。