Ubuntu16.04快速搭建lnmp

    xiaoxiao2021-03-25  82

    ubuntu16.04搭建lnmp,网上坑比较多,亲测可用。

    Ubuntu16可以直接使用apt install ,而不用apt-get

    安装nginx

    sudo apt-get update //为了确保获得最新的 Nginx,命令更新源列表。 sudo apt-get install nginx //就能自动安装 Nginx,

    安装好之后,使用 dpkg -S nginx 命令来搜索 nginx相关文件,可以从命令显示结果看出 Nginx默认的安装位置是/etc/nginx目录,其配置文件nginx.conf也是在该目录下,并且在 etc/init.d 下有 nginx的启动程序,该目录下的程序都会在系统开启时启动。

    此外,Nginx的默认网站目录是 /usr/share/nginx/html/,默认Nginx网站配置文件为 /etc/nginx/sites-available/default 。

    启动 Nginx服务,使用下面两个命令任意一个即可:

    sudo /etc/init.d/nginx start sudo service nginx start

    使用 netstat -anp 则可以看到80端口已经处于 LISTEN状态了。 直接查看80端口可以使用命令:sudo lsof -i :80

    在浏览器输入 127.0.0.1后,就可以看见 Nginx的欢迎页面了。

    安装 PHP 7.1 与 PHP7.1-FPM

    直接运行 sudo apt-get命令安装 PHP 会报错误:

    E: Unable to locate package php7.1 E: Couldn't find any package by regex 'php7.1'

    原因是 PHP7 等并不在 Ubuntu的软件库中,因此要使用 PPA ppa:ondrej/php 库

    使用下列命令:

    sudo apt-add-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php7.1 php7.1-fpm

    备份php.ini文件 cp /etc/php/7.1/fpm/php.ini /etc/php/7.1/fpm/php.ini.back 取消有安全隐患的pathinfo模式

    vim /etc/php/7.1/fpm/php.ini 将cgi.fix_pathinfo=1 设置为 cgi.fix_pathinfo=0

    启动php-fpm sudo service php7.1-fpm restart

    安装 PHP7.1包的同时也安装了 PHP7.1-CLI 可以使用 php -v 命令来查看 PHP 版本信息。

    Nginx 与 PHP-FPM集成

    注意:

    在nginx配置文件中修改网站根目录路径确保nginx 中fastcgi_pass与PHP-fpm监听同一个sock备份/etc/nginx/sites-available/default文件 cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.back

    PHP-FPM 与 Nginx 通信方式有两种,一种是TCP方式,一种是unix socket 方式。

    Unix domain socket 可以使同一台操作系统上的两个或多个进程进行数据通信。Unix domain sockets 的接口和 Internet socket 很像,但它不使用网络底层协议来通信。

    服务器压力不大的情况下,tcp 和 socket 差别不大,但在压力比较满的时候,用套接字方式,效果确实比较好。

    socket方式:

    在 /etc/nginx/sites-available/default 配置文件中(网站根目录也在是这里更改), Nginx已经为与 PHP-FPM的整合准备好了,只需要将下面这部分改好就可以了。sock文件路径为 /run/php/php7.1-fpm.sock 。

    location ~ \.php$ { include snippets/fastcgi-php.conf; # With php7.0-cgi alone: # fastcgi_pass 127.0.0.1:9000; # With php7.0-fpm: fastcgi_pass unix:/run/php/php7.1-fpm.sock; }

    然后再修改 PHP-FPM的配置文件 /etc/php/7.1/fpm/pool.d ,如下:

    ; 与 Nginx监听同一个 sock listen = /run/php/php7.1-fpm.sock

    配置好后重启服务:

    sudo /etc/init.d/nginx restart sudo /etc/init.d/php7.1-fpm restart

    安装 MySQL

    使用命令

    sudo apt-get install mysql-server mysql-client php7.1-mysql

    第三个是 PHP的 MySQL扩展。

    安装过程中会让你为 MySQL root用户设置密码。

    同样,使用命令 netstat -anp ,会发现 3306端口正在被监听了。

    现在可以编写 PHP脚本来连接数据库了

    转载请注明原文地址: https://ju.6miu.com/read-33123.html

    最新回复(0)