nginx proxy manager介绍和使用

介绍

nginx proxy manager是一个简单好用的nginx反向代理配置工具,基于docker运行的。这使得它的部署和运行的非常方便。

图片.png

安装docker

这里使用官方提供的一键脚本来进行安装,脚本同时会安装docker compose

bash

curl -fsSL https://get.docker.com | bash -s docker

安装nginx proxy manager

将下面的文件保存为docker-compose.yml文件,然后在目录中运行docker compose up -d即可拉取镜像并启动容器。 这里提供两个编排文件供大家选择,分别为官方原版和大神汉化的版本,个人推荐汉化版本。

yml

version: '3.8' services: app: image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: - '80:80' - '81:81' - '443:443' volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt

yml

version: '3' services: app: image: 'chishin/nginx-proxy-manager-zh:release' restart: always ports: - '80:80' - '81:81' - '443:443' volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt

登陆面板

默认监听端口为81,登陆地址http://IP:81

默认用户名:admin@example.com

默认密码:changeme

使用中的一些常见问题

反代127.0.0.1无法正常回源

因为nginx proxy manage是运行在docker中的,docker通过一个虚拟的交换机跟主机连接,127.0.0.1对于一个docker容器来说,相当于其内部地址,是无法被外部访问的。需要反代本地的端口,要在代理配置中填入docker host的IP。一般默认为172.17.0.1 也可以使用ip a命令查看docker0网卡所在的IP

图片.png

如何在nginx proxy manager中配置gRPC反代?

我们知道nginx中是支持gRPC反代的,下面是一个配置的示例,在高级标签,自定义配置中填入下面代码,并将gRPC的服务器地址和端口修改为自己的。

underscores_in_headers on; location / { grpc_read_timeout 300s; grpc_send_timeout 300s; grpc_socket_keepalive on; if ($http_content_type = "application/grpc") { grpc_pass grpc://172.18.0.1:7891; } proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; proxy_http_version 1.1; # Proxy! include conf.d/include/proxy.conf; }

要如何恢复nginx proxy manager的登陆密码

目前nginx proxy manager使用sqlite做为数据库【2021年11月份之后的版本】

  1. 运行docker ps查看nginx proxy manager容器的ID号<CONTAINER ID>
  2. 进入容器并进入数据库

js

docker exec -it <CONTAINER ID> sh apt update && apt install sqlite3 -y sqlite3 /data/database.sqlite

  1. 在sqlite提示符下,将所有用户设置为已删除

UPDATE user SET is_deleted=1; .exit exit

  1. 如果容器已经在运行,重启它。

docker restart <CONTAINER ID>

  1. 容器重启成功之后,即可使用默认的用户名和密码登陆默认用户名:admin@example.com默认密码:changeme
  2. 登陆后,按提示新建一个管理员用户名和密码。
  3. 需要恢复原来的管理员和配置,执行下面的操作

docker exec -it <CONTAINER ID> sh sqlite3 /data/database.sqlite UPDATE user SET is_deleted=0; .exit exit docker restart <CONTAINER ID>

  1. 容器重启后,在用户管理中能看到以前的管理员,对其进行密码重置操作后,即可重新登陆。

使用MYSQL数据库的版本恢复密码

  1. 首先使用Docker ps命令,查找对应的容器ID

docker exec -it <CONTAINER ID> sh mysql -u root -p

  1. 查看docker-compose.yml文件,获取mysql root的密码
  2. 继续执行下面的命令

USE npm; UPDATE user SET is_deleted=1; quit exit

  1. 重启容器并使用默认用户名和密码登陆
  2. 恢复原来的管理员

docker exec -it <CONTAINER ID> sh mysql -u root -p USE npm; UPDATE user SET is_deleted=0; quit exit

原创文章,作者:陌涛,如若转载,请注明出处:https://imotao.com/7885.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
陌涛陌涛
上一篇 2023年12月16日 下午2:04
Windows安装golang并配置环境变量
下一篇 2023年12月16日 下午3:09

相关推荐

  • 国内外公共CDN静态资源网站大全

    注:排名不分前后!!! 1.BootCDN BootCDN 是 Bootstrap 中文网和又拍云共同支持并维护的前端开源项目免费 CDN 服务,由又拍云提供全部 CDN 支持,致…

    2021年4月18日
    95900
  • LNMP 一键安装包 2.0 测试版发布

    LNMP 生产环境【LNMP 一键安装包】今天发布了 2.0 测试版,主要增加了 PHP 8.2 的支持,新增了 ZBlog 伪静态支持等等,目前还没有实测,但按照【LNMP 一键…

    2023年1月8日
    86000
  • CloudFlare SAAS(cname) 接入网站域名

    简单介绍CloudFlare SAAS,简单来说是为了给自助建站类似的网站,而提供的用户自定义域名接入的功能。比如您做一个系统,可以给用户开通分站等功能,您希望通过api的方式将您…

    2024年3月26日
    92100
  • 建站cms选择php还是java

    很多朋友在选择cms的时候,会面临一个问题,建站用php还是java?   建站用php,因为php是常用的网站编程语言,有全球超过81.7%的公共网站在服务器端采用PHP。而Ja…

    2022年10月7日
    64500
  • 禁用WordPress Gutenberg古腾堡编辑器两个方法

    前几天,我们如果有在使用WordPress的网友肯定看到5.0版本是强制更新使用Gutenberg古腾堡编辑器的。有不少的网友反馈确实是比较难用,主要是与以往的编辑习惯不同。陌涛个…

    2019年8月19日
    87000
  • 网站被恶意镜像怎么办 一段代码轻松搞定

    有时候你会发现,你在搜索引擎输入网站名称的时候,出来的网站信息是你们的,但是域名却是一个陌生的,这种情况可以基本确定网站被镜像了,那么究竟什么叫网站被镜像? 恶意镜像,也叫恶意克隆…

    2020年8月14日
    63000
  • WordPress评论回复添加验证码防止垃圾评论

    WordPress一旦开启文章评论时,垃圾评论就会多。特别是一些英文评论,很多都是通过软件机器自动回复发布,而IP地址都一样。而防止垃圾评论方法也很多。最方便的就是在后台讨论设置开…

    2019年8月22日
    1.1K00
  • EMLOG通过不同域名使用不同的模板

    只在emlog根目录的index.php简单修改就能实现,也可以做多用户二级域名调用不同的模板。当然也可以修改模板不同域名显示不同用户的文章。   $templet=Op…

    2019年1月24日
    90500
  • 腾讯云静态网站托管之搭建 Hexo

    之前发布的文章:腾讯云免费静态网站托管,还有9.9元/年服务赞助计划! 申请地址:https://url.cn/59FNl75 操作场景 本文档介绍通过腾讯云静态网站托管服务搭建一…

    2020年6月4日
    78700
  • CF Workers+Workers KV 搭建一个免费的博客程序

    CF Workers+Workers KV居然能搭建一个博客程序,具体的说就是使用 cloudflare KV作为数据库,无其他依赖. 兼容静态博客的速度,以及动态博客的灵活性,方…

    2020年12月24日
    77300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理