PHP Version 7.1.16-1+ubuntu16.04.1+deb.sury.org+1 安装

在 Ubuntu 系统中,可以使用 apt-get 命令来搭建 LNMP环境。这种方式较编译方式安装更加简便,因此选择使用该方式来搭建环境以供学习。

安装Nginx

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

安装好之后,使用 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

安装 PHP7.1包的同时也安装了 PHP7.1-CLI

可以使用 php -v 命令来查看 PHP 版本信息。

Nginx 与 PHP-FPM集成

PHP-FPM 与 Nginx 通信方式有两种,一种是基于TCP的 Internet domain socket 方式,一种是 UNIX domain socket 方式。

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

服务器压力不大的情况下,这两种方式性能差别不大,但在压力比较满的时候,用UNIX domain socket方式,效果确实比较好。

UNIX domain 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

1、添加index.php到server值index中,让Nginx识别index.php

2、添加你的域名或者IP到server值server_name中(如果没有域名这一步可以略过,Nginx会采用默认的localhost)

3、开启404错误页面,当访问出错时会给个页面提示

4、开启PHP服务,取消掉一些注释

5、修改目录:root /var/www/html=>/usr/share/nginx/html

改动后的配置:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    root /usr/share/nginx/html;
    index index.php index.html index.htm;

    server_name server_domain_name_or_IP;

    location / {
        try_files $uri $uri/ =404;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

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

配置好后重启服务:

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

确认一下Nginx是否能够正确地操控.php文件给PHP处理器。

首先创建一个测试文件,我们把它命名为info.php:

sudo vim /usr/share/nginx/html/info.php
然后把以下内容输入到info.php里面:


phpinfo();
?>

保存并退出。

安装 MySQL

使用命令
sudo apt-get install mysql-server mysql-client php7.1-mysql

第三个是 PHP的 MySQL扩展。

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

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

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

这里安装的是mysql 5.7版本,初始化和5.6有所不同

安装其他必要扩展

 sudo apt-get install php7.1 php-pear
 sudo apt-get install php7.1-curl
 sudo apt-get install php7.1-json
 sudo apt-get install php7.1-cgi

安装完成必须重启

service mysql restart
service nginx restart

你可能感兴趣的:(服务器架构)