【问题标题】:PHP website using Docker and Nginx with subdomains on Raspberry Pi使用 Docker 和 Nginx 以及 Raspberry Pi 上的子域的 PHP 网站
【发布时间】:2021-06-25 07:36:40
【问题描述】:

假设我拥有域 domain.com。当我访问 URL domain.com 时,我想在我的 Raspberry Pi 4 上托管一个 PHP 网站,并在我访问 drive.domain.com 时与 NextCloud 实例并行。

为此,我按照本教程 https://linuxhandbook.com/nginx-reverse-proxy-docker/#step-5-run-other-service-containers-with-reverse-proxy 使用 Docker 和 Nginx,我们在其中为网络 net 上的每个子域设置了一个 VIRTUAL_HOST。我设法让 Nextcloud 实例在我的子域 drive.domain.com 上运行。

当我尝试使用 docker run --rm --name nginx-dummy -e VIRTUAL_HOST=domain.com -e LETSENCRYPT_HOST=domain.com -e VIRTUAL_PORT=80 --network net -d nginx:latestnginx-dummy 示例时,它似乎可以工作,因为 url domain.com 登陆了 nginx 配置页面。不幸的是,我没有设法将这个 html 页面更改为我的 PHP 网站并让它在 domain.com 上运行。文件夹是这样的:

我尝试使用 Nginx 和 PHP 创建一个 docker-compose.yml,如下所示:

version: '3'
services:
 # Nginx server configuration
  web:
    image: nginx:latest
    container_name: webserver
    environment:
      VIRTUAL_HOST: 'domain.com'
      VIRTUAL_PORT: 80
    depends_on:
      - php
    links:
      - php
    volumes:
      - ./webcontent:/var/www/html
      - ./nginx:/etc/nginx/conf.d/
 # Php-fpm configuration
  php:
    image: php:7.2-fpm
    volumes:
      - ./webcontent:/var/www/html
      - ./php:/usr/local/etc/php/php.ini

但它不起作用,返回502 Bad Gateway

另外,让我们加密证书似乎不起作用。不过也许是另一个问题。

您知道如何进行吗?

【问题讨论】:

    标签: php nginx docker-compose raspberry-pi


    【解决方案1】:

    在尝试了几件事后,我找到了满足我需求的最佳解决方案。 linuxserver 团队在 https://docs.linuxserver.io/general/swag#docker-compose 处完成了一项令人难以置信的工作。

    他们的 SWAG 容器设置很容易理解,而且解释得很好,从无缝地并行设置 Web 服务器、SSL 证书和 NextCloud。只是一件艺术品。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-11
      • 2022-10-04
      • 1970-01-01
      相关资源
      最近更新 更多