一:lnmp介紹:
LNMP代表的就是:Linux系統下Nginx+MySQL+PHP這種網站伺服器架構。
Linux是一類Unix計算機作業系統的統稱,是目前最流行的免費作業系統
Nginx是一個高性能的HTTP和反向代理伺服器,也是一個IMAP/POP3/SMTP代理伺服器
Mysql是一個小型關系型資料庫管理系統。
PHP是一種在伺服器端執行的嵌入HTML文檔的腳本語言。
這四種軟體均為免費開源軟體,組合到一起,成為一個免費、高效、擴充性強的網站服務系統。
二:搭建過程:
[root@lyt ~]# mkdir /mnt/cdrom
[root@lyt ~]# mount /dev/cdrom /mnt/cdrom/
[root@lyt ~]# cd /mnt/cdrom/Server/
[root@lyt Server]# vim /etc/yum.repos.d/rhel-debuginfo.repo
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_1346568301NvYx.png"></a>
這裡需要安裝pcre正則函數庫
[root@lyt Server]# ll pcre*
[root@lyt Server]# yum list all |grep pcre #檢視pcre的相關資訊
[root@lyt Server]# yum install pcre-devel
安裝libevent:(事件觸發的網絡庫)
[root@lyt Server]# cd
[root@lyt ~]# tar -zxvf libevent-2.0.16-stable.tar.gz -C /usr/local/src/
[root@lyt ~]# cd /usr/local/src/
[root@lyt src]# cd libevent-2.0.16-stable/
[root@lyt libevent-2.0.16-stable]# ./configure #檢測預編譯環境
[root@lyt libevent-2.0.16-stable]# make #編譯
[root@lyt libevent-2.0.16-stable]# make install
[root@lyt libevent-2.0.16-stable]# vim /etc/ld.so.conf.d/libevent.conf #編輯該檔案如圖:
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_1346568303o3dJ.png"></a>
[root@lyt libevent-2.0.16-stable]# ldconfig –v #手動調用庫檔案
[root@lyt libevent-2.0.16-stable]# ldconfig -pv |grep libevent #檢視調用/usr/local/lib中的庫檔案
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_1346568306h0DA.png"></a>
[root@lyt libevent-2.0.16-stable]# cd
Nginx安裝:
[root@lyt ~]# tar -zxvf nginx-1.0.11.tar.gz -C /usr/local/src/
[root@lyt src]# cd nginx-1.0.11/
[root@lyt nginx-1.0.11]# groupadd -r nginx #建立系統組gninx,-r表示系統
[root@lyt nginx-1.0.11]# useradd -r -g nginx -s /bin/false -M nginx #建立一個系統賬号nginx,加入系統組nginx,-M表示系統賬号不需要建立家目錄。使用/bin/false ,-s表示shell。也可以使用-s /sbin/nologin
[root@lyt nginx-1.0.11]# ./configure \
[root@lyt nginx-1.0.11]# mkdir -pv /var/tmp/nginx/client #建立目錄。(在上個圖檔中沒有建立記錄用戶端資訊的目錄)
[root@lyt nginx-1.0.11]# make
[root@lyt nginx-1.0.11]# make install
[root@lyt nginx-1.0.11]# nginx #啟動nginx服務
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_1346568310nQU5.png"></a>
安裝mysql綠色軟體:
[root@lyt nginx-1.0.11]# cd
[root@lyt ~]# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local
[root@lyt ~]# cd /usr/local
[root@lyt local]# cd mysql-5.5.15-linux2.6-i686/
[root@lyt mysql-5.5.15-linux2.6-i686]# cat INSTALL-BINARY | less #利用管道分頁檢視INSTALL-BINARY檔案
[root@lyt local]# groupadd mysql #建立一個mysql組
[root@lyt local]# useradd -r -g mysql mysql #建立一個mysql使用者,并将其加入到mysql組中
[root@lyt local]# cd /usr/local/
第四部拆封包件已經執行過,這裡不再執行
[root@lyt local]# ln -s mysql-5.5.15-linux2.6-i686/ mysql #建立一個符号連接配接mysql,指向mysql-5.5.15-linux2.6-i686
[root@lyt local]# cd mysql
[root@lyt mysql]# chown -R mysql . #将mysql下所有的檔案的所屬使用者全都改為mysql。
[root@lyt mysql]# chgrp -R mysql . #将mysql下所有的檔案的所屬組全都改為mysql。
[root@lyt mysql]# scripts/mysql_install_db --user=mysql #使用scrpts初始化腳本,用剛才建立的mysql使用者運作,安裝資料庫mysql
[root@lyt mysql]# chown -R root . #将所屬使用者改為root使用者
[root@lyt mysql]# chown -R mysql data #将data目錄的所屬使用者改為mysql
[root@lyt mysql]# cp support-files/my-medium.cnf /etc/my.cnf
[root@lyt mysql]# bin/mysqld_safe --user=mysql & #啟動mysql
[root@lyt mysql]# netstat -tupln |less #檢視端口号
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_13465683132GNQ.png"></a>
[root@lyt mysql]# cp support-files/mysql.server /etc/init.d/mysqld #将mysql.server 拷貝到/etc/init.d/下,改名為mysqld,此指令拷貝成
功後可以使用service mysqld restart指令。
[root@lyt mysql]# chkconfig --add mysqld #将mysql服務加入到chkconfig中,可以使用chkconfig來管理
[root@lyt ~]# vim /etc/ld.so.conf #檢視該檔案
[root@lyt mysql]# cd /etc/ld.so.conf.d/
由于mysql的庫檔案存在于/usr/local/mysql/lib檔案中,而系統的庫檔案存放于/usr/lib或者/lib中,是以需要建立/etc/ld.so.conf.d/mysql.conf檔案,當系統啟動時調用/usr/local/mysql/lib中的庫檔案。
[root@lyt ld.so.conf.d]# vim mysql.conf #建立mysql.conf檔案,系統啟動時可以調用/usr/local/mysql/lib下的庫檔案
[root@lyt ld.so.conf.d]# ldconfig -v |grep mysql #檢視mysql的系統調用
由于mysql的頭檔案存在于/usr/local/mysql/include檔案中,而系統的頭檔案存放于/usr/include中,是以需要在/usr/include中建立連接配接,當系統啟動時調用/usr/local/mysql/include中的頭檔案
[root@lyt ld.so.conf.d]# cd /usr/include/
[root@lyt include]# ln -s /usr/local/mysql/include/ mysql #建立一個字元連接配接mysql,連接配接到/usr/local/mysql/include
安裝php:
[root@lyt include]# cd
[root@lyt ~]# tar -jxvf php-5.3.7.tar.bz2 -C /usr/local/src/
[root@lyt src]# cd php-5.3.7/
[root@lyt 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@lyt php-5.3.7]# make
[root@lyt php-5.3.7]# make install
[root@lyt php-5.3.7]# cp php.ini-production /usr/local/php/etc/php.ini
[root@lyt php-5.3.7]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
[root@lyt php-5.3.7]# cd /usr/local/php/etc/
[root@lyt etc]# vim php-fpm.conf #編輯該檔案,啟用如下行
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_1346568323N51h.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_1346568325j01P.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_1346568327KO1b.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_1346568328UFhw.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_13465683318Opl.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_13465683330hdg.png"></a>
[root@lyt etc]# /usr/local/php/sbin/php-fpm & #啟動fastcgi
[root@lyt etc]# vim /etc/nginx/fastcgi.conf
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_1346568336aMyY.png"></a>
保證兩個檔案相同(fastcgi.conf 和 fastcgi_params)
[root@lyt etc]# cd /etc/nginx/
[root@lyt nginx]# cat fastcgi.conf&gt;fastcgi_params #将fastcgi.conf中的内容重定向到fastcgi_params
[root@lyt nginx]# vim /etc/nginx/nginx.conf
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_1346568338XLNZ.png"></a>
[root@lyt nginx]# cd /usr/html/
[root@lyt html]# vim index.html
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_1346568340qyVE.png"></a>
[root@lyt html]# mv index.html index.php #重命名
[root@lyt html]# vim /etc/nginx/nginx.conf
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_1346568342t1rF.png"></a>
[root@lyt html]# pkill -1 nginx
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_1346568343lMUl.png"></a>
[root@lyt html]# vim /usr/html/index.php
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_1346568346TS7F.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_1346568348FB8E.png"></a>
[root@lyt html]# /usr/local/mysql/bin/mysqladmin -u root -p password '123' #為資料庫建立密碼
[root@lyt html]# /usr/local/mysql/bin/mysql -u root –p #使用密碼登入資料庫
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_1346568353EG4C.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_1346568357DISp.png"></a>
<a href="http://5493845.blog.51cto.com/attachment/201209/2/5493845_1346568359DNTS.png"></a>
本文轉自 liuyatao666 51CTO部落格,原文連結:http://blog.51cto.com/5503845/980000,如需轉載請自行聯系原作者