ubuntu下快速搭建LNMP環境圖文教程

公司要求在ubuntu系統下搭建一個LNMP環境,本文是使用apt-get方式進行快速安裝,以下是具體安裝配置步驟的圖片介紹。

注意:本人測試時按照在centos系統下nginx與php-fpm集成是時nginx訪問的主頁是空白的。


一、安裝nginx

我們首先來安裝nginx,使用如下命令:

sudo apt-get -y install nginx


ubuntu下快速搭建LNMP環境圖文教程

nginx安裝完畢後,我們來查看nginx都安裝了什麽文件。使用如下命令進行查看,如下:

dpkg -S nginx


ubuntu下快速搭建LNMP環境圖文教程

通過上圖,我們可以看出nginx默認的安裝位置是/etc/nginx目錄,而且nginx的配置文件nginx.conf也是在該目錄下。

除此之外,nginx的默認網站目錄在/usr/share/nginx/html下,默認nginx網站配置文件爲/etc/nginx/sites-available/目錄下的default文件。

現在我們來啓動nginx,可以使用如下命令:

sudo /etc/init.d/nginx start

sudo service nginx start

以上兩條命令都可以啓動nginx,我個人比較傾向于使用第一條命令,因爲這個是直接通過nginx的啓動腳本來啓動的。

netstat ?tunlp

sudo lsof -i :80


ubuntu下快速搭建LNMP環境圖文教程

通過網頁進行訪問看看實際效果,如下:


ubuntu下快速搭建LNMP環境圖文教程

或者通過curl命令進行訪問,如下:

curl http://192.168.1.9


ubuntu下快速搭建LNMP環境圖文教程

二、安裝php與php-fpm

nginx安裝完畢後,我們現在來安裝php與php-fpm,使用如下命令,如下:

sudo apt-get -y install php5 php5-fpm php5-cli


ubuntu下快速搭建LNMP環境圖文教程

查看php版本,如下:

php5 -v


ubuntu下快速搭建LNMP環境圖文教程

三、nginx與php-fpm集成

nginx與php安裝完畢後,我們現在開始把nginx與php集成。其實nginx與php集成是通過fastcgi來實現,而fastcgi我們一般使用的是php-fpm。

php-fpm與nginx通信方式有兩種,一種是TCP方式,一種是unix socket方式。

TCP方式就是使用TCP端口連接,一般是127.0.0.1:9000。

Socket是使用unix domain socket連接套接字/dev/shm/php-cgi.sock(很多教程使用路徑/tmp,而路徑/dev/shm是個tmpfs,速度比磁盤快得多),在伺服器壓力不大的情況下,tcp和socket差別不大,但是在壓力比較滿的時候,使用套接字方式,效果確實比較好。

3.1 TCP方式

先來修改nginx的默認網站文件default,如下:

sudo vi /etc/nginx/sites-available/default

location ~ \.php$ {

fastcgi_split_path_info ^(.+\.php)(/.+)$;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi_params; }


ubuntu下快速搭建LNMP環境圖文教程

現在來修改nginx的fastcgi_params文件,添加如下命令。

注意:這個命令一定要添加,否則nginx與php集成後,網頁會顯示空白。

sudo vi /etc/nginx/fastcgi_params

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;


ubuntu下快速搭建LNMP環境圖文教程

修改nginx的默認主頁,如下:

sudo vi /usr/share/nginx/html/index.php


ubuntu下快速搭建LNMP環境圖文教程

現在我們再來修改php的配置文件php.ini,如下:

sudo vi /etc/php5/fpm/php.ini +758


除此之外,我們還需要修改php-fpm的配置文件www.conf,如下:

sudo vi /etc/php5/fpm/pool.d/www.conf

listen = 127.0.0.1:9000


以上修改完畢後,我們現在來重啓nginx與php-fpm,如下:

sudo /etc/init.d/nginx restart

sudo /etc/init.d/php5-fpm restart


現在我們來訪問nginx,如下:

http://192.168.1.9/index.php


現在來查看系統的端口,如下:

netstat -tunlp


以上就是php-fpm與nginx的TCP通信方式。

3.2 socket方式

修改nginx的默認網站文件default,如下:

sudo vi /etc/nginx/sites-available/default

location ~ \.php$ {

fastcgi_split_path_info ^(.+\.php)(/.+)$;

fastcgi_pass unix:/var/run/php5-fpm.sock;

fastcgi_index index.php;

include fastcgi_params; }


現在再來修改php-fpm的配置文件www.conf,如下:

sudo vi /etc/php5/fpm/pool.d/www.conf

listen = /var/run/php5-fpm.sock


其他的修改和TCP方式連接的是一樣的,現在我們再來重啓nginx與php-fpm。如下:

sudo /etc/init.d/nginx restart

sudo /etc/init.d/php5-fpm restart


現在我們再來看看,php-fpm是否占用系統端口。如下:


可以看到此時php-fpm並沒有占用系統端口。

四、安裝mysql

現在來開始安裝mysql,如下:

sudo apt-get ?y install mysql-server mysql-client php5-mysql




mysql安裝完畢後,我們現在來使用php連接mysql。創建ilanni.php文件,內容如下:

