爛泥:學習ubuntu之快速搭建LNMP環境

本文首發於爛泥行天下php

如今公司使用的都是ubuntu系統,這幾天因爲個別項目須要,須要搭建一個LNMP環境。爲了快速搭建這個環境,我使用是apt-get方式進行安裝。具體的操做步驟,看下面的文章。html

PS:按照在centos系統下nginx與php-fpm集成是行不通的,由於按照centos下配置的話,nginx訪問的主頁是空白的。mysql

1、安裝nginxnginx

咱們首先來安裝nginx,使用以下命令:sql

sudo apt-get -y install nginx數據庫

clip_p_w_picpath001

nginx安裝完畢後,咱們來查看nginx都安裝了什麼文件。使用以下命令進行查看,以下:ubuntu

dpkg -S nginxcentos

clip_p_w_picpath002

經過上圖,咱們能夠看出nginx默認的安裝位置是/etc/nginx目錄,並且nginx的配置文件nginx.conf也是在該目錄下。服務器

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

如今咱們來啓動nginx,可使用以下命令:

sudo /etc/init.d/nginx start

sudo service nginx start

以上兩條命令均可以啓動nginx,我我的比較傾向於使用第一條命令,由於這個是直接經過nginx的啓動腳原本啓動的。

netstat –tunlp

sudo lsof -i :80

clip_p_w_picpath003

經過網頁進行訪問看看實際效果,以下:

clip_p_w_picpath004

或者經過curl命令進行訪問,以下:

curl http://192.168.1.9

clip_p_w_picpath005

2、安裝php與php-fpm

nginx安裝完畢後,咱們如今來安裝php與php-fpm,使用以下命令,以下:

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

clip_p_w_picpath006

查看php版本,以下:

php5 -v

clip_p_w_picpath007

3、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; }

clip_p_w_picpath008

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

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

sudo vi /etc/nginx/fastcgi_params

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

clip_p_w_picpath009

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

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

<?php phpinfo(); ?>

clip_p_w_picpath010

如今咱們再來修改php的配置文件php.ini,以下:

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

clip_p_w_picpath011

除此以外,咱們還須要修改php-fpm的配置文件www.conf,以下:

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

listen = 127.0.0.1:9000

clip_p_w_picpath012

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

sudo /etc/init.d/nginx restart

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

clip_p_w_picpath013

如今咱們來訪問nginx,以下:

http://192.168.1.9/index.php

clip_p_w_picpath014

如今來查看系統的端口,以下:

netstat -tunlp

clip_p_w_picpath015

以上就是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; }

clip_p_w_picpath016

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

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

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

clip_p_w_picpath017

其餘的修改和TCP方式鏈接的是同樣的,如今咱們再來重啓nginx與php-fpm。以下:

sudo /etc/init.d/nginx restart

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

clip_p_w_picpath013[1]

如今咱們再來看看,php-fpm是否佔用系統端口。以下:

clip_p_w_picpath018

能夠看到此時php-fpm並無佔用系統端口。

4、安裝mysql

如今來開始安裝mysql,以下:

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

clip_p_w_picpath019

clip_p_w_picpath020

clip_p_w_picpath021

mysql安裝完畢後,咱們如今來使用php鏈接mysql。建立ilanni.php文件,內容以下:

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

<?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";

}

?>

clip_p_w_picpath022

如今來經過php來訪問mysql,以下:

clip_p_w_picpath023

經過上圖,咱們能夠看到php已經正常鏈接mysql數據庫,這也說明mysql也已經安裝成功。

相關文章
相關標籤/搜索