一、源代码
源码的安装需要三个步骤:
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
二、编译环境
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
说明:源码安装编译所需要的工具包
安装libevent:
[root@cyz ~]# tar -xjvf libevent-2.0.16-stable.tar.gz -C /usr/src/
[root@cyz ~]# cd /usr/src/
[root@cyz src]# ll
[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 #编写事件通知机制所需库文件的路径
[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上测试:
说明:nginx已经安装成功了。
安装mysql :
[root@localhost ~]# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/ #解压到/usr/local
[root@localhost ~]# cd /usr/local/
[root@localhost local]# ln -s mysql-5.5.15-linux2.6-i686 mysql #建立一个mysql软链接
[root@localhost local]# ll
[root@localhost local]# cd mysql
[root@localhost mysql]# less INSTALL-BINARY #查看配置帮助文件进行相关配置
根据上图进行配置:
[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服务
[root@localhost mysql]# . /etc/profile #重读该文件使其立刻生效
[root@localhost mysql]# echo $PATH #查看是否改变
[root@localhost mysql]# chkconfig --add mysqld #将该服务添加为可管理
[root@localhost mysql]# chkconfig mysqld on
[root@localhost mysql]# service mysqld start
[root@localhost mysql]# chkconfig --list |grep mysql
[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 #生成该库文件并进行配置
[root@localhost mysql]# ldconfig -v |grep mysql
(3)安装php
[root@localhost ~]# tar -jxvf php-5.3.7.tar.bz2 -C /usr/local/src
[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
[root@localhost php-5.3.7]# make
[root@localhost php-5.3.7]# make install
[root@cyz php-5.3.7]# vim /etc/nginx/nginx.conf
[root@cyz /]# mkdir -pv /www/html/
[root@cyz /]# cd /www/html/
[root@cyz html]# vim index.php
[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是否能够使用:
说明:php已经可用
[root@cyz ~]# yum install php-mysql #安装php与mysql连接器件
[root@cyz ~]# vim /www/html/index.php
[root@cyz ~]# service nginxd restart #本人已经执行了启动脚本。
测试php与mysql的连接:
说明:php与mysql已经连接成功。