前面簡單介紹過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
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,並查看端口
9)、設置開機自啓動
將mysql的搜索路徑添加到/etc/profile中的系統變量中
10)、爲mysql添加管理帳號
添加動態連接庫:
添加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的搜索變量添加到系統變量中:
5)、測試nginx的配置
提示缺乏目錄/var/tmp/nginx/client,建立以後再測試
啓動nginx並查看端口和進程
-------------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,並查看端口和進程:
添加到開機自啓動:
添加系統變量:
--------php至此安裝完成----------------
五、測試LNMP環境的結合狀況
1)、測試php和nginx的結合
修改nginx的配置文件,打開65行到71行的註釋,並修改目錄位置:
測試語法並重載nginx
在主站點/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)
2)、測試php和nginx和mysql的結合
在主站點/usr/local/nginx/html下添加測試頁面index1.html
訪問測試
-----------至此LNMP環境搭建完成------------------