Docker Compose部署LEMP环境报错“Primary script unknown”是什么原因?

Docker Compose 部署 LEMP 环境报错“Primary script unknown”解决方案

在使用 docker compose 部署 lemp (linux, nginx, mysql, php) 环境时,访问 php 文件出现 “primary script unknown” 错误?本文将分析问题根源并提供解决方案。

Docker Compose部署LEMP环境报错“Primary script unknown”是什么原因?

错误原因在于 Docker Compose 配置文件中,错误地重复挂载了宿主机的 /opt/html/ 目录。 Nginx 容器的 /etc/nginx/conf.d/default.conf 文件中,location 配置存在冲突:

location / {    root   /usr/share/nginx/html/wordpress;    index  index.php index.html;}location ~.php$ {    root /usr/share/nginx/html/;    fastcgi_pass php-fpm01:9000;    fastcgi_index index.php;    fastcgi_param script_filename /var/www/html$fastcgi_script_name;    include fastcgi_params;}

由于 /opt/html/ 被同时挂载到 /usr/share/nginx/html/ 和 /usr/share/nginx/html/wordpress/ ,当访问如 /wp-admin/install.php 时,Nginx 会在两个位置同时查找,而 wordpress 目录位于 /usr/share/nginx/html/wordpress/ ,导致找不到 PHP 脚本,从而报错。

解决方案:

移除 Nginx 容器中冗余的挂载配置。 在 docker-compose.yml 文件中,删除 Nginx 服务的以下配置:

- /opt/html/:/usr/share/nginx/html

修改后的 docker-compose.yml 文件示例:

services:  web01:    container_name: nginx01    depends_on:      - "db01"      - "php01"    image: nginx:stable    ports:      - "8080:80"    volumes:      - /opt/conf/nginx/:/etc/nginx    networks:      - lnmp  db01:    container_name: mysql01    image: mysql:5.7    ports:      - "3306:3306"    volumes:      - db_data:/var/lib/mysql    env_file:      - env.mysql    networks:      - lnmp  php01:    container_name: php-fpm01    image: vphp:7.3-fpm    ports:      - "9000:9000"    volumes:      - /opt/conf/php-fpm/php-fpm.d:/usr/local/etc/php-fpm.d      - /opt/html/:/var/www/html    networks:      - lnmp    privileged: truevolumes:  db_data:    external: falsenetworks:  lnmp:    external: false

执行 docker-compose up -d 命令重新部署 LEMP 环境,即可解决 “primary script unknown” 错误。 确保 /opt/html/ 只在 PHP-FPM 容器中被正确挂载。 如果问题仍然存在,请检查 Nginx 配置文件中的 root 指令是否正确指向你的项目根目录。

以上就是Docker Compose部署LEMP环境报错“Primary script unknown”是什么原因?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1284501.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
为什么我的自定义流协议在opendir操作中未生效?
上一篇 2025年12月11日 00:42:53
array_diff_assoc无法正确返回差集怎么办?
下一篇 2025年12月11日 00:43:06

