如何在 Ubuntu 18.04 LTS 上使用 PHP-FPM 安装 Nginx

2023-11-10

本教程将帮助您在 Ubuntu 18.04 (Bionic) LTS 系统上使用 PHP-FPM/FastCGI 安装 Nginx Web 服务器。在本教程中,我们使用 PHP 7.3 并使用 PHP-FPM 和 FastCGI 配置 Nginx。

Nginx 安装

Nginx 软件包在默认存储库中可用。使用 sudo 权限帐户通过 SSH 连接到 Ubuntu 18.04 LTS 系统,并从官方存储库安装 Nginx Web 服务器。


sudo apt update 
sudo apt install nginx
  

PHP安装

对于 PHP 安装,我们建议使用ppa:ondrej/phpPPA,为 Ubuntu 系统提供最新的 PHP 版本。使用以下几个命令将 PPA 添加到您的系统。


sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
  

然后安装 PHP 7.3(编写本教程当天可用的最新版本)。只需执行以下命令即可安装 PHP 和 PHP-FPM 软件包。


apt update
sudo apt install php7.3 php7.3-fpm
  
Note:- 当您使用 PHP-FPM 时。所有 PHP 模块配置都位于 /etc/php/7.3/fpm 目录下。您可以阅读更多有关启用/禁用 PHP 模块.

安装以上软件包后,php7.3-fpm 服务将自动启动。您可以通过在终端上输入以下命令来进行确认。


sudo systemctl status php7.3-fpm

● php7.3-fpm.service - The PHP 7.3 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.3-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-11-21 03:36:08 UTC; 36s ago
     Docs: man:php-fpm7.3(8)
 Main PID: 9054 (php-fpm7.3)
   Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
    Tasks: 3 (limit: 4704)
   CGroup: /system.slice/php7.3-fpm.service
           ├─9054 php-fpm: master process (/etc/php/7.3/fpm/php-fpm.conf)
           ├─9069 php-fpm: pool www
           └─9070 php-fpm: pool www

Nov 21 03:36:08 tecadmin systemd[1]: Starting The PHP 7.3 FastCGI Process Manager...
Nov 21 03:36:08 tecadmin systemd[1]: Started The PHP 7.3 FastCGI Process Manager.
  

Nginx 配置

让我们创建一个 Nginx 虚拟主机来运行 FPM/FastCGI。在本教程中,我们使用默认的 VirtualHost。在文本编辑器中编辑 VirtualHost 主机配置文件。您可以根据您的要求创建新的 VirtualHost,因此请确保启用任何新的 VirtualHost。


sudo vim /etc/nginx/sites-available/example.com
  

使用以下基本 Nginx 虚拟主机配置和 php fpm 设置。更新配置如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
server {
80;
/var/www/html;
指数 index.php index.html index.htm;
服务器名称 example.com;
 
地点 / {
尝试文件 $uri $uri/ =404;
        }
 
地点 ~ \.php$ {
包括 snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
        }
}

保存对配置文件的更改并创建指向站点启用目录的链接。


sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com 
  

然后重新启动 Nginx 服务以重新加载更改。


sudo systemctl restart nginx.service
  

测试设置

创建一个 PHP 脚本phpinfo()函数并将其放置到您的服务器文档根目录中。使用下面的命令来做到这一点。


echo "<?php phpinfo(); ?>" > /var/www/html/info.php
  

现在,使用您在 Nginx VirtualHost 中配置的域的服务器 IP 地址(默认 VirtualHost)访问 info.php。

向下滑动页面可以看到数值$_SERVER['SERVER_SOFTWARE']。这将显示网络服务器的详细信息。

结论

您已在 Ubuntu 18.04 (Bionic) LTS 上成功配置了带有 PHP-FPM 的 Nginx Web 服务器。您现在可以从您的服务器托管网站。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ubuntu 18.04 LTS 上使用 PHP-FPM 安装 Nginx 的相关文章

