0304nginx配置运行-docker-macos aarm64

这篇具有很好参考价值的文章主要介绍了0304nginx配置运行-docker-macos aarm64。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 容器运行

  • 最新版nginx适配,直接拉取镜像

    docker pull nginx
    
  • 运行容器

    docker run \
    --name=nginx-xc \
    -v Users/gaogzhen/devTools/java/projects/full/xuecheng/xc-ui-pc-static-portal:/usr/share/nginx/html \
    -v /Users/gaogzhen/data/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
    -v /Users/gaogzhen/data/docker/nginx/logs:/var/log/nginx \
    -p 80:80 \
    -d nginx
    
    • Users/gaogzhen/devTools/java/projects/full/xuecheng/xc-ui-pc-static-portal为我存放网站目录的路径,该为自己的
    • nginx.conf从随意运行的nginx容器中复制的;
    • 外部挂载目录或者文件需要自己创建
    • 我这里只挂载了网站家目录,nginx配置文件,日志目录;nginx.conf中没加载 *.conf所以没挂载其他文件或者目录;

3 nginx常见报错

3.1 403 Forbidden

第一步:检查挂载目录及文件权限,没啥问题。

第二步:Nginx打开目录浏览功能,即在整个或者某个单独目录开启

# 整个虚拟主机目录开启
location / {
autoindex on;
# ....
}

3.2 404 connect() failed (111: Connection refused) while connecting to upstream

  • 背景简介:docker运行nginx,前台首页登录需要通过后端网关端口63010获取图片验证码(本地部署),为解决跨域问题在nginx设置了代理。

报错如下图3.2-1所示:

0304nginx配置运行-docker-macos aarm64

2023/06/14 07:16:51 [error] 24#24: *4 connect() failed (111: Connection refused) while connecting to upstream, client: 172.18.0.1, server: www.51xuecheng.cn, request: "POST /api/checkcode/pic HTTP/1.1", upstream: "http://127.0.0.1:63010/checkcode/pic", host: "www.51xuecheng.cn", referrer: "http://www.51xuecheng.cn/sign.html?returnUrl=aHR0cDovL3d3dy41MXh1ZWNoZW5nLmNuL3JlZ2lzdGVyLmh0bWw="
  • 错误原因:nginx配置的proxy_pass 代理服务器地址,docker 中nginx找不到,即nginx所在docker子网访问不到你所配置的目标服务ip地址

  • 解决方案:把代理服务器(主机)地址设置为服务所在主机地址或者公网地址或者本机IP地址

    ifconfig
    
    • ifconfig可查看本地地址
  • nginx.config配置如下所示:

            
    server {   
     # ...省略
      #api
      location /api/ {
              proxy_pass http://gatewayserver/;
      }
    }
    #后台网关
    upstream gatewayserver{
        server 192.168.0.103:63010 weight=10;
    }
    
    • proxy_pass htt://直接服务主机地址(或者备案域名或者本地ip地址或者upstream配置名称)

    • 如果跟upstream配置名称的话,upstream中server里面的主机地址需要为公网ip或者本机ip,不能是localhost或者127.0.0.1,如果是localhost或者127.0.0.1相当于nginx访问nginx运行容器所在的docker子网主机ip地址了,我们的服务当然不存在。

      正常运行如下图3.2-2所示:

      0304nginx配置运行-docker-macos aarm64

    0304nginx配置运行-docker-macos aarm64

    持续更新中……

结语

欢迎小伙伴一起学习交流,需要啥工具或者有啥问题随时联系我。

❓QQ:806797785

[1]mac nginx 403 Forbidden 问题解决[CP/OL]文章来源地址https://www.toymoban.com/news/detail-494587.html

