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”是什么原因?的详细内容,更多请关注【创想鸟】其它相关文章!

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

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2498235.html

(0)
上一篇 2025年3月5日 04:28:07
下一篇 2025年2月23日 20:24:15

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论