标签:linux fastcgi lnmp mysql php-fpm
源码包编译搭建LNMP+FastCGI平台
搭建环境:
CentOS 6.5
软件包版本:
nginx-1.2.0.tar.gz
mysql-5.5.13.tar.gz
php-5.4.9.tar.gz
PHP依赖包:
mhash-0.9.9.9.tar.gz
libiconv-1.13.tar.gz
libmcrypt-2.5.8.tar.gz
libevent-2.0.21-stable.tar.gz
IP地址设置:
server:10.21.1.80
client:10.21.1.81
一、安装nginx
[root@dev-16 ~]# useradd -s /sbin/nologin -M nginx
[root@dev-16 lnmp+memcached]# tar -zxf nginx-1.2.0.tar.gz -C /usr/src/
[root@dev-16 lnmp+memcached]# cd /usr/src/nginx-1.2.0/
[root@dev-16 nginx-1.2.0]# ./configure \
--prefix=/usr/local/nginx \
--pid-path=/usr/local/nginx/nginx.pid \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--http-client-body-temp-path=/usr/local/nginx/client \
--http-proxy-temp-path=/usr/local/nginx/proxy \
--http-fastcgi-temp-path=/usr/local/nginx/fcgi \
--http-uwsgi-temp-path=/usr/local/nginx/uwsgi \
--http-scgi-temp-path=/usr/local/nginx/scgi \
--with-pcre
[root@dev-16 nginx-1.2.0]# make && make install
二、安装mysql
1、安装mysql配置工具cmake
[root@dev-16 lnmp+memcached]# tar -zxf cmake-2.8.10.2.tar.gz -C /usr/src/
[root@dev-16 lnmp+memcached]# cd /usr/src/cmake-2.8.10.2/
[root@dev-16 cmake-2.8.10.2]# ./bootstrap –prefix=/usr/local/cmake
[root@dev-16 cmake-2.8.10.2]# make
[root@dev-16 cmake-2.8.10.2]# make install
2、安装源码mysql
(1)创建mysql用户
[root@dev-16 ~]# useradd -s /sbin/nologin -M mysql
(2)解包,配置,编译,安装mysql
[root@dev-16 lnmp+memcached]# tar -zxf mysql-5.5.13.tar.gz -C /usr/src/
[root@dev-16 lnmp+memcached]# cd /usr/src/mysql-5.5.13/
[root@dev-16 mysql-5.5.13]#/usr/local/cmake/bin/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DMYSQL_USER=mysql \
-DEXTRA_CHARSETS=all \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
[root@dev-16 mysql-5.5.13]# make && make install
(2)mysql初始化设置
[root@dev-16 mysql-5.5.13]# cd /usr/local/mysql/
[root@dev-16 mysql]# chown -R mysql.mysql .
[root@dev-16 mysql]# ./scripts/mysql_install_db –user=mysql //初始化操作
(3)创建配置文件my.cnf
[root@dev-16 ~]# cd /usr/src/mysql-5.5.13/support-files/
[root@dev-16 support-files]# cp my-medium.cnf /etc/my.cnf //配置文件
[root@dev-16 support-files]# cp mysql.server /etc/init.d/mysqldd //创建启动脚本
[root@dev-16 support-files]# chmod +x /etc/init.d/mysqldd //添加启动脚本执行权限
[root@dev-16 support-files]# chkconfig --add mysqldd
[root@dev-16 support-files]# chkconfig --list mysqldd
mysqldd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@dev-16 support-files]# service mysqldd start //启动服务
(3)将mysql提供的命令添加到PATH变量中
[root@dev-16 support-files]# export PATH=/usr/local/mysql/bin/:$PATH
[root@dev-16 ~]# vim /etc/bashrc //文件末尾添加一行记录
export PATH=/usr/local/mysql/bin:$PATH
(4)指定mysql库文件的位置
[root@dev-16 ~]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/mysql/lib/
[root@dev-16 ~]# ldconfig
三、安装PHP
(1)安装PHP依赖包
mhash、libiconv、libmcrypt直接编译安装就可以
libmcrypt包中包含一个libltdl的工具,该工具也需要安装
[root@dev-16 libmcrypt-2.5.8]# cd libltdl/
[root@dev-16 libltdl]# ./configure --with-gmetad --enable-gexec –enable-ltdl-install
(2)指定扩展包库文件的位置
[root@dev-16 ~]# ln -sv /usr/local/lib/libmcrypt* /usr/lib/
[root@dev-16 ~]# ln -sv /usr/local/lib/libmhash.* /usr/lib/
[root@dev-16 ~]# ldconfig -v //系统加载当前链接文件
(3)安装PHP
进入解压后目录
配置:
./configure --prefix=/usr/local/php5nginx \
--with-config-file-path=/usr/local/php5nginx/etc \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-iconv-dir=/usr/local \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--with-curlwrappers \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-ldap \
--with-ldap-sasl \
--with-xmlrpc \
--enable-zip \
--enable-soap
配置完成后执行编译:
[root@dev-16 php-5.4.9]# make ZEND_EXTRA_LIBS=‘-liconv‘
[root@dev-16 php-5.4.9]# make install
(4)为PHP程序创建php配置文件
进入php源码目录:
[root@dev-16 php-5.4.9]# cp php.ini-production /usr/local/php5nginx/etc/php.ini
四、整合Nginx与FastCGI
(1)生成php-fpm住配置文件
进入php的安装目录下的etc目录
[root@dev-16 etc]# cp php-fpm.conf.default php-fpm.conf //生成php-fpm的配置文件
(2)准备php-fpm的启动脚本
进入php源码目录下:
[root@dev-16 ~]# cd /usr/src/php-5.4.9/sapi/fpm/
[root@dev-16 fpm]# cp init.d.php-fpm /etc/init.d/php-fpm
[root@dev-16 fpm]# chmod +x /etc/init.d/php-fpm
[root@dev-16 fpm]# chkconfig --add php-fpm
[root@dev-16 fpm]# chkconfig --list php-fpm
php-fpm 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@dev-16 ~]# service php-fpm start
(3)编辑nginx配置文件,整合nginx与FastCGI
[root@dev-16 ~]# cd /usr/local/nginx/conf/
[root@dev-16 conf]# vim nginx.conf
……
location / {
root html;
index index.html index.php;
}
……
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
……
(4)修改fastcgi_params文件内容,重启nginx服务
[root@dev-16 conf]# vim fastcgi_params //添加一行配置
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
重启nginx服务:
[root@dev-16 sbin]# ./nginx -s stop
[root@dev-16 sbin]# ./nginx
(5)测试
[root@dev-16 ~]# cat /usr/local/nginx/html/test.php //测试php解析
<?php
phpinfo();
?>
d[root@dev-16 ~]# cat /usr/local/nginx/html/db.php //测试数据库链接
<?php
$link=mysql_connect(‘localhost‘,‘test‘,‘‘); //连数据库
if($link) echo "恭喜你,数据库连接成功啦 !!"; //成功时的提示
mysql_close(); //关数据库
?>
本文出自 “烟头网管” 博客,请务必保留此出处http://8838848.blog.51cto.com/8828848/1545028
标签:linux fastcgi lnmp mysql php-fpm
原文地址:http://8838848.blog.51cto.com/8828848/1545028