PHP 7.2 的最新主要版本已经发布,在速度和安全性方面进行了大量优化。所以你应该尝试这个版本来进行开发。本教程将帮助您在 Ubuntu 17.10、16.04 和 14.04 LTS 版本上安装 Nginx、PHP 7.2 和 MySQL 5.7。
第 1 步 – Nginx 安装
首先,我们将在我们的系统上安装最新的 Nginx Web 服务器。使用以下命令添加 PPA,以便在 Ubuntu 14.04 (Trusty) 上安装最新的 Nginx 版本。
echo "deb http://nginx.org/packages/mainline/ubuntu/ `lsb_release -cs` nginx" >> /etc/apt/sources.list
echo "deb-src http://nginx.org/packages/mainline/ubuntu/ `lsb_release -cs` nginx" >> /etc/apt/sources.list
并使用以下命令安装 Nginx Web 服务器。
curl http://nginx.org/keys/nginx_signing.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install nginx
第 2 步 – PHP 和 PHP-FPM 安装
在您的系统上安装 python-software-properties 软件包,该软件包提供 add-apt-repository 命令,然后使用以下命令集在您的 Ubuntu 系统上添加带有 PHP-FPM 软件包的 PHP PPA 并安装它。
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install -y php7.2 php7.2-fpm
还要为您的应用程序安装所需的 php 模块。
sudo apt-get install php7.2-mysql php7.2-curl php7.2-json
步骤 3 – MySQL 安装
下载 MySQL 团队官方提供的 MySQL apt 配置 Debian 软件包并将其安装到您的系统上。对于 Ubuntu 16.04 及更高版本,MySQL 5.7 在默认 apt 存储库下可用,因此您无需启用其他存储库。
wget http://repo.mysql.com/mysql-apt-config_0.8.9-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.9-1_all.deb
使用以下命令在 Ubuntu 16.04 和 14.04 系统上安装 MySQL 服务器。目前,这是用户使用最流行的版本。
sudo apt-get update
sudo apt-get install mysql-server-5.7
你可以找到更多MySQL安装说明 here.
步骤 4 – PHP-FPM 配置
PHP-FPM(FastCGI 进程管理器)是另一种 PHP FastCGI 实现,具有一些附加功能。
sudo nano /etc/php/7.2/fpm/php.ini
取消注释 cgi.fix_pathinfo=1 行并将值设置为 0。
cgi.fix_pathinfo=0
现在在 /etc/php/7.2/fpm/pool.d/www.conf 配置文件中设置监听参数。在这里您可以使用 php7.2-fpm 套接字来工作或在特定端口上启动 php7.2-fpm 服务。我们将把它用作服务。
sudo nano /etc/php/7.2/fpm/pool.d/www.conf
现在对配置文件进行如下更改。推荐监听套接字文件并将其作为服务启用
#listen = /run/php/php7.2-fpm.sock
listen = 127.0.0.1:9000
第 5 步 – Nginx 虚拟主机配置
最后进行Nginx虚拟主机的配置。对于此示例,我们正在编辑默认配置文件。
sudo nano /etc/nginx/conf.d/default.conf
并进行如下更改。
server {
listen 80;
root /var/www;
index index.php index.html index.htm;
server_name example.com www.example.com;
location / {
try_files $uri $uri/ /index.html;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www;
}
location ~ .php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
您必须在配置的所有虚拟主机中进行相同的更改。
第 6 步 – 重新启动所有服务
在系统上安装并配置所有服务后,重新启动所有必需的服务以重新加载所做的任何更改。
sudo service nginx restart
sudo service php7.2-fpm restart
步骤 7 – 允许防火墙访问
如果您使用 iptables,请使用以下命令打开端口 80 以供公共访问 Web 服务器。
iptables 用户:
sudo iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
UFW 用户:
$ sudo ufw allow 80/tcp
第 8 步 – 测试设置
最后,使用 NGINX 测试 PHP 7 的安装。让我们使用以下内容在网站文档根目录上创建一个文件 info.php。
现在在网络浏览器中浏览该文件。它将提供有关版本和安装的所有详细信息。