lnmp環境搭建「lnmp一鍵安裝腳本」

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-hant/n/255590.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-15 12:28
下一篇 2024-12-15 12:28

相關推薦

發表回復

登錄後才能評論