烂泥:学习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也已经安装成功。

相关文章
相关标签/搜索