sudo vi /usr/share/nginx/html/ilanni.php


$host='127.0.0.1';

$root='root';

$pwd='123456';

$con= mysql_connect($host,$root,$pwd);

if ( $con == false ) {

echo "connect false";

} else{

echo "connect true";

}

?>


現在來通過php來訪問mysql,如下:


通過上圖,我們可以看到php已經正常連接mysql數據庫,這也說明mysql也已經安裝成功。


更多相關文章
  • WIN7下IIS7配置PHP環境圖文詳解
    現在使用win7的朋友越來越多了,下面我來給各們同學介紹在WIN7下IIS7配置PHP環境
  • iis7配置asp運行環境圖文教程
    本文章來介紹關于iis7配置asp運行環境圖文教程,有需要的朋友可參考本文章.一.控制面板
  • windows下IIS配置PHP環境圖文方法
    本文章來給各位同學介紹在windows系統中iis7配置php環境的幾種方法,有需要了解的
  • windows伺服器iis配置php和mysql環境圖文教程
    本文章對php初淡者來說是不錯的選可以快速的在windows iis環境下安裝php my
  • Windows2003系統中安裝IIS6.0配置asp.net/php環境圖文教程
    Windows2003系統中安裝IIS6.0配置非常的簡單了,因爲這個是windows系統自帶的一個插件了,我們只要在控制面板中的添加/刪除Windows組件即可增加iis環境了,具體如下.IIS6.0安裝 首先在控制面板裏依次選擇“添加或刪除程序”的“添加/刪除Windows組件”; 雙擊“應用程
  • Windows2008R2配置PHP5.6+SQLServer2008X64環境圖文教程
    雖然php環境一般是LAMP,但是有時出現特殊情況 ,我們需要在windows 2008上運行iis7 + php5.6 + sql server 2008,本文我們來記錄一下配置這種環境的步驟.相關理論1. IIS支持多種方式來擴展語言,對于IIS7來說,通過FastCGI方式來執行PHP文件2.
  • Windows server 2008 安裝iis7環境圖文詳解
    現在windows2003快過期了,用到最多的是Windows server 2008與iis7了,下面我們一起來看看Windows server 2008 安裝iis7環境圖文詳解,希望文章對各位會有所幫助.最近發現自己有點寫日記寫上瘾,所以今天想給大家分享下我最近經常接觸的的Windosw Se ...
  • Windows XP安裝Apache環境圖文詳解
    本文章來簡單的介紹Windows XP安裝Apache環境圖文方法,有需要了解的朋友可參考參考.雙擊 apache_2.2.8-win32-x86-no_ssl.msi 文件,開始安裝 Apache HTTP Server 2.2.8.你會看到以下畫面:點擊 Next,然後選擇 I accept t ...
一周排行
  • Facebook今年發布了一種新的編程語言Hack,Hack運行在Facebook的虛擬機(HHVM)上,無論從什麽角度分析,這種語言都類似于時下流行的PHP.其大量的功能,比如靜態類型等等和PHP開發人員長期要求的
  • 如果使用的是獨立的伺服器,有權限修改配置文件,設置時區就可以通過修改php.ini中的date.timezone屬性完成.我們可以將這個屬性的值設置爲\"Asia/Shang\".\"A ...
  • fastcgi-cache緩存是一個非常不錯的緩存功能了,我們可以通過fastcgi-cache緩存能載入網路的訪問速度了,下面一起來看看fastcgi-cache緩存用用法,下面包括了給網站加fastcgi-cac
  • lol英雄聯盟9.12戰鬥之夜排隊進不去如何解決呢
    lol9.12戰鬥之夜排隊進不去怎麽辦呢,這個戰鬥之夜的活動快要開啓了,許多去年玩過的朋友
  • rangeValidator控件用于檢測表單字段的值是否在指定的最小值和最大值之間.使用這個控件時,必須設置5個屬性:q ControlToValidate——被驗證的表單字段的ID.q Text——驗證失敗時顯示的
  • uploadify插件是一個基于jquery的無刷新文件上傳插件了,但我們做好之後發現在chrome浏覽器會導致浏覽器挂掉了,但在其它浏覽器均沒有問題,下面我們就一起來看此問題解決辦法.解決辦法根據stackover ...
  • ngx_upload模塊是nginx中一個文件上傳模式了,下面我們來看看nginx安裝文件上傳ngx_upload模塊步驟,希望例子對各位有幫助.安裝nginx,並加入nginx upload module和ngin
  • 盜夢英雄技能DEBUFF效果解析
    在盜夢英雄這一款3D卡牌的遊戲當中,有著很多的DEBUFF的存在,而且每一種狀態都有點惡心
  • 我們經常會使用iptables來做linux系統的防火牆了,但你知道不知道linux還在大量的開源的防火牆哦,下面我給各位總結前10個防火牆吧.如今,開源防火牆可謂數目繁多.本文將涉及十個適合企業需求的最實用的開源防
  • 以前是有介紹過speeder對網路的優化了,下文我們介紹使用net speeder來優化網路了,希望下文對各位有用.前面我給大家介紹了centos配置shadowsocks服務端翻牆,今天發現如果是國外的伺服器的話,