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.bz2和http://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已经安装完成.下面我们就配置php和nginx能运行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 ;