1、nginx安装

下载nginx的源码包

cd /usr/src   #一般软件的源码包都放在这个目录下

wget http://nginx.org/download/nginx-1.0.13.tar.gz  #下载

nginx会有几个依赖包,在这里我们提前安装

yum  install zlib-devel pcre-devel openssl-devel –y

首先解压nginx的源码包

tar -zxvf nginx-1.0.13.tar.gz

编译

./configure --prefix=/usr/local/nginx\   # 指定安装目录为/usr/local/nginx

--with-openssl=/usr/include/openssl\  # 启用ssl

--with-pcre\                          # 启用正规表达式

--with-http_stub_status_module        # 安装可以查看nginx状态的程序

预编译完成以后

Make    make install

完成以后,检查nginx是否安装成功并启动

ls /usr/local/nginx   #查看安装目录

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

可以通过查看端口判断nginx是否启动,端口为80

netstat  -natlp |grep 80

然后通过ip访问!

2、mysql安装

下载mysql源码包

wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.95.tar.gz

安装依赖包

yum  install ncurses-devel  -y

创建mysql用户

useradd -M -s /sbin/nologin mysql  # -M不创建home目录,-s指定shell为不登录

然后进行安装

tar -zxvf mysql-5.0.95.tar.gz

cd mysql-5.0.95

./configure --prefix=/usr/local/mysql \

--without-debug \                             # 取消调试模式提高性能

--with-extra-charsets=utf8,gbk \              # 仅仅指定需要的默认字符集提高性能

--enable-assembler \                          # 使用汇编模式提高性能

--with-mysqld-ldflags=-all-static \           # 以静态方式编译提高性能

--with-client-ldflags=-all-static \

--with-unix-socket-path=/tmp/mysql.sock \     # 使用unix socket提高性能

--with-ssl

make

make install

安装完成后复制配置文件和启动脚本:

cp support-files/my-medium.cnf /etc/my.cnf         # 复制配置文件

cp support-files/mysql.server /etc/init.d/mysqld   # 复制启动脚本

chmod +x /etc/init.d/mysqld         # 给启动脚本执行权限

为了以后方便我们为所有的二进制可执行文件和动态链接库文件做一个软连接:

ln -s /usr/local/mysql/bin/* /usr/local/bin/      # 为可执行的二进制文件做软连接

ln -s /usr/local/mysql/lib/mysql/lib* /usr/lib/  # 为动态链接库做一个软连接

然后我们初始化数据库:

mysql_install_db  --user=mysql   #mysql用户安装数据库

为了mysql能正常使用我们需要更改一下mysql安装目录和mysql的数据库目录的属主和属组

chown –R root:mysql /usr/local/mysql  #更改安装目录属主为root,组为mysql

chown  -R mysql:mysql /usr/local/mysql/var #更改数据库目录属主和组为mysql

配置完成启动mysql

/etc/init.d/mysqld restart

连接数据库的命令

/usr/local/mysql/bin/mysql

3、安装PHP

首先来安装几个源码的依赖包

wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.bz2http://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/mhash-0.9.9.9.tar.bz2

# 这两个包安装完成后要把动态链接库做一个软连接到/usr/lib,以为接下来的mcrypt依赖于这两个包

ln -s /usr/local/lib/libmcrypt*  /usr/lib

ln -s /usr/local/lib/libmhash.*  /usr/lib/

ln -s /usr/local/bin/libmcrypt-config  /usr/bin/libmcrypt-config

###########################################################

wget http://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz

报错:configure: error: *** libmcrypt was not found 执行以下命令

export LD_LIBRARY_PATH=/usr/local/lib: LD_LIBRARY_PATH

下载PHP源码包

wget http://cn2.php.net/get/php-5.4.0.tar.bz2

安装依赖包

yum install libxml2  libxml2-devel  libpng  libpng-devel curl-devel

openldap  openldap-devel  -y

iconv函数库能够完成各种字符集间的转换,是php编程中不可缺少的基础函数库。 
1、下载libiconv函数库 http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz; 
2、解压缩tar -zxvf libiconv-1.9.2.tar.gz; 
3、安装libiconv 
       #configure --prefix=/usr/local/iconv 
       #make 
       #make install 

php安装

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-zlib --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --with-curl --with-curlwrappers --enable-fpm --with-mcrypt --with-gd --with-openssl --with-mhash --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc -enable-zip --enable-soap --with-config-file-path=/usr/local/php/etc --with-iconv=/usr/local/

make

make install

到这里整个LNMP已经安装完成.下面我们就配置phpnginx能运行php网站:
首先为php创建配置文件:

cp php.ini-production /usr/local/php/etc/php.ini                               # 如果是开发就复制php.ini-development

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

ln -s /usr/local/php/bin/php /usr/bin/

配置php-fpm,编辑php-fpm.conf

vi /usr/local/php/etc/php-fpm.conf

找到listen那一行,修改成如下内容:

listen = /var/run/php-fpm/php-fpm.sock   # 使用unix socket

启动php-fpm

mkdir /var/run/php-fpm

启动:/usr/local/php/sbin/php-fpm

然后配置nginx,编辑nginx配置文件

vi /usr/local/nginx/conf/nginx.conf

修改nginx配置文件支持php:

server {

        listen       80;

        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            root   html;

            index  index.php index.html index.htm;         # 添加index.php的首页文件

        }

        # 添加下面内容

        location ~ \.php$ {

            fastcgi_pass        unix:/var/run/php-fpm/php-fpm.sock;

            fastcgi_index       index.php;

            fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

            include fastcgi_params;

            include fastcgi.conf;

        }

修改完毕后保存退出重启nginx:

pkill -9 nignx

/usr/local/nginx/sbin/nginx

然后在/usr/local/nginx/html下创建index.php,

vi /usr/local/nginx/html/index.php

添加下面内容:

<?php

phpinfo();

?>

报错解决:

安装php时出现make: *** [sapi/fpm/php-fpm] 错误 1

解决方法

1、如果不需要mcrypt,配置(configure php 时去掉该选项
2
、如果需要mcrypt,那么需要安装libltdl,方法有
libltdl
libmcrypt软件包中就有

ldconfig –p |grep ltdl

cd /software/libmcrypt-2.5.8/libltdl

./configure –enable-ltdl-install

Make

Make install

或者

cd /usr/share/libtool/libltdl

./configure –prefix=/usr

Make   ;