当前位置: 首页 > news >正文

Ubuntu 系统下 Nginx + PHP 环境搭建教程

本文详细介绍在 Ubuntu 系统中,从依赖安装到 Nginx 与 PHP 配置的完整流程,步骤清晰可直接复用。

1. 安装基础依赖包

首先安装编译 Nginx 和运行 PHP 所需的依赖库,执行以下命令:

# 安装 GCC 编译器(编译 Nginx 需用到)
apt-get install gcc# 安装 PCRE 库(Nginx 正则表达式支持依赖)
apt-get install libpcre3 libpcre3-dev# 安装 zlib 库(Nginx 压缩功能依赖)
apt-get install zlib1g zlib1g-dev# 安装 OpenSSL 库(Nginx HTTPS 功能依赖)
sudo apt-get install openssl 
sudo apt-get install libssl-dev

2. 安装 Nginx

2.1 准备安装目录与解压源码

# 进入本地安装目录
cd /usr/local# 创建 Nginx 专属目录
mkdir nginx# 进入 Nginx 目录(假设已将 nginx-1.21.6.tar.gz 上传至此目录)
cd nginx# 解压 Nginx 源码包
tar -xvf nginx-1.21.6.tar.gz

2.2 编译与安装 Nginx

# 进入 Nginx 源码解压后的目录
cd /usr/local/nginx/nginx-1.21.6# 方式1:默认配置编译(仅基础功能)
./configure# 方式2:自定义配置(推荐,包含常用模块)
# --prefix:指定 Nginx 安装路径
# --with-http_stub_status_module:启用状态监控模块
# --with-http_ssl_module:启用 HTTPS 模块
# --with-http_sub_module:启用内容替换模块
./configure --prefix=/home/centos/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module# 编译源码(-j 可加线程数,如 make -j4 加快速度)
make# 安装编译后的文件到指定路径
make install

3. 启动 Nginx 并验证

3.1 启动 Nginx 服务

# 进入 Nginx 安装目录的 sbin 文件夹(可执行文件所在位置)
cd /usr/local/nginx/sbin# 启动 Nginx(默认读取 conf/nginx.conf 配置文件)
./nginx

3.2 访问 Nginx 验证

  1. 打开浏览器,输入服务器 IP 地址(如 http://192.168.1.100)。
  2. 若看到以下页面,说明 Nginx 启动成功:

    4. 安装 PHP

    4.1 添加 PHP 源并更新

    Ubuntu 官方源的 PHP 版本可能较旧,添加第三方源获取指定版本(此处以 PHP 7.3/7.1 为例):

    # 安装添加源所需的工具
    sudo apt-get install software-properties-common# 添加 Ondrej 维护的 PHP 源(包含多个 PHP 版本)
    sudo add-apt-repository -y ppa:ondrej/php# 更新本地源列表,确保能获取到最新包信息
    sudo apt-get update# 安装 PHP 7.3(基础运行环境)
    sudo apt-get install php7.3
    

    4.2 安装 PHP-FPM 及扩展

    Nginx 无法直接解析 PHP,需通过 PHP-FPM(FastCGI 进程管理器)处理 PHP 请求,同时安装常用扩展:

    # 安装 PHP-FPM 及核心扩展
    # php7.1-fpm:PHP 7.1 版本的 FPM 服务
    # 扩展说明:
    # - mysql:数据库连接支持
    # - curl:网络请求支持
    # - xml:XML 解析支持
    # - gd:图片处理支持
    # - mbstring:多字节字符串支持
    # - memcached:缓存服务支持
    # - zip:压缩文件支持
    sudo apt-get install php7.1-mysql php7.1-fpm php7.1-curl php7.1-xml php7.1-gd php7.1-mbstring php-memcached php7.1-zip
    

    5. 配置与启动 PHP-FPM

    5.1 修改 PHP-FPM 监听方式

    默认 PHP-FPM 监听 Unix Socket,改为监听 TCP 端口(127.0.0.1:9000),更易与 Nginx 配合:

    # 编辑 PHP-FPM 配置文件(路径可能因版本略有差异,以实际为准)
    sudo vim /etc/php/7.1/fpm/pool.d/www.conf# 找到监听配置行,注释默认的 Socket 监听,添加端口监听
    ;listen = /run/php/php7.1-fpm.sock  # 注释此行
    listen = 127.0.0.1:9000             # 添加此行
    

    5.2 启动 PHP-FPM 并验证

    # 启动 PHP-FPM 服务
    sudo service php7.1-fpm start# 查看 9000 端口是否被监听(验证启动成功)
    netstat -lnt | grep 9000
    

    若输出类似以下内容,说明 PHP-FPM 启动成功:

http://www.dtcms.com/a/394375.html

相关文章:

  • AI 如何改变日常生活
  • 字典树 Trie 介绍、实现、封装与模拟 C++STL 设计
  • 第一性原理(First Principles Thinking)
  • 1.UE-准备环境(一)-账号注册和打开虚幻引擎源码页面
  • javascript `AbortController`
  • 时间复杂度与空间复杂度
  • rocketmq队列和消费者关系
  • RAG评估指南:从核心指标到开源框架,打造高效检索生成系统
  • xtuoj 0x05-A 前缀和
  • 防误删 (实时) 文件备份系统 (btrfs 快照 + rsync)
  • 【FreeRTOS】第七课(1):任务间通信(使用队列)
  • OD C卷 - 二叉树计算
  • DiffDock 环境安装和使用教程
  • NVIC中的不可屏蔽中断NMI(Non-Maskable Interrupt)是什么?
  • TypeORM 浅析
  • 2.4 死锁 (答案见原书 P165)
  • 算法与数据结构:常见笔试题总结
  • trae使用playwright MCP方法流程
  • anaconda安装tensorflow遇到的一个错误
  • 不同浏览器对 http.server 提供MP4 文件支持差异分析
  • Python 实战:内网渗透中的信息收集自动化脚本(10)
  • leetcode 206 反转链表
  • AI智能的网站SEO优化服务商
  • 生产者客户端
  • Puppeteer 在爬取电商 JavaScript 页面的使用
  • 2015/12 JLPT听力原文 问题四
  • 【设计模式】备忘录模式
  • STM32_07_按键
  • 基于迁移学习和SqueezeNet的滚动轴承故障诊断(MATLAB)
  • 实战项目(十二:《AI画质增强与LED驱动控制:一场关于‘创造’与‘还原’的对话》):从LED冬奥会、奥运会及春晚等大屏,到手机小屏,快来挖一挖里面都有什么