LNMP第一部分環境搭建

                          

                     LNMP第一部分環境搭建php


1、MySQL安裝(同LAMP裏面的安裝方法)html

        參考網址:http://sxct168.blog.51cto.com/824373/1661366mysql

2、php安裝nginx

1進入/usr/local/src/目錄下sql

[root@mysql ~]# cd /usr/local/src/vim

 

2、下載phpapi

wget  http://cn2.php.net/distributions/php-5.4.37.tar.bz2瀏覽器

 

3、解壓bash

tar jxf php-5.4.37.tar.bz2curl

 

4建立一個php-fpm用戶,而且禁止登錄

      useradd -s /sbin/nologin php-fpm

 

5、配置php參數

cd php-5.4.37

./configure --prefix=/usr/local/php   --with-config-file-path=/usr/local/php/etc  --enable-fpm   --with-fpm-user=php-fpm  --with-fpm-group=php-fpm   --with-mysql=/usr/local/mysql  --with-mysql-sock=/tmp/mysql.sock  --with-libxml-dir  --with-gd   --with-jpeg-dir   --with-png-dir   --with-freetype-dir  --with-iconv-dir   --with-zlib-dir   --with-mcrypt   --enable-soap   --enable-gd-native-ttf   --enable-ftp  --enable-mbstring  --enable-exif    --disable-ipv6     --with-curl

 

--prefix=:後面跟的是安裝路徑

--with-config-file-path=:後面跟配置文件的路徑

1)這一步若是報錯,須要安裝gcc

   安裝:[root@mysql php-5.4.37]# yum install gcc


2)配置php時遇到的錯誤,須要用到yum擴展源來搜索所須要的包,可是須要安裝yum擴展源

   安裝yum擴展源:yum install -y epel-release

配置php時遇到的錯誤:

1error: xml2-config not found. Please check your libxml2 installation.

      #  yum install -y libxml2-devel


2error: Please reinstall the libcurl distribution -

    easy.h should be in <curl-dir>/include/curl/

     # yum -y install curl-devel


3error: jpeglib.h not found.

    #  yum install -y libjpeg-devel


4error: png.h not found.

  # yum install -y libpng libpng-devel


5)  error: freetype-config not found.

  #  yum install -y freetype-devel


6) error: mcrypt.h not found. Please reinstall libmcrypt.

   # yum install -y libmcrypt-devel

解決了以上6個錯誤以後,在進行./configure配置時,沒有出現錯誤,出現Thank you for using PHP

出現這個就說明配置成功了,以下圖所示:

wKiom1WE3SvxMylnAALQTGaeccY963.jpg

最後仍是要使用echo $?來檢測一下是否OK

[root@mysql php-5.4.37]# echo $?

0  #這裏提示數字0的話,就說明剛纔的配置沒有問題

 

7)使用ls查看/usr/local/php/目錄下,已經出現了安裝目錄

      [root@mysql php-5.4.37]# ls /usr/local/php/

wKioL1WE3wCDxGiBAADWLQIf5Dk699.jpg

6、編譯php

     make

7、安裝php

     make install

8、修改配置文件

     1)在當前目錄下(/usr/local/src/php-5.4.37目錄下)拷貝php.ini-production配置文件到/usr/local/php/etc/目錄下,而且更名爲php.ini

         cp php.ini-production /usr/local/php/etc/php.ini

 

  2) /usr/local/src/php-5.4.37目錄下有兩個配置文件

        php.ini-development:這個是配置文件是在開發環境是使用的

        php.ini-production:這個是實際生產環境中使用的

 

    3拷貝啓動腳本/etc/init.d/目下,而且命名爲php-fpm

        cp /usr/local/src/php-5.4.37/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

[root@mysql php-5.4.37]# cp /usr/local/src/php-5.4.37/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

 

   4移動配置文件,而且重命名

        mv /usr/local/php/etc/php-fpm.conf.default  /usr/local/php/etc/php-fpm.conf

 

  5給php-fpm目錄賦予可執行權限

        chmod 755 /etc/init.d/php-fpm

 

   6加入到啓動列表

      chkconfig --add php-fpm

 

  7設置默認啓動

       chkconfig php-fpm on

 

 8啓動php

       service php-fpm start

 

 3、安裝nginx

1、進入/usr/local/src/目錄

      cd /usr/local/src/


2、下載nginx

     wget http://nginx.org/download/nginx-1.6.2.tar.gz


3、解壓

    tar zxvf nginx-1.6.2.tar.gz


4、配置nginx文件

   cd nginx-1.6.2

./configure   --prefix=/usr/local/nginx   --with-pcre

這個錯誤"./configure: error: the HTTP rewrite module requires the PCRE library."提示是沒有安裝PCRE庫

安裝PCRE庫:

[root@mysql nginx-1.6.2]# yum install -y pcre-devel

 

5編譯

      make


6、安裝

     make install

 

7、安裝完成以後,使用ls查看/usr/local/nginx/目錄,目錄下會生成4個目錄文件

    

  [root@mysql
nginx-1.6.2]# ls /usr/local/nginx/
       conf 
html  logs  sbin     #生成的目錄文件

8啓動nginx: 

    /usr/local/nginx/sbin/nginx

