环境:centos-6.4-x86-_64
软件:mysql-5.6.15-linux-glibc2.5-x86_64libevent-2.0.16-stable php-5.5.8 nginx-1.4.4 phpMyAdmin-4.1.5-all-languages xcache
共享地址:http://pan.baidu.com/s/1bnrcENd http://pan.baidu.com/s/1nt6Xiat
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。在这里我就来详细介绍lnmp的环境搭建。
首先我们要安装mysql,因为源码安装php时需要指明数据库所在位置,所以需要先安装mysql,解压mysql到/use/local目录然后切换到/use/local/目录中创建一个名为mysql的链接指向刚刚解压的文件夹。接着创建一个名为mysql的组和mysql的用户。切换到mysql目录中,修改所有组为mysql和所属者为mysql。
然后对mysql进行初始化,执行scripts/mysql_install_db--user=mysql。初始化完成后修改所属者为root保留data目录的所属者为mysql
然后将mysql的bin目录加入到系统搜索路径中
拷贝mysql目录下的my.cnf到/etc目录下,拷贝support-files/mysql.server 到/etc/init.d/mysqld。然后启动mysql。使用chkconfig --addmysqld将mysql添加到chkconfig管理。
然后给mysql添加管理帐号和密码
Mysql到这里就安装完成,接着安装nginx。在安装nginx之前要先安装pcre和libevent,在linux内核在2.6以后的linux版本中都安装了pcre,所以这里不需要再进行安装,那就安装libevent,解压libevent到/usr/local/src目录中。
然后切换到解压后的目录中使用命令./configure --prefix=/usr/local/libevent 完成后使用命令 make && make install然后将libevent里面包含的库输出到系统中去
然后使用ldconfig更新缓存。接着安装nginx,解压nginx到/usr/local/src切换到解压后的目录中执行
./configure \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--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=/var/tmp/nginx/client/ \
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/\
--with-pcre
完成之后执行 make&& make install。之后创建nginx组和nginx帐号,
groupadd -r nginx
useradd -r -g nginx -s /bin/nologin -M nginx
编写nginx控制脚本/etc/init.d/nginx
#!/bin/bash
#chkconfig: 2345 88 40
#description: the server is nginx server
prog=/usr/local/nginx/sbin/nginx
lockfile=/var/lock/nginx.lock
start(){
if [ -e $lockfile ];then
echo "nginx server is started"
else echo -n "nginx serveris starting... "
sleep 1
$prog &>/dev/null && echo "[ ok]" && touch $lockfile ||echo "[ failer ]"
fi
}
stop(){
if [ ! -e $lockfile ];then
echo "nginx server is stoped"
else echo -n "nginx server is stoping... "
sleep 1
$prog -s stop && echo "[ ok ]" && rm -rf$lockfile ||echo "[ failer ]"
fi
}
reload(){
if [ -e $lockfile ];then
$prog -s reload &>/dev/null && echo "[ ok ]" ||echo "[ failer ]"
else $prog &>/dev/null && touch $lockfile
fi
}
configuration() {
$prog -t
}
case $1 in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
configuration)
configuration
;;
*)
echo "USAGE:start|stop|reload|configuration"
;;
esac
将nginx添加到chkconfig 管理
Nginx到这里也就安装完成,接下来安装php,解压php到/usr/local/src下,切换到解压后的目录,执行 ./configure \
--prefix=/usr/local/php \
--enable-fpm \
--enable-sockets \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-mbstring \
--enable-xml \
--with-png-dir\
--with-jpeg-dir \
--with-zlib \
--with-freetype-dir \
--with-config-file-path=/etc/php\
--with-config-file-scan-dir=/etc/php5.d
完成后使用命令 make&& make install。拷贝php.ini-development 到 /etc/php/php.ini。
将sapi/fpm/目录下的init.d.php-fpm 拷贝到/etc/init.d/php-fpm,并且给于可执行权限。
再将给目录下的php-fpm.conf拷贝到/usr/local/php/etc 目录下。然后启动php,将php-fpm添加到chkconfig 管理。
然后来编辑nginx的配置文件
让nginx可以找到以php为扩展名的页面。然后在nginx的站点根目录下编辑一个php页面,测试nginx和php的结合
从图中可以看出nginx和php的结合没有问题。接下来测试php和mysql的结合。
编辑index.php
然后测试
显示ok,说明也没有问题
那我们就来搭建phpmyadmin,解压phpmyadmin。然后拷贝这个目录到/usr/local/nginx/html/phpmyadmin。然后测试。
输入数据库的管理帐号和密码就可以管理数据库了。
最后再来安装php加速器
解压xcache到/usr/local/src下,切换到该目录,执行/usr/local/php/bin/phpize完成后执行
./configure --enable-xcahce --with-php-config=/usr/local/php/bin/php-config。然后执行make && make install
然后拷贝xcache.ini到/etc/php5.d目录下。然后编辑/etc/php5.d/xcache.ini
然后在使用phpinfo()这个函数显示xcache
可以看到xcache,说明xcache已经加载上了。要管理xcache需要有用户名和密码,编辑/etc/php5.d/xcache.ini
管理xcache需要有管理页面将/usr/local/src/xcache-3.1.0/htdocs拷贝到/usr/local/nginx/html/admin,测试能否访问
输入用户名和密码,可以访问。
到这里lnmp环境就已经搭建完成了。