当前位置: 首页 > news >正文

docker中hyperf项目配置虚拟域名

在学习hyperf框架时遇到一些问题,这里是直接用了docker环境

下载镜像运行容器

docker run --name hyperf -v /data/project:/data/project -p 9501:9501 -itd -w /data/project --privileged -u root --entrypoint /bin/sh 镜像ID

配置docker-compose.yml

version: "3.9"
services:hyper83:image: hyperf/hyperf:8.3-alpine-v3.19-swoole-slimcontainer_name: hyper83working_dir: /data/projectprivileged: trueuser: rootentrypoint: /bin/shports:- "9501:9501"networks:- websitevolumes:- /data/project:/data/project- /usr/bin/git:/var/run/git- /usr/bin/git:/usr/bin/gitrestart: alwaystty: truestdin_open: truenginx12:image: nginx:1.23.1-alpinecontainer_name: nginx12ports:- "80:80"networks:- websitevolumes:- /data/project:/usr/share/nginx/html- /data/project:/etc/nginx/conf.drestart: alwaysnetworks:website:driver: bridge

容器运行后进入容器后composer创建项目

运行项目

cd hyperf-skeleton
php bin/hyperf.php start

配置nginx反向代理

# 至少需要一个 Hyperf 节点,多个配置多行
upstream hyperf {# Hyperf HTTP Server 的 IP 及 端口server 172.23.0.1:9501; # 改成docker中的网桥ip
}server {# 监听端口listen 80;# 绑定的域名, 改成自己的域名server_name hyperf.xyz;location / {# 将客户端的 Host 和 IP 信息一并转发到对应节点  proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 转发Cookie,设置 SameSiteproxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";# 执行代理访问真实服务器proxy_pass http://hyperf;}
}

重启nginx,修改hosts文件

关键点在于127.0.0.1指向的是docker容器的ip

docker inspect nginx

查看docker网关是172.23.0.1,所以在upstream hyperf中配置172.23.0.1

在这里插入图片描述
我前面因为nginx.conf中配置的是127.0.0.1报错502

http://www.lryc.cn/news/310829.html

相关文章:

  • PID闭环控制算法的学习与简单使用
  • 【无刷电机学习】光耦HCNR200基本原理及应用(资料摘抄)
  • 【LeetCode】1768_交替合并字符串_C
  • C#解析JSON
  • AI图像识别算法助力安全生产*提升风险监测效率---豌豆云
  • CSS技巧:实现两个div在同一行显示的方法
  • 【Unity】Node.js安装与配置环境
  • Vue3:使用 Composition API 不需要 Pinia
  • ExoPlayer 播放视频黑屏的解决方法
  • C语言初阶—数组
  • 飞桨(PaddlePaddle)数据预处理教程
  • MYSQL C++链接接口编程
  • 并发编程中常见的设计模式,c++多线程如何设计
  • 解决android studio build Output中文乱码
  • [云原生] K8s之pod进阶
  • [Unity3d] 网络开发基础【个人复习笔记/有不足之处欢迎斧正/侵删】
  • Tomcat的配置文件
  • 猴子吃桃问题(python版)
  • C语言入门到精通之练习49:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的 *。
  • 如何在Windows轻量应用服务器上安装和配置SSH?
  • leetcode日记(36)全排列
  • Flink:动态表 / 时态表 / 版本表 / 普通表 概念区别澄清
  • 异常网络下TCP的可靠服务机制(慢启动、拥塞避免、快重传、快恢复)
  • PL/SQL执行.sql文件
  • 赋能中国制造,大道云行发布智能制造分布式存储解决方案
  • MySQL Strict Mode is not set for database connection ‘default‘
  • 分享:大数据信用报告查询的价格一般要多少钱?
  • tomcat下载安装配置教程
  • GO—变量
  • 【计算机毕业设计】044学生管理系统