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