随机推荐

  • 5.2 分布式 Git - 向一个项目贡献

    5 2 分布式 Git 向一个项目贡献 版本说明 版本 作者 日期 备注 0 1 loon 2019 3 27 初稿 目录 文章目录 5 2 分布式 Git 向一个项目贡献 版本说明 目录 向一个项目贡献 1 提交准则 Figure 57
  • 【数模】数据统计与分析中的随机数

    matlab里关于随机数的用法 随机数 matlab里关于随机数的用法 一 简单随机数 1 rand 生成 0 1 区间上均匀分布的随机变量 2 randn 生成服从标准正态分布 均值为 0 方差为 1 的随机数 二 较复杂随机数 需安装了
  • 【UnityShader自学日志】线框自发光着色器

    1 新建一个无光照着色器 Unlit Shader 重命名为 Unlit wire 2 修改其代码如下 Shader PACKT unlit wireframe1 Properties 线框着色器所需要的三个属性 Color Color C
  • Maven项目pom.xml配置文件中packaging标签的使用

    一 packaging标签可设置的值 指定打包类型使用标签 它默认是 jar 类型 1 pom 父类型都为pom类型 多用于微服务项目
  • IMU背包对动物行为影响测试

    动物行为是一种可观察和可测量的指标 轻量化和低成本的传感器技术的先进发展为研究人员提供了以最小干预来跨越空间和时间跟踪动物的机会 特别是对于家禽业来说 已经从传统的笼养系统转变为无笼养系统 许多技术可用于检测大群鸡的行为 活动和位置 为了有
  • 免费在线的redmine项目演示,提供免费三级域名

    免费在线的redmine项目演示 提供免费三级域名 提供在线的redmine最新版本的免费使用环境 支持免费的三级域名 申请地址 http m redmine org hostings new 申请成功之后 你的账户具有完整的redmine
  • Visual studio一个项目中多个源文件的单独调试运行

    问题描述 最近刷编程题 想在VS中一个项目中刷所有题目 但VS中一次只能一个包含main的源文件参与生成 不想为每个题目新建项目 很麻烦 解决方案 将其他不需要参加生成的包含main的源文件右键属性 从生成中排除 选 是 操作成功后 不需要
  • 编译原理-词法分析实验

    主要想保存一下实验代码 1 待分析的简单语言的词法 1 关键字 begin if then while do end 所有关键字都小写 2 运算符和界符 3 标识符 ID 整数型常数 NUM 通过正规式定义 4 空格 2 各个单词符号对应的
  • Fastjson 1.2.47反序列化漏洞复现

    目录 一 前期准备 二 fastjson简介 三 漏洞复现 一 创建文件 三 漏洞复现 二 反弹shell 一 前期准备 1 安装jdk 并配置环境 Kali安装JDK 1 8的详细过程 m0 54899775的博客 CSDN博客 2 安装
  • ZigZagPattern之字形图案算法的Java实现

    ZigZagPattern之字形图案算法的Java实现 ZigZagPattern 之字形图案 是一种常见的图案 其特点是呈蛇形排列 在这篇文章中 我们将介绍如何使用Java语言实现这个算法 并展示相应的源代码 首先 让我们来了解一下Zig
  • MySQL 连接池:增强性能的实际示例和策略

    数据库连接是任何应用程序的重要组成部分 因为它们促进应用程序和数据库之间的通信 然而 创建和管理连接可能会占用大量资源且耗时 特别是对于高流量应用程序 连接池是一种有效的技术 可以通过在多个客户端之间重用和共享数据库连接池来缓解这些挑战 通
  • 如何在 Linux Mint 上安装 NRPE 客户端

    NRPE Nagios 远程插件执行器 是一个允许您在远程 Linux 或 Unix 服务器上远程执行 Nagios 插件的工具 它使您能够监控远程主机的资源 例如 CPU 使用率 磁盘空间和其他性能指标 并将结果报告给中央 Nagios
  • CentOS 8 – 初始服务器设置

    使用本教程首次配置您的 CentOS 8 Linux 计算机 例如 您使用 CentOS 8 启动了新的 VPS 或专用主机 请按照以下步骤完成 CentOS 8 的初始服务器设置 第 1 步 登录 CentOS 8 登录到您的 CentO
  • 使用带有自动重启功能的 CRON 监控 Systemd 服务

    持续的服务可用性对于 Linux 系统的顺利运行至关重要 必须有一种机制可以检测服务何时关闭并自动重新启动它以最大限度地减少停机时间 在本文中 我们将讨论如何使用 cron 作业来监控服务状态并在服务关闭时自动重新启动服务 此外 我们还将介
  • 如何使用 JavaScript 检查复选框是否被选中

    本教程将帮助您使用 jQuery 编写 JavaScript 代码 该代码检查复选框是否已选中 并据此执行操作 这在提交任何表单之前检查是否选中任何复选框很有用 JavaScript 代码 下面是检查复选框 id checkBox1 是否被
  • Bash Case 语句语法和示例

    CASE 语句是 Bash 中强大的条件语句 允许您根据值列表测试变量 它是使用多个 if then 语句的更简洁 更有效的替代方案 很多时候它是一个很好的替代品if else 语句 您还可以使用它来处理命令行参数在 shell 脚本中 在
  • 在 MacOS 中设置环境变量

    环境变量是在本地计算机 运行程序的计算机 上存储值的一种方式 例如 您可以存储用于登录系统的用户 ID 您还可以使用环境变量来存储配置设置 例如数据库连接的名称 设置环境变量时 考虑安全影响非常重要 如果攻击者能够访问您的环境变量 他们就可
  • Linux 中的 Grep 命令(搜索文件中的文本)

    Grep 是一个强大的文本搜索工具 Grep 的意思是 全局正则表达式打印 基本上 Grep 在文本文件中搜索指定的正则表达式 并将包含匹配项的任何行输出到标准输出 因此Grep命令可用于在一个或多个文本文件中搜索某种文本 单词 模式或句子
  • 通过 Break 和 continue 掌握 Bash 控制流程

    Bash 是一种功能强大的脚本语言 通常用于自动化和系统管理任务 Bash 脚本中最重要的概念之一是控制流 它是指脚本根据各种条件执行不同命令的方式 Bash 中两个关键的控制流语句是 break 和 continue 它们可以帮助您控制代
  • 如何在 Ubuntu 18.04 LTS 上使用 PHP-FPM 安装 Nginx

    本教程将帮助您在 Ubuntu 18 04 Bionic LTS 系统上使用 PHP FPM FastCGI 安装 Nginx Web 服务器 在本教程中 我们使用 PHP 7 3 并使用 PHP FPM 和 FastCGI 配置 Ngin