到了这里,关于0304nginx配置运行-docker-macos aarm64的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • macOS下Django环境搭建-docker运行Django

    /Library/Developer/CommandLineTools/usr/bin/python3 -m pip install --upgrade pip $ sudo rm -rf /usr/local/bin/python3  $ sudo rm -rf /usr/local/bin/pip3  $ sudo rm -rf /Library/Frameworks/Python.framework 在官网下载Python macOS安装包 Python Release Python 3.11.4 | Python.org 滑到最下面  下载python-3.11.4-macos11.pkg python3 --version 然后敲

    2024年02月14日
    浏览(38)
  • 在 Docker 容器中运行 macOS:接近本机性能,实现高效运行 | 开源日报 No.96

    Stars: 2.6k License: MIT 这个项目是关于数据可视化中好的和不好的实践,作者通过一系列例子解释了哪些图表类型是不合适的,并提供了如何改进或替代它们。主要功能包括展示错误做法以及正确做法,并提供相应代码文件来生成相关图形。该项目核心优势在于: 提供有针对性

    2024年02月02日
    浏览(51)
  • MacOS12及以上版本安装PHP,配置Nginx

      自Macos12版本开始,php不再内置,需要自己安装,自己安装过程中遇到了一些问题,在这个帖子做一个详细的安装过程及可能遇到的问题与解决办法的总结。 这里通过homebrew进行安装,如果没有homebrew的话,可以在终端通过以下命令安装: 以上是通过国内的镜像源进行安装(

    2024年02月04日
    浏览(56)
  • MacOS上用docker运行mongo及mongo-express

    MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 要求在你的MacOS上已安装docker服务 执行命令

    2024年02月14日
    浏览(55)
  • docker运行nginx不生效

    docker运行nginx镜像时,设置端口映射,则只有该映射端口起作用,nginx配置的其他端口无效 监听端口 docker运行命令 nginx 监听了多个端口,但只有 8082端口起效果,如果想要多个端口起效果,则将 -p 8082:8082 换成 --net host,即

    2024年02月20日
    浏览(33)
  • Docker入门之运行Nginx案例

    如果你直接安装会比较慢, 建议参照附录内容配置镜像之后再执行 命令解释 docker run 启动一个容器 -d 把容器镜像中需要执行的命令以daemon(守护进程)的方式运行 nginx 应用容器镜像的名称,通常表示该镜像为某一个软件 latest 表示上述容器镜像的版本,表示最新版本,用户可

    2024年02月14日
    浏览(32)
  • Docker Nginx 运行多个前端项目

    运行Nginx容器:  copy 打包后的前端项目到容器的/usr/share/nginx目录下,拷贝后的目录一定要是:/usr/share/nginx/html否则无法运行 nginx配置:目录:etc/nginx/conf.d 新增web.conf配置 进入容器 进入容器后运行: 浏览器打开:http://localhost/#/ 和 http://localhost:8081/#/访问应用

    2024年02月12日
    浏览(50)
  • Docker安装运行Nginx容器(纯步骤)

    本文章只有步骤,没有原理解释,只做平时学习提示。提前说明:由于nginx里的配置文件比较多,所以本文章不对此配置文件解释而且会有一些小问题,这个你酌情操作,但不影响你nginx容器的创建你可以在容器创建成功后再寻找别的文章对nginx的相关配置进行操作。 创建可以

    2024年02月01日
    浏览(84)
  • docker运行redis,jdk,nginx

    hello-world - Official Image | Docker Hub 1.查询redis 2.下载redis软件 3.查看下当前的进程 4.运行redis 5.再查看下,可以看出redis运行起来了 6.我们停止redis,再次查看 发现redis已经停止成功了。 安装 运行 查看进程 下载 运行

    2024年01月23日
    浏览(41)
  • Docker容器操作 Docker创建并运行Nginx、Redis

    容器操作的命令如图: 创建并运行一个容器 举例: docker run --name containerName -p 80:80 -d nginx docker run :创建并运行一个容器 --name :给容器起一个名字 -p :容器端口映射,左侧得是宿主机器的端口,右侧是容器端口 默认情况下,容器是隔离环境,直接访问宿主机的80端口,是访

    2024年01月24日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包