您的位置:首页 > 其它

源码搭建LNMP环境

2012-04-08 18:53 405 查看
                     
一、源代码
        源码的安装需要三个步骤:
           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上测试:
http://192.168.6.101



说明: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是否能够使用:
http://192.168.6.101/



说明: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已经连接成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: