Linux下源碼搭建LNMP環境

 1.安裝gcc glib 包含着開發工具中
      Development Tools --開發工具 
      Legacy Software Development  -- 傳統軟件開發工具 
      Development Libraries –開發工具庫 
      Java development –源代碼基於java 
如果是圖形的軟件包 
      Kde環境需要安裝: 
      Kde software development 
      Gnome環境需要安裝: 
      Gnome software development 
      X software development

2.所需軟件包

libevent-1.4.14b-stable.tar.gz

libiconv-1.13.1.tar.gz

mysql-5.5.15-linux2.6-i686.tar.gz

nginx-1.0.11.tar.gz

pcre-8.12.zip

php-5.3.7.tar.bz2

系統環境支持

[root@xcu ~]# yum install -y gcc openssl-devel zlib-devel pcre-devel

3.安裝步驟:

安裝Mysql

[root@xcu ~]# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/

[root@xcu ~]# cd /usr/local/

[root@xcu local]# ln -s mysql-5.5.15-linux2.6-i686 mysql

[root@xcu local]# cd mysql

[root@xcu mysql]# groupadd mysql

[root@xcu mysql]# useradd -g mysql -s /sbin/nologin -M mysql      #創建用戶和組

[root@xcu mysql]# chown -R mysql .        #修改目錄權限

[root@xcu mysql]# chgrp -R mysql .

[root@xcu mysql]# ./scripts/mysql_install_db --user=mysql       #安裝mysql數據庫

[root@xcu mysql]# chown -R root .

[root@xcu mysql]# chown -R mysql data

[root@xcu mysql]# vim /etc/profile

添加環境變量PATH=$PATH:/usr/local/mysql/bin

[root@xcu mysql]# vim /etc/ld.so.conf.d/mysql.conf

添加mysql庫文件/usr/local/mysql/lib

[root@xcu mysql]# ldconfig -v |grep mysql #重新加載系統庫文件

wps_clip_image-1676

加載成功。

[root@xcu mysql]# ln -s /usr/local/mysql/include /usr/include/mysql  #鏈接庫

[root@xcu mysql]# cp support-files/my-large.cnf /etc/my.cnf         #主配置文檔

[root@xcu mysql]# cp support-files/mysql.server /etc/init.d/mysqld    #開機文件腳本

[root@xcu mysql]# chkconfig --add mysqld                       #加入到系統服務列表

[root@xcu mysql]# chkconfig mysqld on      \\開機自啓動

[root@xcu mysql]# service mysqld start

//測試mysql數據庫是否可用

wps_clip_image-6182

                           圖-6 mysql數據庫檢測

安裝Nginx

[root@xcu ~]# tar -zxvf nginx-1.0.11.tar.gz

[root@xcu ~]# cd nginx-1.0.11

[root@xcu nginx-1.0.11]# groupadd nginx

[root@xcu nginx-1.0.11]# useradd -g nginx -s /bin/false -M nginx #創建用戶和組

[root@xcu nginx-1.0.11]# ./configure \

    --prefix=/usr/local/nginx \

    --sbin-path=/usr/sbin/nginx \

    --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

[root@xcu nginx-1.0.11]# make && make install

[root@xcu nginx-1.0.11]# cd /etc/nginx/

[root@xcu nginx]# vim /etc/init.d/nginxd                  #腳本程序

#!/bin/sh

    #

    # nginx - this script starts and stops the nginx daemon

    #

    # chkconfig:   - 85 15

    # description:  Nginx is an HTTP(S) server, HTTP(S) reverse \

    #               proxy and IMAP/POP3 proxy server

    # processname: nginx

    # config:      /etc/nginx/nginx.conf

    # config:      /etc/sysconfig/nginx

    # pidfile:     /var/run/nginx.pid

    # Source function library.

    . /etc/rc.d/init.d/functions

    # Source networking configuration.

    . /etc/sysconfig/network

    # Check that networking is up.

    [ "$NETWORKING" = "no" ] && exit 0

    nginx="/usr/sbin/nginx"

    prog=$(basename $nginx)

    NGINX_CONF_FILE="/etc/nginx/nginx.conf"

    [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

    lockfile=/var/lock/subsys/nginx

    make_dirs() {

       # make required directories

       user=`nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`

       options=`$nginx -V 2>&1 | grep 'configure arguments:'`

       for opt in $options; do

           if [ `echo $opt | grep '.*-temp-path'` ]; then

               value=`echo $opt | cut -d "=" -f 2`

               if [ ! -d "$value" ]; then

                   # echo "creating" $value

                   mkdir -p $value && chown -R $user $value

               fi

           fi

       done

    }

    start() {

        [ -x $nginx ] || exit 5

        [ -f $NGINX_CONF_FILE ] || exit 6

        make_dirs

        echo -n $"Starting $prog: "

        daemon $nginx -c $NGINX_CONF_FILE

        retval=$?

        echo

        [ $retval -eq 0 ] && touch $lockfile

        return $retval

    }

    stop() {

        echo -n $"Stopping $prog: "

        killproc $prog -QUIT

        retval=$?

        echo

        [ $retval -eq 0 ] && rm -f $lockfile

        return $retval

    }

    restart() {

        configtest || return $?

        stop

        sleep 1

        start

    }

    reload() {

        configtest || return $?

        echo -n $"Reloading $prog: "

        killproc $nginx -HUP

        RETVAL=$?

        echo

    }

    force_reload() {

        restart

    }

    configtest() {

      $nginx -t -c $NGINX_CONF_FILE

    }

    rh_status() {

        status $prog

    }

    rh_status_q() {

        rh_status >/dev/null 2>&1

    }

    case "$1" in

        start)

            rh_status_q && exit 0

            $1

            ;;

        stop)

            rh_status_q || exit 0

            $1

            ;;

        restart|configtest)

            $1

            ;;

        reload)

            rh_status_q || exit 7

            $1

            ;;

        force-reload)

            force_reload

            ;;

        status)

            rh_status

            ;;

        condrestart|try-restart)

            rh_status_q || exit 0

                ;;

        *)

            echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"

            exit 2

