環境:centos-6.4-x86-_64php
軟件: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 xcachehtml
共享地址:http://pan.baidu.com/s/1bnrcENd http://pan.baidu.com/s/1nt6Xiatmysql
LNMP表明的就是:Linux系統下Nginx+MySQL+PHP這種網站服務器架構。在這裏我就來詳細介紹lnmp的環境搭建。linux
首先咱們要安裝mysql,由於源碼安裝php時須要指明數據庫所在位置,因此須要先安裝mysql,解壓mysql到/use/local目錄而後切換到/use/local/目錄中建立一個名爲mysql的連接指向剛剛解壓的文件夾。接着建立一個名爲mysql的組和mysql的用戶。切換到mysql目錄中,修改全部組爲mysql和所屬者爲mysql。nginx
而後對mysql進行初始化,執行scripts/mysql_install_db--user=mysql。初始化完成後修改所屬者爲root保留data目錄的所屬者爲mysqlsql
而後將mysql的bin目錄加入到系統搜索路徑中數據庫
拷貝mysql目錄下的my.cnf到/etc目錄下,拷貝support-files/mysql.server 到/etc/init.d/mysqld。而後啓動mysql。使用chkconfig --addmysqld將mysql添加到chkconfig管理。centos
而後給mysql添加管理賬號和密碼api
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環境就已經搭建完成了。