dyok 发表于 2015-11-16 11:51:40

学习ubuntu之快速搭建LNMP环境

  现在公司使用的都是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 &#43;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 ^(.&#43;\.php)(/.&#43;)$;
  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也已经安装成功。
页: [1]
查看完整版本: 学习ubuntu之快速搭建LNMP环境