[root@mysql
nginx-1.6.2]# ps aux |grep nginx
root      7271 
0.0  0.0  19836  
604 ?        Ss   08:38  
0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody    7272 
0.0  0.1  20260 
1196 ?        S    08:38  
0:00 nginx: worker process     
root      7276 
0.0  0.0 103248   872 pts/0   
S+   08:38   0:00 grep nginx

1)啓動失敗,若是端口占用,須要把進程殺死

        killall [進程名稱]

 

2)而後在重啓nginx

/usr/local/nginx/sbin/nginx -s reload

 

4、編寫nginx啓動腳本

1、在/etc/init.d/目錄下建立一個nginx文件,加入如下內容

vim /etc/init.d/nginx 

加入以下內容

#!/bin/bash
# chkconfig: - 30
21  #定義了啓動在那個級別中,30是啓動順序,21是關閉順序
# description: http
service.
# Source Function
Library
.
/etc/init.d/functions
# Nginx Settings
 
NGINX_SBIN="/usr/local/nginx/sbin/nginx"
NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
NGINX_PID="/usr/local/nginx/logs/nginx.pid"
RETVAL=0
prog="Nginx"
 
start() {
        echo -n $"Starting $prog: "
        mkdir -p /dev/shm/nginx_temp
        daemon $NGINX_SBIN -c $NGINX_CONF
        RETVAL=$?
        echo
        return $RETVAL
}
 
stop() {
        echo -n $"Stopping $prog: "
        killproc -p $NGINX_PID $NGINX_SBIN
-TERM
        rm -rf /dev/shm/nginx_temp
        RETVAL=$?
        echo
        return $RETVAL
}
 
reload(){
        echo -n $"Reloading $prog: "
        killproc -p $NGINX_PID $NGINX_SBIN -HUP
        RETVAL=$?
        echo
        return $RETVAL
}
 
restart(){
        stop
        start
}
 
configtest(){
    $NGINX_SBIN -c $NGINX_CONF -t
    return 0
}
 
case "$1"
in
  start)
        start
        ;;
  stop)
        stop
        ;;
  reload)
        reload
        ;;
  restart)
        restart
        ;;
  configtest)
        configtest
        ;;
  *)
        echo $"Usage: $0
{start|stop|reload|restart|configtest}"
        RETVAL=1
esac
exit $RETVAL

2保存後,執行

     1chmod a+x /etc/init.d/nginx

           或者

           chmod 755 /etc/init.d/nginx

    2chkconfig --add nginx #加入到啓動列表

    3chkconfig nginx on #設定爲開機啓動

 

3chkconfig --list nginx

      查看在哪些級別是關閉和開啓的

 

4、啓動nginx命令

     service nginx start

 

 1) 若是啓動失敗,提示有進程佔用了80端口,查詢是那個進程佔用了80端口

    netstat -lnp |grep 80

 

2) 殺死佔用的80端口的進程,而後在啓動,固然若是你使用上面的步驟已經把nginx啓動了,那麼你如今使用service nginx start啓動nginx也會失敗的,也會提示你80端口被佔用,因此你須要service nginx stop先中止nginx,而後在啓動就OK

 

killall 進程名稱

 

5、配置解析php

1nginx的配置文件位置

     /usr/local/nginx/conf/nginx.conf

 vim  /usr/local/nginx/conf/nginx.conf   //把下面的配置,前面的#刪除,並更改fastcgi_param SCRIPT_FILENAME 那一行

具體如圖:

wKiom1WE3X3jdG48AAEMfqMkhMc447.jpg

wKioL1WE3zGgSfnTAAHRdfDUQ8g832.jpg

須要修改的文件:

        location ~ \.php$ {

            root           html;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;

            include        fastcgi_params;

        }

 

 

2、配置完成後檢查配置文件有沒有錯誤

    /usr/local/nginx/sbin/nginx -t

   

[root@mysql ~]#
/usr/local/nginx/sbin/nginx -t
nginx: the
configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration
file /usr/local/nginx/conf/nginx.conf test is successful

有這個提示就說明配置是正確的

 

3從新加載

/usr/local/nginx/sbin/nginx-s reload

或者一下均可以

 [root@mysql ~]# /etc/init.d/nginx reload     

 

4、測試

1)在nginx目錄下編寫一個php腳本測試

vim  /usr/local/nginx/html/1.php

增長 

<?php
    phpinfo();
?>

 

2)在Linux系統測試

      curl localhost/1.php

      或者127.0.0.1/1.php -I都是同樣的

[root@mysql ~]# curl
localhost/1.php -I
HTTP/1.1 200 OK  #出現200k就證件節氣解析成功
Server: nginx/1.6.2
Date: Sat, 20 Jun
2015 03:06:20 GMT
Content-Type:
text/html
Connection:
keep-alive
X-Powered-By:
PHP/5.4.37

 

3)在瀏覽器測試,以下圖

wKioL1WE31rDFrTwAAJSQRQmNQI930.jpg

wKiom1WE3afjCbECAAMLpTnBuBk654.jpg


    筆記有錯誤的地方還請大神指正,小白會繼續修改 

相關文章
相關標籤/搜索