源代碼搭建LNMP環境

    前面簡單介紹過LAMP環境的搭建,今天再寫個LNMP環境的搭建過程。
php

    LNMP就是linux+nginx+mysql+php的綜合web環境,與LAMP比起來,因爲使用nginx當作web服務器,因此能夠實現高併發處理請求的web站點。
html


一、------------實驗環境--------------mysql

    系統:CentOS6.5-64位最小化安裝
linux

    開發環境:Development tools
nginx

              Additional Developmentweb

              Desktop Platform Developmentsql

    軟件包版本:
shell

              nginx:nginx-1.9.4.tar.gz數據庫

              mysql:mysql-5.6.15-linux-glibc2.5-x86_64.tar.gzapi

              php:php-5.5.8.tar.bz2

             


二、-------------mysql的安裝-------------

    1)、卸載原系統自帶的mysql

wKioL1XqkuvCgRRXAAEO-S0jnl0346.jpg

    2)、建立mysql用戶和組

[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql mysql

    3)、拆解源碼包至/usr/local/src

[root@localhost ~]# tar -zxvf mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz -C /usr/local/src/

    4)、因爲mysql使用的是綠色軟件包,因此能夠節省大量的編譯時間,拆解完成後,直接將解壓的目錄移動到/usr/local/下,重命名爲mysql便可

[root@localhost ~]# mv /usr/local/src/mysql-5.6.15-linux-glibc2.5-x86_64/ /usr/local/mysql

    5)、進入/usr/local/mysql,修改相關權限,導入系統數據庫

[root@localhost mysql]# chown -R mysql:mysql .
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql

    到這會提示找不到libaio的動態連接庫,直接從光盤上安裝便可

    

    6)、改回目錄權限,除了data目錄,由於這個目錄須要以用戶mysql的身份向數據庫寫入數據

[root@localhost mysql]# chown -R root .
[root@localhost mysql]# chown -R mysql:mysql data

    7)、產生配置文件和控制腳本

[root@localhost mysql]# cp my.cnf /etc/
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# ll /etc/init.d/mysqld 
-rwxr-xr-x 1 root root 10880 Sep  5 06:45 /etc/init.d/mysqld

    8)、啓動mysql,並查看端口

wKioL1Xql_HAWvh-AAEQhT9m7XI345.jpg

    9)、設置開機自啓動

wKiom1Xql4vQAo3YAADHwrv2gEo746.jpg        將mysql的搜索路徑添加到/etc/profile中的系統變量中

wKiom1XqmGCgRH5LAACaLeUR51g024.jpg

wKiom1XqmGCDx9SHAAEiemqDUtU429.jpg


    10)、爲mysql添加管理帳號

wKiom1XqmQ7Bi9UBAACD-NqSW4s388.jpg

        添加動態連接庫:

wKioL1Xqm9_CXpdaAAJzJHwf908806.jpg

    添加man手冊的路徑

[root@localhost mysql]# echo "MANPATH /usr/local/mysql/man" >>/etc/man.config


        ------------mysql至此安裝完成------------------


三、------------nginx的安裝-----------------

    1)、拆解源碼包到/usr/local/src

[root@localhost ~]# tar -zxvf nginx-1.9.4.tar.gz -C /usr/local/src/

        

    2)、建立nginx用戶和組

[root@localhost nginx-1.9.4]# groupadd -r nginx
[root@localhost nginx-1.9.4]# useradd -r -g nginx -s /bin/false -M nginx
                          # -s指定shell類型  -M 表示不建立家目錄

        

    3)、進入源碼包,根據安裝所需添加參數,進行編譯:

./configure --prefix=/usr/local/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


    編譯中會提示缺乏pcre和openssl的開發環境,從光盤安裝便可

[root@localhost nginx-1.9.4]# yum install pcre-devel openssl-devel -y

    

    編譯完成後安裝nginx:

[root@localhost nginx-1.9.4]# make &&make install


    4)、將nginx的搜索變量添加到系統變量中:

wKioL1XqoDPQb-J_AADNCBGEND8277.jpg

wKiom1Xqng2SD3vGAAGFhgzwjqg823.jpg


    5)、測試nginx的配置

wKiom1Xqnl-Qh_tQAAFvlPw_TPQ749.jpg    提示缺乏目錄/var/tmp/nginx/client,建立以後再測試

