一 、安装环境搭建
4、挂在光盘:
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@localhost ~]#
5、安装Linux必须的开发环境:
##查看开发环境:
[root@localhost ~]# yum grouplist |less
##安装组:yum groupinstall "组名";
例如:yum groupinstall "Development Libraries"
//有些开发环境是在进行源码安装中所必须的,为了避免错误,我们有必要安装;
二 、初始环境搭建:解决在源码安装过程中,由于源码程序的依赖性对安装过程的影响。
1、安装pcre(头部的地址存写)的开发包,这时一个nginx所依赖的包:
[root@localhost ~]# cd /mnt/cdrom/Server/
[root@localhost Server]# rpm -ivh pcre-devel-6.6-2.el5_1.7.i386.rpm
warning: pcre-devel-6.6-2.el5_1.7.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:pcre-devel ########################################### [100%]
[root@localhost Server]#
2、源码安装libevent(一个事件触发的网络库):
##拆包:
[root@localhost ~]# tar -zxvf libevent-2.0.16-stable.tar.gz -C /usr/local/src
##配置libevent源代码:
[root@localhost src]# cd libevent-2.0.16-stable/
[root@localhost libevent-2.0.16-stable]# ./configure
##编译libevent源代码:
[root@localhost libevent-2.0.16-stable]# make
##安装libevent源代码:
[root@localhost libevent-2.0.16-stable]# make install
##将libevent的库文件连接到标准库文件中:
//在/etc/ld.so.conf.d/目录下创建一个指明libevent库的路径文件(libevent.conf)
[root@localhost ~]# cd /etc/ld.so.conf.d/
[root@localhost ld.so.conf.d]# vim libevent.conf
##手工调用libevent的库文件:
[root@localhost ld.so.conf.d]# ldconfig -v
##查看libevent的库文件是否被调用:
[root@localhost ld.so.conf.d]# ldconfig -pv |grep libevent
三 、源码安装nginx:
1、拆包:
[root@localhost ~]# tar -zxvf nginx-1.0.11.tar.gz -C /usr/local/src/
[root@localhost ~]# cd /usr/local/src/nginx-1.0.11/
2、创建一个目录:
[root@localhost nginx-1.0.11]# mkdir -pv /var/tmp/nginx
mkdir: 已创建目录 “/var/tmp/nginx”
[root@localhost nginx-1.0.11]#
3、添加一个系统组和系统帐号:
[root@localhost nginx-1.0.11]# groupadd -r nginx
[root@localhost nginx-1.0.11]# useradd -r -g nginx -s /bin/false -M nginx
[root@localhost nginx-1.0.11]#
4、检测nginx源代码配置文件:
[root@localhost nginx-1.0.11]# ./configure \
> --prefix=/usr/local/nginx \ //指定安装目录为/usr/local/nginx
> --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 \ //开启基于线程的nginx
> --lock-path=/var/lock/nginx.lock \ //存放锁机制文件的路径
> --user=nginx \ //运行者的身份
> --group=nginx \ //运行者的组
> --with-http_ssl_module \ //开启加密模块
> --with-http_flv_module \ //开启流媒体模块
> --with-http_stub_status_module \ //安装可以查看nginx状态的程序
> --with-http_gzip_static_module \ //开启页面压缩传输
> --http-client-body-temp-path=/var/tmp/nginx/client/ \
> --http-proxy-temp-path=/var/tmp/nginx/proxy/ \ //代理的临时缓存
> --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
> --with-pcre //启用地址重写
5、编译nginx源代码:
[root@localhost nginx-1.0.11]# make
6、安装nginx源代码:
[root@localhost nginx-1.0.11]# make install
7、启动服务:
[root@localhost nginx-1.0.11]# nginx
8、测试nginx安装是否正常:
//nginx的安装正常;
四 、源码安装mysql:
1、将源码解压到/usr/local目录下:
[root@localhost ~]# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local
2、查看源码安装的帮助信息:
[root@localhost ~]# cd /usr/local/
[root@localhost local]# less mysql-5.5.15-linux2.6-i686/INSTALL-BINARY
3、通过帮助信息对源码进行相应的操作:
##建立mysql用户组:
[root@localhost mysql]# groupadd mysql
##创建一个用户:所属组为mysql,不允许登录shell,不创建家目录;
[root@localhost local]# useradd -r -g mysql -s /sbin/nologin -M mysql
##将源码解压的目录生成一个名为mysql软连接:
[root@localhost ~]# cd /usr/local/
[root@localhost local]# ln -s mysql-5.5.15-linux2.6-i686/ mysql
##改变mysql下所有文件的所有者和所属组:
[root@localhost local]# cd 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
##生成mysql服务的配置文件:
[root@localhost mysql]# cp support-files/my-medium.cnf /etc/my.cnf
##生成服务启动脚本:
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
//复制启动脚本,为了方便使用service mysqld start
##启动服务:
[root@localhost mysql]# service mysqld start
Starting MySQL.. [ OK ]
[root@localhost mysql]#
4、将mysqld服务添加到开机启动项中:
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig --list |grep mysql
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
5、编辑库文件,使mysql能够自动调用相应的库文件:
##创建mysql的库文件指向:
[root@localhost mysql]# cd /etc/ld.so.conf.d/
[root@localhost ld.so.conf.d]# vim mysql.conf
##重新加载mysql的库文件:
[root@localhost ld.so.conf.d]# ldconfig -v |grep mysql
/usr/local/mysql/lib:
libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0
6、将mysql添加到环境变量中:
[root@localhost ~]# PATH=$PATH:/usr/local/mysql/bin
[root@localhost ~]# echo $PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
五 、源码安装php:
1、拆包:
[root@localhost ~]# tar -jxvf php-5.3.7.tar.bz2 -C /usr/local/src/
[root@localhost ~]# cd /usr/local/src/php-5.3.7/
2、检测php源代码配置文件:
[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
3、编译php源代码:
[root@localhost php-5.3.7]# make
4、安装php源代码:
[root@localhost php-5.3.7]# make install
5、创建php主配置文件:
[root@localhost php-5.3.7]# cp php.ini-production /usr/local/php/php.ini
6、创建php-fpm.conf文件:
[root@localhost php-5.3.7]# cd /usr/local/php/etc/
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf
7、编辑php-fpm.conf文件:
[root@localhost ~]# vim /usr/local/php/etc/php-fpm.conf
8、编辑fastcgi.conf:
[root@localhost ~]# cd /etc/nginx/
[root@localhost nginx]# vim /etc/nginx/fastcgi.conf
9、将fastcgi.conf的配置重定向到fastcgi_params:
[root@localhost nginx]# cat fastcgi.conf > fastcgi_params
10、启动php-fpm服务:
[root@localhost ~]# /usr/local/php/sbin/php-fpm
11、配置nginx的主配置文档:
[root@localhost ~]# vim /etc/nginx/nginx.conf
12、重新加载nginx的主配置文档:
[root@localhost ~]# pkill -1 nginx
六 、验证测试:
1 、测试nginx连接php的正确性:
##创建并编辑php主页index.php:
[root@localhost ~]# cd /usr/local/nginx/html/
[root@localhost html]# vim index.php
2 、测试php连接mysql的正确性:
##编辑php主页index.php:
[root@localhost html]# vim index.php
本文转自 cexpert 51CTO博客,原文链接:http://blog.51cto.com/cexpert/980136