本文由秀依林楓提供友情贊助,首發于爛泥行天下
現在公司使用的都是ubuntu系統,這幾天由于個別項目需要,需要搭建一個LNMP環境。為了快速搭建這個環境,我使用是apt-get方式進行安裝。具體的操作步驟,看下面的文章。
PS:按照在centos系統下nginx與php-fpm集成是行不通的,因為按照centos下配置的話,nginx訪問的主頁是空白的。
一、安裝nginx
我們首先來安裝nginx,使用如下命令:
sudo apt-get -y install nginx
nginx安裝完畢后,我們來查看nginx都安裝了什么文件。使用如下命令進行查看,如下:
dpkg -S nginx
通過上圖,我們可以看出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
通過網頁進行訪問看看實際效果,如下:
或者通過curl命令進行訪問,如下:
curl http://192.168.1.9
二、安裝php與php-fpm
nginx安裝完畢后,我們現在來安裝php與php-fpm,使用如下命令,如下:
sudo apt-get -y install php5 php5-fpm php5-cli
查看php版本,如下:
php5 -v
三、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; }
現在來修改nginx的fastcgi_params文件,添加如下命令。
注意:這個命令一定要添加,否則nginx與php集成后,網頁會顯示空白。
sudo vi /etc/nginx/fastcgi_params
fastcgi_param SCRipT_FILENAME $document_root$fastcgi_script_name;
修改nginx的默認主頁,如下:
sudo vi /usr/share/nginx/html/index.php
<?php phpinfo(); ?>
現在我們再來修改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
<?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也已經安裝成功。
新聞熱點
疑難解答
圖片精選