wKiom1XqnsPBdt2nAAFkCX2teQQ230.jpg

    啓動nginx並查看端口和進程

wKioL1Xqoc6Tm9_pAADWMrh0kLY844.jpgwKiom1Xqn-vRHtFjAAGhGsxO8Dc498.jpg


        -------------nginx安裝完成-------------


四、------------php的安裝--------------

        本次安裝再也不採用模塊化的安裝,而是使用fastcgi來說php作成一個獨立的服務器,經過fpm來管理。具體信息請自行百度。


    1)、拆解源碼包至/usr/local/src/,進入源碼包

[root@localhost ~]# tar -jxvf php-5.5.8.tar.bz2 -C /usr/local/src/
[root@localhost ~]# cd /usr/local/src/php-5.5.8/

    2)、根據所需,配置參數開始編譯:

./configure  \  
	--prefix=/usr/local/php \
	--sysconfdir=/etc/fpm \
	--enable-fpm   \
	--enable-sockets  \
	--with-mysql=/usr/local/mysql \
	--with-pdo-mysql=/usr/local/mysql \
	--with-mysqli=/usr/local/mysql/bin/mysql_config  \
        --enable-mbstring  \
	--enable-xml  \
	--with-png-dir \
	--with-gd   \
	--with-jpeg-dir  \
	--with-zlib  \
	--with-freetype-dir \
	--with-config-file-path=/etc/php \
	--with-config-file-scan-dir=/etc/php5.d


    編譯完成後安裝php(過程較耗時,若是是遠程鏈接,建議經過screen來安裝,避免由於會話超時而致使安裝失敗。具體信息請自行百度)

[root@localhost php-5.5.8]# make &&make install


    3)、拷貝配置文件:

[root@localhost fpm]# pwd
/etc/fpm
[root@localhost fpm]# cp php-fpm.conf.default php-fpm.conf

        

        建立配置文件的安放目錄和額外的配置目錄:

[root@localhost fpm]# mkdir -p /etc/php /etc/php5.d


        進入源碼包,拷貝php的ini文件

[root@localhost php-5.5.8]# pwd
/usr/local/src/php-5.5.8
[root@localhost php-5.5.8]# cp php.ini-production /etc/php/php.ini

        拷貝控制腳本,添加執行權限:

[root@localhost php-5.5.8]# pwd
/usr/local/src/php-5.5.8
[root@localhost php-5.5.8]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@localhost php-5.5.8]# chmod a+x /etc/init.d/php-fpm 
[root@localhost php-5.5.8]# ll /etc/init.d/php-fpm 
-rwxr-xr-x 1 root root 2349 Sep  5 08:12 /etc/init.d/php-fpm

    啓動php,並查看端口和進程:

wKiom1Xqqo-BIKz1AAEtR1SSxk0811.jpg

wKiom1XqqsmisngOAAIXg0_V8tY672.jpg

    添加到開機自啓動:

wKiom1XqqxTifloMAADfr7lnF5k257.jpg


    添加系統變量:

wKiom1Xqq5bD9bKHAAEFw3N9HE8206.jpg

    wKioL1Xqrg-B7z8ZAAH8KymJ2mc272.jpg

    --------php至此安裝完成----------------


五、測試LNMP環境的結合狀況

    1)、測試php和nginx的結合

    修改nginx的配置文件,打開65行到71行的註釋,並修改目錄位置:

wKioL1Xqr1GCROPJAAE-wVz40Yg609.jpg

    測試語法並重載nginx

wKioL1Xqr4-g0fBdAAEt_o2OvTc073.jpg

    在主站點/usr/local/nginx/html下添加php的測試頁面index.html:

[root@localhost html]# pwd
/usr/local/nginx/html
[root@localhost html]# echo "<?php phpinfo(); ?>" >index.php

    

    訪問測試(站點IP:192.168.47.20)

wKiom1XqrpDzbYQ1AAMTeYCvQxo522.jpg


    2)、測試php和nginx和mysql的結合

        在主站點/usr/local/nginx/html下添加測試頁面index1.html

wKioL1Xqsovg5111AADHdRYtJJs639.jpg


        訪問測試

wKioL1XqsrbRTkccAAD7E_tAcJc630.jpg


-----------至此LNMP環境搭建完成------------------

相關文章
相關標籤/搜索