LNMP
 

一、环境介绍:

系统:Red Hat Enterprise Linux Server release 5.4

数据库:mysql-5.0.56.tar.gz

Web服务器:nginx-1.0.12.tar.gz

PHP:php-5.3.6.tar.bz2 pcre-8.21.tar.gz

libpng-1.2.10.tar.bz2 jpegsrc.v7.tar.gz gd-2.0.33.tar.gz

fontconfig-2.4.2.tar.gz freetype-2.3.9.tar.bz2
二、安装mysql: # useradd -M -s /sbin/nologin mysql 添加Mysql程序用户,-M是不创建宿主目录,登陆Shell为/sbin/nologin # tar zxf mysql-5.0.56.tar.gz -C /usr/src  

# cd /usr/src/mysql-5.0.56 # ./configure --prefix=/usr/local/mysql   

# make && make install  # cp support-files/my-medium.cnf /etc/my.cnf       # /usr/local/mysql/bin/mysql_install_db --user=mysql     初始化mysql数据库。

# chown -R mysql /usr/local/mysql/var       

# /usr/local/mysql/bin/mysqld_safe &          在后台把Mysqld这个服务给启起来。

# echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf    调整lib库路径

# ldconfig  刷新库文件搜索路径,使用修改生效。
 将mysql添加为系统服务

# cp support-files/mysql.server /etc/init.d/mysqld # chmod +x /etc/init.d/mysqld # chkconfig --add mysqld # chkconfig --level 35 mysqld on 重启mysql服务

# service mysqld restart  设置mysql程序执行的路径 # export PATH=$PATH:/usr/local/mysql/bin

# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
三、安装PCRE:   PCRE是perl所用到的正则表达式,目的是让所装的软件支持正则表达式。默认情况下,Nginx只处理静态的网页请求,也就是html.如果是来自动态的网页请求,比如*.php,那么Nginx就要根据正则表达式查询路径,然后把*.PHP交给PHP去处理

#rpm -qa | grep pcre              //查询系统中有没有安装PCRE,一般装系统是默认装有,所以我们要删掉系统自带的

#cp /lib/libpcre.so.0 /            //在删除系统自带的PCRE之前,要先备份一下libpcre.so.0这个文件,因为RPM包的关联性太强,在删除后没libpcre.so.0这个文件时我们装PCRE是装不上的

#rpm -e --nodeps pcre-6.6-1.1           //删除系统自带的PCRE

# tar zxvfpcre-8.21.tar.gz

#cd pcre-8.21

#cp /libpcre.so.0 /lib/              //把我们删除系统自带的PCRE之前备份的libpcre.so.0拷贝到/lib 目录下

#./configure         //配置PCRE,因为PCRE是一个库,而不是像pache、php、postfix等这样的程序,所以我们安装时选择默认路径即可,这样会在后面安装其它东西时避免一些不必要的麻烦.

#make && make install四、安装Nginx:

# tar zxf nginx-1.0.12.tar.gz -C /usr/src

# cd /usr/src/nginx-1.0.12

# ./configure --prefix=/usr/local/nginx

# make && make install

# /usr/local/nginx/sbin/nginx  启动Nginx

# echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local  让Nginx开机自动启动。现在就可以在浏览器里输入http://server_ip 就可以看到欢迎页面了。

五、安装PHP:在安装之前,还必需把一些处理图形所需要的包给安装了。

1、安装libpng

#tar jxvf libpng-1.2.10.tar.bz2

#cd libpng-1.2.10

#./configure --prefix=/usr/local/png

#make && make install

#ln -s /usr/local/png/lib/* /usr/lib/2、安装jpeg

#mkdir /usr/local/jpeg

#mkdir /usr/local/jpeg/bin

#mkdir /usr/local/jpeg/lib

#mkdir /usr/local/jpeg/include

#mkdir /usr/local/jpeg/man

#mkdir /usr/local/jpeg/man/man1

#tar xvf jpegsrc.v7.tar.gz #cd jpeg-7

#./configure --prefix=/usr/local/jpeg --enable-shared --enable-static

#make && make install

#ln -s /usr/local/jpeg/lib/* /usr/lib/3、安装freetype

#tar jxvf freetype-2.3.9.tar.bz2

#cd freetype-2.3.9

#./configure --prefix=/usr/local/freetype

#make && make install4、安装fontconfig

#tar zxvf fontconfig-2.4.2.tar.gz

#cd fontconfig-2.4.2

#./configure --prefix=/usr/local/fontconfig --with-freetype-config=/usr/local/freetype/bin/freetype-config

#make && make install5、

安装gd

#tar zxvf gd-2.0.33.tar.gz

#cd gd-2.0.33

#./configure --prefix=/usr/local/gd --with-png=/usr/local/png --with-jpeg=/usr/local/jpeg --with-freetype=/usr/local/freetype --with-fontconfig=/usr/local/fontconfig #cp /usr/local/png/include/png.h ./

#cp /usr/local/png/include/pngconf.h ./

#make && make install6、安装PHP

#tar jxvf php-5.3.6.tar.bz2  

#cd php-5.3.6

#./configure --prefix=/usr/local/php --with-gd=/usr/local/gd --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/png--with-freetype-dir=/usr/local/freetype --with-mysql=/usr/local/mysql --enable-fastcgi --enable-fpm  执行完后系统会提示--enable-fastcgi是一个未知选项,我们不必理会

#make && make install

#cp -R ./sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf

# cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm

#php-fpm开机启动

# /etc/init.d/php-fpm 运行启动后,出现Nov 20 17:54:03.891754 [ALERT] [pool www] pm.min_spare_servers(0) must be a positive value 启动错误。

编辑php-fpm.conf找到pm.min_spare_server ;pm.min_spare_servers = 5 去除;号也可使用sed -i 's/;pm.min_spare_servers/pm.min_spare_servers/g' /usr/local/php/etc/php-fpm.conf 进行替换再次运行php-fpm进行启动,提示错误:Nov 20 17:57:14.210553 [ALERT] [pool www] pm.max_spare_servers(0) must be a positive valuesed -i 's/;pm.max_spare_servers = 35/pm.max_spare_servers = 35/g' /usr/local/php/etc/php-fpm.conf

再次运行php-fpm启动,提示错误:Nov 20 17:58:55.248268 [WARNING] [pool www] pm.start_servers is not set. It's been set to 20sed -i 's/;pm.start_servers = 20/pm.start_servers = 20/g' /usr/local/php/etc/php-fpm.conf再次运行php-fpm未提示错误,启动成功。

#配置php编译nginx.conf加入如下语句:      

location ~ \.php$ {       

root html;          

fastcgi_pass 127.0.0.1:9000;       

fastcgi_index index.php;       

include fastcgi_params;       

fastcgi_param SCRIPT_FILENAME  

/usr/local/nginx/html$fastcgi_script_name;        }
echo "" >/usr/local/nginx/html/index.php