天天看點

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

現在公司使用的都是ubuntu系統,這幾天由于個别項目需要,需要搭建一個lnmp環境。為了快速搭建這個環境,我使用是apt-get方式進行安裝。具體的操作步驟,看下面的文章。

ps:按照在centos系統下nginx與php-fpm內建是行不通的,因為按照centos下配置的話,nginx通路的首頁是空白的。

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

sudo apt-get -y install nginx

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

nginx安裝完畢後,我們來檢視nginx都安裝了什麼檔案。使用如下指令進行檢視,如下:

dpkg -s nginx

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

通過上圖,我們可以看出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環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

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

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

或者通過curl指令進行通路,如下:

curl http://192.168.1.9

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

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

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

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

檢視php版本,如下:

php5 -v

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

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差别不大,但是在壓力比較滿的時候,使用套接字方式,效果确實比較好。

先來修改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二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

現在來修改nginx的fastcgi_params檔案,添加如下指令。

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

sudo vi /etc/nginx/fastcgi_params

fastcgi_param script_filename $document_root$fastcgi_script_name;

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

修改nginx的預設首頁,如下:

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

<?php phpinfo(); ?>

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

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

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

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

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

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

listen = 127.0.0.1:9000

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

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

sudo /etc/init.d/nginx restart

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

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

現在我們來通路nginx,如下:

http://192.168.1.9/index.php

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

現在來檢視系統的端口,如下:

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

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

修改nginx的預設網站檔案default,如下:

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

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

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

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

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

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

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

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

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

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

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

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

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql
學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql
學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

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”;

}

?>

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

現在來通過php來通路mysql,如下:

學習ubuntu之快速搭建LNMP環境一、安裝nginx二、安裝php與php-fpm三、nginx與php-fpm內建四、安裝mysql

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