LNMP代表的就是:Linux系統下Nginx+MySQL+PHP這種網站伺服器架構。
Linux是一類Unix計算機操作系統的統稱,是目前最流行的免費操作系統。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一個高性能的HTTP和反向代理伺服器,也是一個IMAP/POP3/SMTP代理伺服器。
Mysql是一個小型關係型資料庫管理系統。
PHP是一種在伺服器端執行的嵌入HTML文檔的腳本語言。
這四種軟體均為免費開源軟體,組合到一起,成為一個免費、高效、擴展性強的網站服務系統。
一、安裝開發包和庫文件
在部署LNMP環境之前,首先,用戶需要安裝Nignx伺服器,MySQL資料庫,以及PhP環境相關的開發包和庫文件,若缺少開發包或庫文件,會導致後續LNMP環境部署失敗。
1. 遠程登錄到「LNMP環境」的ECS伺服器,請使用本實驗提供的ECS伺服器的「外網地址」,「用戶名」和「密碼」。
2. 輸入命令cat /etc/redhat-release,查看當前Linux系統版本。
說明:本實驗使用CentOS 6.5版本,若Linux系統為Ubuntu或者CentOS的低版本,可能會導致實驗腳本不可用。
3. 執行命令:chkconfig iptables off,關掉防火牆,避免實驗中出現伺服器無法訪問的情況。在真實的生產環境中,請根據實際需求,配置相應的防火牆規則。
4. 執行如下命令,安裝LNMP環境所需的開發包和庫文件,若不安裝,則會導致後續的LNMP環境安裝失敗。例如:openssl等。
yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel
注意:拷貝時,請勿換行,否則會導致部分開發包和庫文件沒有安裝,以及後續操作中,安裝錯誤等問題。
安裝過程需要等待1分鐘左右。安裝完成後,頁面顯示「Complete!」。
5. 在真實的生產環境中,若用戶的伺服器中,已安裝的apache、mysql、php。請執行命令 yum remove mysql httpd php 卸載相關軟體,否則系統原有軟體會對部署的LNMP環境中數據有影響。由於本實驗中提供的ECS環境,沒有安裝如上軟體,因此,頁面提示「Package xx available, but not installed.」 (xx為軟體名,例如mysql 等)。
至此,已完成LNMP環境的所需的基本開發包和庫環境的相關安裝和部署。
二、安裝nginx服務
說明:本實驗中,安裝的Nginx伺服器版本為Nignx 1.10.1。
1. 輸入命令yum -y install nginx,通過yum的方式安裝nginx。
等待幾秒鐘,頁面顯示「Complete!」。證明已完成Nignx的基本安裝。
2. 使用命令 vi
/etc/nginx/conf.d/default.conf,進入nginx配置文件「default.conf」的編輯頁面。
在Nginx配置文件的編輯頁面中,默認監聽使用ipv4和ipv6。
使用鍵盤方向鍵將游標移動到「listen [::]:80 default_server;」位置,並輸入dd命令,刪除此行,也就是刪除其中監聽為ipv6的配置。因為,目前阿里雲使用的是ipv4,若使用ipv6,運行時會報錯。完成後,輸入「:wq」,保存退出編輯頁面。
3. 輸入命令service nginx start,啟動nginx伺服器。若頁面顯示「Starting nignx [OK]」,證明Nginx伺服器已啟動。若報錯,請檢查如上Nginx配置是否正確。
4. 打開瀏覽器,並在地址欄中,輸入雲中沙箱提供的ECS實例「公網地址」。若頁面顯示「Welcome to Nginx on EPEL!」,則證明Nginx伺服器已部署且啟動成功。
5. 執行命令chkconfig –levels 235 nginx on,設置2、3、5級別開機啟動nginx。通過設置如上開機啟動級別,在下次啟動或者運行ECS伺服器的時候,就可以自動運行Nignx伺服器。
三、安裝mysql資料庫
說明:本實驗中,安裝的MySQL資料庫版本為MySQL 5.1.73版本。
1. 首先,在安裝MySQL之前,執行命令yum -y install mysql mysql-server mysql-devel ,安裝mysql及其組件mysql-server,mysql-devel。
等待幾秒鐘,頁面顯示「Complete!」,證明已完成MySQL的安裝。
2. 輸入命令service mysqld start,啟動mysql資料庫。
等待幾秒鐘,頁面顯示「Starting mysqld [ok]」。證明mysql啟動成功。
3. 輸入命令mysql,進入MySQL資料庫的命令頁面,證明已經成功安裝並運行MySQL資料庫。
4. 在mysql的命令行中,輸入exit,頁面提示「bye」,退出mysql的命令頁面。
5. 最後,執行命令chkconfig –levels 235 mysqld on,設置2、3、5級別開機啟動mysql。這樣,用戶在下次啟動ECS伺服器時,ECS實例會自動運行mysql資料庫,無需用戶手動啟動。
至此,完成MySQL的全部安裝。
四、安裝php語言環境
說明:本實驗中,安裝的是PHP 5.3.3版本。
1. 首先,用戶執行如下命令,安裝php及其常用擴展包。若缺少擴展包,可能會導致php安裝或運行失敗。
注意:如下命令不能換行,若換行,或導致擴展包或php安裝失敗。
yum -y install php lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap
等待幾秒鐘,界面顯示「Complete!」,證明已成功安裝Php語言基本環境。
2. 完成PHP語言基本環境的安裝後。執行如下命令,安裝PHP的相關組件。這樣,可以使PHP支持MySQL、FastCGI模式。
yum install php-tidy php-common php-devel php-fpm php-mysql
說明:CGI全稱是「公共網關介面」(Common Gateway Interface),HTTP伺服器與你的或其它機器上的程序進行「交談」的一種工具,其程序一般運行在網路伺服器上。 CGI可以用任何一種語言編寫,只要這種語言具有標準輸入、輸出和環境變數。如php,perl,tcl等。FastCGI像是一個常駐(long-live)型的CGI,它可以一直執行著,只要激活後,不會每次都要花費時間去fork一次。
等待幾秒鐘,頁面提示「Is this ok [y/N]」,輸入y,允許安裝大小總計為6.7M的組件。
等待幾秒鐘,頁面提示「Complete!」,證明組件已安裝成功。此時,PHP支持MySQL和FastCGI模式。
3. 執行命令service php-fpm start,啟動php-fpm,界面顯示「OK」。由於Nginx是個輕量級的HTTP server,必須藉助第三方的FastCGI處理器才可以對PHP進行解析,PHP-FPM是一個第三方的FastCGI進程管理器,只用於PHP。
4. 最後,執行命令chkconfig –levels 235 php-fpm on,設置2、3、5級別開機啟動php-fpm。這樣,用戶在下次啟動ECS伺服器時,ECS會自動運行php-fpm,無需用戶手動運行。
至此,已成功安裝LNMP的所有環境。下一小節中,用戶將配置Nginx伺服器,使Nginx支持php語言環境。
五、配置nginx支持php
本小節中,將設置Nginx 的配置文件,允許Nginx伺服器支持PHP語言環境。
1. 在真實的生產工組環境中,一般均需要備份Nginx配置文件,這樣的做法可以快速恢復原有Nginx配置信息。若之後用戶需要對配置文件進行修改,均需要在修改前對配置文件進行備份,從而保證Nginx伺服器的正常運行:
首先,將Nginx配置文件改為備份文件,執行如下命令:
mv /etc/nginx/nginx.conf /etc/nginx/nginx.confbak
然後,拷貝默認的配置文件作為配置文件,執行如下命令:
cp /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf
執行命令cd /etc/nginx,進入Nginx目錄中,使用命令ls查看當前目錄中有三個nignx的配置文件:Nginx配置文件「nginx.conf」,Nginx配置備份文件「nginx.confbak」,以及Nginx默認配置文件「nginx.conf.default」。
2. 執行命令vim /etc/nginx/nginx.conf,進入nginx配置文件的編輯頁面,添加Nginx的fastcgi支持。
首先,將文件第45行修改為如下內容,也就是首頁支持php語言。
index index.php index.html index.htm;
然後,將文件的65-72行代碼前的注釋「#」去掉,並替換”root”和「fastcgi_param」參數值為如下內容。也就是,使用/usr/share/nginx/html作為網站根目錄,進行訪問。
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
最後,完成如上配置信息修改後,按ESC並輸入命令:wq保存並退出編輯頁面。
3. 執行命令vim /etc/php.ini,進入文件php.ini的編輯頁面,在結尾的「;Local Variables:」之前添加如下內容。完成後,執行:wq保存並退出編輯頁面。
cgi.fix_pathinfo = 1
至此,完成LNMP環境的全部搭建內容,下一個小節將驗證搭建的LNMP的網站環境。
六、查看lnmp網站環境
本小節,主要驗證搭建的LNMP伺服器是否可用。
1. 首先,執行如下命令,重啟nginx和php-fpm伺服器。
service nginx restartservice php-fpm restart
注意:只有重啟Nginx和php-fpm伺服器。修改的Nginx配置文件中的參數才能生效。
2. 執行命令vim
/usr/share/nginx/html/info.php,在Nginx的網站訪問的主目錄下,創建一個info.php文件,並進入新建文件的編輯頁面。並在編輯頁面中,輸入如下代碼,用於顯示php的基本信息頁面。完成後,輸入:wq,保存並退出編輯頁面。
<?php
phpinfo();
?>
3. 最後,測試nginx是否成功解析php。打開本地瀏覽器,並在地址欄中輸入:
http://xxx.xxx.xx.xx/info.php,若頁面顯示php介紹信息,證明LNMP環境搭建成功。
說明:xxx.xxx.xx.xx為雲中沙箱提供ECS實例的「公網地址」。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/255590.html