esac

[root@xcu nginx]# chmod a+x /etc/init.d/nginxd

[root@xcu nginx]# chkconfig  --add  nginxd

[root@xcu nginx]# chkconfig nginxd on

[root@xcu nginx]# mkdir -pv /www/html

mkdir: created directory `/www'

mkdir: created directory `/www/html'

[root@xcu nginx]# vim  /etc/nginx/nginx.conf              #修改後如圖-7

wps_clip_image-14741

                            圖-7nginx.conf的配置

[root@xcu nginx]# cd  /www/html/

[root@xcu html]# vim  index.html

添加<h1>Hello! This is my Nginx Page!</h1>

[root@xcu html]# service  nginxd  start

本地測試服務是否可用,如圖-8

wps_clip_image-9026

                                  圖-8本地測試網頁站點

安裝Php

安裝php支持的庫文件

[root@xcu ~]# tar -zxvf libevent-1.4.14b-stable.tar.gz -C /usr/local

[root@xcu ~]# cd /usr/local/libevent-1.4.14b-stable/

[root@xcu libevent-1.4.14b-stable]# ./configure

[root@xcu libevent-1.4.14b-stable]# make && make install

[root@xcu ~]# tar -zxvf libiconv-1.13.1.tar.gz -C /usr/local

[root@xcu ~]# cd /usr/local/libiconv-1.13.1/

[root@xcu libiconv-1.13.1]# ./configure

[root@xcu libiconv-1.13.1]# make && make install

[root@xcu ~]# tar -jxvf php-5.3.7.tar.bz2 -C /usr/src/

[root@xcu ~]# cd /usr/src/php-5.3.7/

[root@xcu php-5.3.7]# ./configure --prefix=/usr/local/php \

--with-mysql=/usr/local/mysql \

--with-openssl \

--enable-fpm \

--with-libevent-dir=/usr/local \

--with-mysqli=/usr/local/mysql/bin/mysql_config \

--enable-mbstring \

--with-freetype-dir \ 

--with-jpeg-dir --with-png-dir \

--with-zlib \

--with-libxml-dir=/usr \

--enable-xml \

--with-iconv-dir=/usr/local

[root@xcu php-5.3.7]# make ZEND_EXTRA_LIBS='-liconv'

[root@xcu php-5.3.7]# make install

[root@xcu php-5.3.7]#/usr/src/php-5.3.7/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin

[root@xcu php-5.3.7]# ln -s -f /usr/local/php/bin/phar.phar /usr/local/php/bin/phar

[root@xcu php-5.3.7]# cd /usr/local/php/etc/

[root@xcu etc]# cp -p php-fpm.conf.default php-fpm.conf

[root@xcu etc]# cd ../sbin/       

[root@xcu sbin]# ./php-fpm

wps_clip_image-19004

#這裏需要改寫配置文檔,參照錯誤提示進行修改,修改後如圖-9

[root@xcu sbin]# vim ../etc/php-fpm.conf

wps_clip_image-32638

                      圖-9php-fpm.conf的文件配置

#總體測試,使Nginx和Php、Mysql進行關聯

[root@xcu ~]# vim /etc/nginx/nginx.conf

wps_clip_image-7830

                        圖-10nginx.conf的文件配置

[root@xcu ~]# cd /www/html/

[root@xcu html]# mv index.html index.php 

[root@xcu html]# vim index.php

wps_clip_image-3171

[root@xcu html]# service nginxd restart

wps_clip_image-2734

                               圖-11環境搭建檢測

說明Nginx和Php、Mysql之間的環境搭建成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章