zoukankan      html  css  js  c++  java
  • ubuntu下快速搭建LNMP环境【图文教程】

    一、安装nginx

    我们首先来安装nginx,使用如下命令:

    sudo apt-get -y install nginx

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu lnmp环境搭建

    nginx安装完毕后,我们来查看nginx都安装了什么文件。使用如下命令进行查看,如下:

    dpkg -S nginx

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu16.04搭建lnmp

    通过上图,我们可以看出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环境【图文教程】-ubuntu16搭建lnmp环境

    通过网页进行访问看看实际效果,如下:

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu搭建lnmp

    或者通过curl命令进行访问,如下:

    curl http://192.168.1.9

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu下lnmp环境搭建

    二、安装php与php-fpm

    nginx安装完毕后,我们现在来安装php与php-fpm,使用如下命令,如下:

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

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu lnmp环境搭建

    查看php版本,如下:

    php5 -v

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu16.04搭建lnmp

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

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu16搭建lnmp环境

    现在来修改nginx的fastcgi_params文件,添加如下命令。

    注意:这个命令一定要添加,否则nginx与php集成后,网页会显示空白。

    sudo vi /etc/nginx/fastcgi_params

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu搭建lnmp

    修改nginx的默认主页,如下:

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

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu下lnmp环境搭建

    现在我们再来修改php的配置文件php.ini,如下:

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

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu lnmp环境搭建

    除此之外,我们还需要修改php-fpm的配置文件www.conf,如下:

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

    listen = 127.0.0.1:9000

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu16.04搭建lnmp

    以上修改完毕后,我们现在来重启nginx与php-fpm,如下:

    sudo /etc/init.d/nginx restart

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

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu16搭建lnmp环境

    现在我们来访问nginx,如下:

    http://192.168.1.9/index.php

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu搭建lnmp

    现在来查看系统的端口,如下:

    netstat -tunlp

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu下lnmp环境搭建

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

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu lnmp环境搭建

    现在再来修改php-fpm的配置文件www.conf,如下:

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

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

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu16.04搭建lnmp

    其他的修改和TCP方式连接的是一样的,现在我们再来重启nginx与php-fpm。如下:

    sudo /etc/init.d/nginx restart

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

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu16搭建lnmp环境

    现在我们再来看看,php-fpm是否占用系统端口。如下:

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu搭建lnmp

    可以看到此时php-fpm并没有占用系统端口。

    四、安装mysql

    现在来开始安装mysql,如下:

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

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu下lnmp环境搭建

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu lnmp环境搭建

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu16.04搭建lnmp

    mysql安装完毕后,我们现在来使用php连接mysql。创建ilanni.php文件,内容如下:

    sudo vi /usr/share/nginx/html/ilanni.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环境【图文教程】-ubuntu16搭建lnmp环境

    现在来通过php来访问mysql,如下:

    ubuntu下快速搭建LNMP环境【图文教程】-ubuntu搭建lnmp

    通过上图,我们可以看到php已经正常连接mysql数据库,这也说明mysql也已经安装成功。

     

    原文:https://yq.aliyun.com/ziliao/29524

  • 相关阅读:
    Java并发包源码学习系列:基于CAS非阻塞并发队列ConcurrentLinkedQueue源码解析
    Java并发包源码学习系列:阻塞队列实现之LinkedBlockingDeque源码解析
    Java并发包源码学习系列:阻塞队列实现之LinkedTransferQueue源码解析
    Java并发包源码学习系列:阻塞队列实现之SynchronousQueue源码解析
    Java并发包源码学习系列:阻塞队列实现之PriorityBlockingQueue源码解析
    Java并发包源码学习系列:阻塞队列实现之LinkedBlockingQueue源码解析
    Java并发包源码学习系列:阻塞队列实现之ArrayBlockingQueue源码解析
    Java并发包源码学习系列:阻塞队列BlockingQueue及实现原理分析
    Java并发包源码学习系列:JDK1.8的ConcurrentHashMap源码解析
    Java并发包源码学习系列:挂起与唤醒线程LockSupport工具类
  • 原文地址:https://www.cnblogs.com/liuxiaowei/p/8297320.html
Copyright © 2011-2022 走看看