当前位置: 首页
编程语言
如何在Ubuntu上使用LNMP运行PHP项目

如何在Ubuntu上使用LNMP运行PHP项目

热心网友 时间:2026-04-25
转载

在 Ubuntu 上使用 LNMP 运行 PHP 项目的实操指南

如何在Ubuntu上使用LNMP运行PHP项目

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

一 环境准备与组件安装

万事开头先打基础。以主流的 Ubuntu 20.04/22.04/24.04 为例,系统仓库通常提供 PHP 8.1/8.2/8.3 等版本。咱们先从最核心的组件装起。

  • 更新索引并安装组件
    • 安装 Nginx、MySQL、PHP-FPM 与常用扩展:
      • sudo apt update
      • sudo apt install -y nginx mysql-server php-fpm php-mysql
    • 启动并设为开机自启:
      • sudo systemctl enable --now nginx mysql php-fpm
    • 运行 MySQL 安全初始化:
      • sudo mysql_secure_installation
  • 如需指定或安装更高版本 PHP(以 PHP 8.1 为例):
    • sudo add-apt-repository ppa:ondrej/php
    • sudo apt update
    • sudo apt install -y php8.1 php8.1-fpm php8.1-mysql php8.1-{mbstring,xml,zip,gd,curl,intl,opcache}

二 配置 Nginx 与 PHP-FPM

组件齐了,接下来就是让它们“认识”并协同工作。这一步配置对了,项目就跑起来一半。

  • 创建项目站点配置(示例域名或 IP 为 your_domain_or_ip,项目路径为 /var/www/your_project/public):
    • sudo nano /etc/nginx/sites-a vailable/your_project
    • 写入以下内容(注意将 phpX.X-fpm.sock 替换为实际版本,如 php8.1-fpm.sock):
      server {
          listen 80;
          server_name your_domain_or_ip;
          root /var/www/your_project/public;
          index index.php index.html index.htm;
      
          location / {
              try_files $uri $uri/ /index.php?$query_string;
          }
      
          location ~ \.php$ {
              include snippets/fastcgi-php.conf;
              fastcgi_pass unix:/var/run/php/phpX.X-fpm.sock;
              fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
              include fastcgi_params;
          }
      
          location ~ /\.ht {
              deny all;
          }
      }
    • 启用站点并测试配置:
      • sudo ln -s /etc/nginx/sites-a vailable/your_project /etc/nginx/sites-enabled/
      • sudo nginx -t && sudo systemctl reload nginx
  • 调整 PHP-FPM 运行用户与权限(确保与 Nginx 一致,通常为 www-data):
    • 编辑:/etc/php/8.1/fpm/pool.d/www.conf
      • listen.owner = www-data
      • listen.group = www-data
      • listen.mode = 0660
    • 重启 PHP-FPM:
      • sudo systemctl restart php8.1-fpm
  • 目录与权限
    • sudo chown -R www-data:www-data /var/www/your_project
    • sudo find /var/www/your_project -type f -exec chmod 644 {} \;
    • sudo find /var/www/your_project -type d -exec chmod 755 {} \;

三 数据库与项目部署

环境就绪,是时候把数据和代码放进去了。数据库和应用配置是项目运行的“大脑”和“躯体”。

  • 创建数据库与用户(在 MySQL 中执行):
    • CREATE DATABASE your_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    • CREATE USER ‘your_user’@‘localhost’ IDENTIFIED BY ‘StrongPassword!’;
    • GRANT ALL PRIVILEGES ON your_database.* TO ‘your_user’@‘localhost’;
    • FLUSH PRIVILEGES;
    • EXIT;
  • 导入数据(如有):
    • mysql -u your_user -p your_database < your_database_dump.sql
  • 部署代码与配置应用
    • 将项目代码上传至 /var/www/your_project(框架如 Lara vel 应将入口置于 public/,并设置 .env 数据库连接)
    • 如框架需写入目录,确保相应目录对 www-data 可写(例如 storage、cache)

四 测试与常见问题排查