相关推荐

  • 如何在Linux上安装和配置Docker?

    如何在linux上安装和配置docker? Docker是一种开源的容器化平台,可用于在不同的操作系统上创建、打包和分发应用程序。它提供了一种与虚拟机不同的轻量级虚拟化技术,能够更高效地利用系统资源。本文将介绍如何在Linux上安装和配置Docker。 安装Docker在Linux系统上安装Dock…

    2026年10月3日
    200
  • 7月及1-7月江浙沪地区车型销量榜:小米SU7双榜第二

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 小米su7 8月25日,有汽车媒体公布了%ignore_a_1%7月及1-7月江浙沪地区车型销量TOP20榜单。数据显示,小米SU7在该区域表现抢眼,分别以8010辆的单月销量和58138辆的累…

    2026年10月3日
    100
  • 《被诅咒的小护!ReCurse》繁体中文版将于9月25日正式发售

    《被诅咒的小护!ReCurse》繁体中文版将于9月25日正式发售《被诅咒的小护!ReCurse》繁体中文版将于9月25日正式发售《被诅咒的小护!ReCurse》繁体中文版将于9月25日正式发售《被诅咒的小护!ReCurse》繁体中文版将于9月25日正式发售

    h2interactive宣布,由city connection制作的射击游戏《被诅咒的小护!recurse》繁体中文版将于9月25日正式推出,登陆ps4、ps5及nintendo switch平台。目前ps5与nintendo switch的一般版及限定版已开放预购,游戏支援繁体中文、简体中文与日…

    2026年10月3日 • 用户投稿
    100
  • JavaFX动态绑定依赖:利用ObservableList实现可变依赖

    JavaFX动态绑定依赖:利用ObservableList实现可变依赖JavaFX动态绑定依赖:利用ObservableList实现可变依赖JavaFX动态绑定依赖:利用ObservableList实现可变依赖JavaFX动态绑定依赖:利用ObservableList实现可变依赖

    本文探讨了在JavaFX中如何处理绑定(Binding)的动态依赖问题,尤其是在依赖集合会随程序运行而变化时。通过利用JavaFX的ObservableList作为绑定的一个核心依赖,我们可以巧妙地实现当列表内容(如元素增删)发生变化时,自动触发绑定重新计算,从而避免了手动修改或重新创建绑定,为构建…

    2026年10月3日 • 用户投稿
    200
  • 三星推出首款OLED智能显示器

    三星推出首款OLED智能显示器三星推出首款OLED智能显示器三星推出首款OLED智能显示器三星推出首款OLED智能显示器

    据媒体报道,6月25日,三星电子正式发布了2025年度三款全新智能显示器产品。为顺应便携设备日益增长的市场需求,此次推出的产品中首次配备了有机发光二极管(oled)面板以及“l型”支架设计。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 新…

    2026年10月3日 • 用户投稿
    200
  • Yii框架中的表单构建器:构建复杂表单

    随着互联网的快速发展,web应用越来越成为人们生活中不可或缺的一部分。而表单是web应用中不可或缺的元素之一,其用于收集用户数据,让web应用能够更好地为用户服务。 Yii框架是一个快速、高效、灵活的PHP框架,可以帮助开发人员更加快速地开发Web应用。Yii框架中的表单构建器(Form Build…

    用户投稿 2026年10月3日
    100
  • 怎样让豆包AI帮你写广告文案 高效创作营销内容的AI技巧

    怎样让豆包AI帮你写广告文案 高效创作营销内容的AI技巧怎样让豆包AI帮你写广告文案 高效创作营销内容的AI技巧怎样让豆包AI帮你写广告文案 高效创作营销内容的AI技巧怎样让豆包AI帮你写广告文案 高效创作营销内容的AI技巧

    使用豆包ai写广告文案的关键在于明确需求、精准引导和持续优化。首先,要清楚广告目标与受众定位,包括产品卖点、用户画像及情绪氛围,如为25-35岁白领写便携咖啡杯广告。其次,用具体提示词控制ai输出风格,如指定“口语化”、“100字以内”或“电商详情页文案”。最后,多轮优化是关键,ai生成的文案需润色…

    2026年10月3日 • 用户投稿
    100
  • 怎么运行sublime

    怎么运行sublime怎么运行sublime怎么运行sublime怎么运行sublime

    Sublime 的运行步骤包括:从官方网站下载并安装 Sublime。启动 Sublime,在 Windows 中通过“开始”菜单,在 macOS 中通过“应用程序”文件夹,在 Linux 中通过终端。创建一个新文件,开始编写代码。单击“文件”菜单中的“另存为”保存文件。对于某些编程语言,如 Pyt…

    2026年10月3日 • 用户投稿
    100
  • 网络摄像头RTSP协议视频安防可视化平台EasyNVR录像如何存储不同磁盘上——Linux版

    网络摄像头RTSP协议视频安防可视化平台EasyNVR录像如何存储不同磁盘上——Linux版网络摄像头RTSP协议视频安防可视化平台EasyNVR录像如何存储不同磁盘上——Linux版网络摄像头RTSP协议视频安防可视化平台EasyNVR录像如何存储不同磁盘上——Linux版网络摄像头RTSP协议视频安防可视化平台EasyNVR录像如何存储不同磁盘上——Linux版

    tsingsee青犀视频的全线产品提供windows和linux两个版本,常见的问题是在linux系统中,磁盘分区较多,而easynvr平台的录像存储只能指定到一个磁盘上。然而,实际需求可能要求将录像文件分布存储在不同的磁盘中,这时可以利用linux的软连接功能来实现。以下是具体的操作步骤。 首先,…

    2026年10月2日 • 用户投稿
    100
  • 如何从坏掉的机械硬盘恢复数据?使用专业设备提取可读数据

    如何从坏掉的机械硬盘恢复数据?使用专业设备提取可读数据如何从坏掉的机械硬盘恢复数据?使用专业设备提取可读数据如何从坏掉的机械硬盘恢复数据?使用专业设备提取可读数据如何从坏掉的机械硬盘恢复数据?使用专业设备提取可读数据

    1、硬盘故障时应立即停用并送至专业机构,在无尘环境更换磁头等部件后读取数据;2、对有坏道的硬盘可用Linux下的DDRescue工具创建镜像,优先保存可读数据;3、若电路板损坏,可更换同型号PCB并复制ROM芯片数据尝试修复。 如果您的机械硬盘出现故障导致数据无法访问,但存储数据的盘片本身可能并未完…

    2026年10月2日 • 用户投稿
    100
  • JavaFX:动态修改 Binding 依赖项的解决方案

    JavaFX:动态修改 Binding 依赖项的解决方案JavaFX:动态修改 Binding 依赖项的解决方案JavaFX:动态修改 Binding 依赖项的解决方案JavaFX:动态修改 Binding 依赖项的解决方案

    在 JavaFX 图形可视化应用中,经常会遇到顶点和边动态变化的情况。例如,一个顶点可能需要根据其邻居节点的位置来计算自环的角度。在这种情况下,我们需要动态地修改 Binding 的依赖项。然而,JavaFX 的 DoubleBinding 提供的 getDependencies 方法返回的是一个不…

    2026年10月2日 • 用户投稿
    200
  • [WPF自定义控件库]排序、筛选以及高亮

    [WPF自定义控件库]排序、筛选以及高亮[WPF自定义控件库]排序、筛选以及高亮[WPF自定义控件库]排序、筛选以及高亮[WPF自定义控件库]排序、筛选以及高亮

    要让列表的内容更容易查找,我们可以通过排序、筛选和高亮功能来优化列表。假设有一个本地数据源的列表,由于内容太多,查找特定数据会比较困难。通过改造后的列表,可以看到这些优化后的效果。 在WPF中实现数据排序的常规方法是使用CollectionViewSource。CollectionViewSourc…

    2026年10月2日 • 用户投稿
    200
  • 火狐浏览器截图功能怎么使用_火狐浏览器内置网页截图工具使用方法详解

    火狐浏览器截图功能怎么使用_火狐浏览器内置网页截图工具使用方法详解火狐浏览器截图功能怎么使用_火狐浏览器内置网页截图工具使用方法详解火狐浏览器截图功能怎么使用_火狐浏览器内置网页截图工具使用方法详解火狐浏览器截图功能怎么使用_火狐浏览器内置网页截图工具使用方法详解

    火狐浏览器内置截图工具支持多种截取方式。1、右键选择截图或使用快捷键Command+Shift+S(Mac)/Ctrl+Shift+S(Windows/Linux)启动功能。2、拖动十字准星框选指定区域,调整后点击截图。3、悬停目标元素自动高亮,单击捕获并可调节范围。4、点击“截取整个页面”按钮自动…

    2026年10月2日 • 用户投稿
    300
  • 解决复选框数据无法插入数据库的问题:系统化调试指南

    本文旨在解决Web应用中复选框数据无法成功插入数据库的问题。我们将深入探讨常见错误原因,并提供一套系统化的调试策略,包括利用XDebug进行代码追踪、检查PHP错误日志、直接验证数据库状态以及排查数据库连接配置,确保开发者能够高效定位并解决数据插入失败的根本原因。 理解问题:复选框数据插入失败的常见…

    2026年10月2日
    100
  • JavaFX动态绑定:如何高效管理可变依赖集合

    JavaFX动态绑定:如何高效管理可变依赖集合JavaFX动态绑定:如何高效管理可变依赖集合JavaFX动态绑定:如何高效管理可变依赖集合JavaFX动态绑定:如何高效管理可变依赖集合

    在JavaFX中,数据绑定是实现UI与数据模型同步的关键机制。然而,在处理某些复杂场景,特别是当绑定的依赖项本身是一个动态变化的集合时,传统的绑定方式可能会遇到挑战。例如,在图可视化应用中,一个顶点的某些属性(如自环的优选角度)可能依赖于其所有邻居节点的位置。当图结构动态变化,即邻居列表增删时,如何…

    2026年10月2日 • 用户投稿
    100
  • 如何在Elser AI Comics中修改和优化AI生成的漫画角色形象?

    如何在Elser AI Comics中修改和优化AI生成的漫画角色形象?如何在Elser AI Comics中修改和优化AI生成的漫画角色形象?如何在Elser AI Comics中修改和优化AI生成的漫画角色形象?如何在Elser AI Comics中修改和优化AI生成的漫画角色形象?

    文章主要探讨了如何提高团队协作效率,并提出了三个关键策略:一是明确分工与责任,确保每位成员清楚自身任务;二是加强沟通机制,定期召开会议并使用协作工具提升信息共享效率;三是建立反馈文化,鼓励成员提出意见并及时调整工作方式。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 Deep…

    2026年10月2日 • 用户投稿
    200
  • CentOS 7安装fail2ban + Firewalld防止爆破与CC攻击

    fail2ban可以监控系统日志,并根据日志中的错误信息执行相应的屏蔽操作。大多数在线教程都介绍了fail2ban与iptables的组合,但考虑到centos 7自带firewalld,并且使用firewalld作为网络防火墙更为简便,本文将介绍如何结合fail2ban和firewalld来防范暴…

    2026年10月2日
    100
  • Effidit的”智能扩写”功能如何让短文变得更丰富?有哪些技巧?

    Effidit的”智能扩写”功能如何让短文变得更丰富?有哪些技巧?Effidit的”智能扩写”功能如何让短文变得更丰富?有哪些技巧?Effidit的”智能扩写”功能如何让短文变得更丰富?有哪些技巧?Effidit的”智能扩写”功能如何让短文变得更丰富?有哪些技巧?

    effidit智能扩写后文章质量不高时,可采取以下方法提升效果:1. 调整输入内容,确保原文清晰具体;2. 分段扩写以控制方向;3. 人工修改冗余与不连贯部分;4. 更换提示词引导ai方向;5. 持续学习积累使用经验。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepS…

    2026年10月2日 • 用户投稿
    1000
  • 如何在Linux中使用sed命令进行日志分析和处理?

    如何在linux中使用sed命令进行日志分析和处理? 引言:在Linux系统中,日志文件记录了系统的运行情况和运行日志,对于系统管理员来说,对日志文件进行分析和处理是非常重要的。其中,sed命令是一种非常强大的文本处理工具,可以在Linux环境中对日志文件进行高效的分析和处理。本文将介绍如何使用se…

    2026年10月2日
    200
  • 解决Jackson反序列化时布尔字段默认值失效问题

    解决Jackson反序列化时布尔字段默认值失效问题解决Jackson反序列化时布尔字段默认值失效问题解决Jackson反序列化时布尔字段默认值失效问题解决Jackson反序列化时布尔字段默认值失效问题

    本文深入探讨了在使用Lombok和Jackson进行数据序列化与反序列化时,Boolean包装类型字段的默认值可能无法正确生效的问题。通过分析Boolean与boolean两种类型的特性差异,揭示了导致NullPointerException的根本原因。文章提供了将字段类型从Boolean更改为bo…

    2026年10月2日 • 用户投稿
    900

发表回复

登录后才能评论
关注微信