【发布时间】: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:latest 的 nginx-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