部署完成,先别急着庆祝,跑个测试看看。遇到问题也别慌,大部分都有迹可循。

  • 基础连通性测试
    • /var/www/html/info.php 写入:
    • 访问 http://your_domain_or_ip/info.php,确认 PHP 解析正常
  • 常见问题速查
    • 502 Bad Gateway:多为 PHP-FPM 未运行或 fastcgi_pass 路径不匹配;执行 systemctl status php8.1-fpm 查看,核对 socket 路径(/var/run/php/php8.1-fpm.sock/run/php/php8.1-fpm.sock
    • 403 Forbidden:目录无索引文件或权限不足;检查 root 路径、index 指令与目录权限
    • 404 Not Found(路由不生效):确保 Nginx 配置包含 try_files $uri $uri/ /index.php?$query_string;
    • 日志定位
      • Nginx:/var/log/nginx/error.log
      • PHP-FPM:/var/log/php8.1-fpm.log(或 /var/log/php-fpm.log,视版本与系统而定)

五 安全与优化建议

项目能跑只是第一步,跑得稳、跑得安全才是长久之计。这里有几个关键点值得注意。

  • 启用 HTTPS(Let’s Encrypt)
    • sudo apt install -y certbot python3-certbot-nginx
    • sudo certbot --nginx -d your_domain
  • 防火墙放行
    • sudo ufw allow ‘Nginx Full’
    • sudo ufw enable
  • PHP 与性能
    • 在 php.ini 中设置:
      • date.timezone = Asia/Shanghai
      • opcache.enable=1
      • opcache.memory_consumption=128
      • opcache.interned_strings_buffer=8
      • opcache.max_accelerated_files=4000
    • 按需安装扩展:php-mbstring、php-xml、php-zip、php-gd、php-curl、php-intl 等
  • 安全加固
    • 删除或限制 info.php 在生产环境访问
    • 使用强数据库与系统用户密码,限制数据库远程访问
    • 定期更新系统与软件包:sudo apt update && sudo apt upgrade
来源:https://www.yisu.com/ask/50277791.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
Rust编译器在Debian怎么设置

Rust编译器在Debian怎么设置

在 Debian 上设置 Rust 编译器 一 安装方式选择 在 Debian 上安装 Rust,通常面临两个主流选择,它们各有侧重: 使用 rustup(官方推荐):这是最灵活的方式。它能轻松管理多个 Rust 工具链(比如 stable、beta、nightly 版本)、各种组件(如 rustf

时间:2026-04-25 18:06
cmatrix命令行界面是什么样的

cmatrix命令行界面是什么样的

cmatrix:在终端中重现《黑客帝国》的代码雨 想在命令行界面里体验一把《黑客帝国》的经典视觉吗?cmatrix这个程序就能帮你实现。运行它之后,你的终端屏幕会被清空,取而代之的是在黑色背景上,无数绿色字符如瀑布般快速滚落、变幻,瞬间就能营造出那种充满科技感的、令人目眩的动态效果。 那么,这个效果

时间:2026-04-25 18:06
Debian Java编译失败如何重试

Debian Java编译失败如何重试

Debian Ja va编译失败的重试与修复步骤 一、快速自检与一键重试 遇到编译失败先别慌,一套组合拳下来,很多问题都能迎刃而解。按照下面这个顺序来操作,效率最高。 确认已安装 JDK:这是第一步,也是最基础的一步。打开终端,分别执行 ja va -version 和 ja vac -versio

时间:2026-04-25 18:05
Debian Java编译器路径怎么设置

Debian Java编译器路径怎么设置

Debian 设置 Ja va 编译器路径 一 安装 JDK 并确认可用 万事开头先准备工具。第一步,自然是把 Ja va 开发工具包(JDK)请到你的 Debian 系统里来。这里以 OpenJDK 11 为例,当然,你也可以根据需要选择 8、17 或 21 等版本。 首先,更新软件包索引,然后安

时间:2026-04-25 18:05
Debian下PHP性能调优有哪些技巧

Debian下PHP性能调优有哪些技巧

Debian 下 PHP 性能调优要点 一 基础与运行时配置 性能调优这事儿,得从地基开始。首先,一个基本但常被忽视的原则是:保持你的 Debian 系统和 PHP 版本处于最新的稳定状态。这不仅能堵上安全漏洞,更是获取官方性能修复和改进的最直接途径。 接下来,OPcache 绝对是重中之重。作为

时间:2026-04-25 18:05
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜
热门教程
更多
  • 游戏攻略
  • 安卓教程
  • 苹果教程
  • 电脑教程