升级到了最新版本的 solo,访问一直出现 8080

本贴最后更新于 1877 天前,其中的信息可能已经斗转星移

今天试用 docker 升级了 solo 的最新版本,后面每次访问点击文章跳转的链接都会带上 8080 端口!

博客网站:www.javadaily.cn

image.png

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 请参考 Solo 用户指南配置 NGINX 反代

    2 回复
  • jianzh5
    作者

    没有试用 https 也需要配置吗?

  • jianzh5
    作者

    原来都正常的!

    1 回复
  • 改一下反代配置应该就好了

    1 回复
  • jianzh5
    作者
    conf upstream backend { server localhost:8080; # Solo 监听端口 } server { listen 80; server_name javadaily.cn; #charset koi8-r; access_log off; location / { proxy_pass http://backend$request_uri; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; client_max_body_size 10m; } ...

    已经根据文档配置了,现在 nginx 访问出现 404

  • 看下 nginx error log 还有 Solo 的日志

    1 回复
  • jianzh5
    作者

    image.png

    • 带 www 和不带 www 是两个域名,只能选其一,另一个配置 302 重定向
    • 上游的 Solo 服务没有监听 8080 端口么
    1 回复
  • jianzh5
    作者
    • 上游的是监听了的,直接访问 javadaily.cn:8080 是可以访问的
  • 那应该还是 NGINX 配置有问题,仔细检查一下。

    1 回复
  • jianzh5
    作者
    conf upstream backend { server localhost:8080; } server { listen 80; server_name javadaily.cn; rewrite ^(.*)$ http://www.javadaily.cn$1 redirect; #charset koi8-r; access_log off; location / { proxy_pass http://backend$request_uri; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; client_max_body_size 10m; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }

    可以帮我看一下吗?

    1 回复
  • rewrite 那里不对,需要单独配置一个 server,大概这样:

    server { server_name www.javadaily.cn; listen 80; rewrite ^(.*)$ http://javadaily.cn$1 permanent; }
    1 回复
  • jianzh5
    作者
    conf upstream backend { server localhost:8080; } server { listen 80; server_name javadaily.cn; #charset koi8-r; access_log off; location / { proxy_pass http://backend$request_uri; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; client_max_body_size 10m; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } server { server_name www.javadaily.cn; listen 80; rewrite ^(.*)$ http://javadaily.cn$1 permanent; }

    这是我的完整配置,现在访问 javadaily.cn 还是报错

    image.png

    快急哭了!

  • 贴一下 Docker Solo 的启动命令

    1 回复
  • jianzh5
    作者
    shell docker run --detach --name solo --network=host -v /dockerData/solo/skins:/opt/solo/skins --env RUNTIME_DB="MYSQL" --env JDBC_USERNAME="root" --env JDBC_PASSWORD="xxxxxx" --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" --env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" b3log/solo --listen_port=8080 --server_scheme=http --server_host=www.javadaily.cn
    1 回复
  • server_host 改成不带 www 的,另外,docker logs solo 看下有无报错日志。

    1 回复
  • jianzh5
    作者
    1. 已经去掉 server_host 后面的 www
    2. docker logs solo 无错误,www.javadaily.cn:8080 端口正常访问
    3. 配置了反代后还是 404。

    image.png

    conf upstream backend { server localhost:8080; } server { listen 80; server_name javadaily.cn; #charset koi8-r; access_log off; location / { proxy_pass http://backend$request_uri; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; client_max_body_size 10m; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } server { server_name javadaily.cn; listen 80; rewrite ^/(.*)$ http://www.javadaily.cn/$1 redirect; }
    1 回复
  • 最终你是想用带 www 还是不带?我之前给你的配置建议是不带 www 的,但是你现在帖这个里面又是重定向到 www 的,这里有冲突。

    1 回复
  • jianzh5
    作者

    我是一直在尝试各种解决方法,换成了你这样的还是不行。可以麻烦提供下 QQ 或者其他联系方式吗?这个问题折腾好久了

    我的 QQ:476938977

    1 回复
  • 之前有群我都解散了,就是为了方便在社区交流问题呢。

    建议仔细参考一下用户指南检查配置,还有那篇 Latke 配置剖析的帖子。

    1 回复
  • jianzh5
    作者

    重新看了一下,都一样的!
    现在把启动命令的 server_host 都改成了 localhost 还是不行!

    1 回复
  • 你还没回复我之前的问题,你到底是要用 www 还是不用呢?

    1 回复
  • jianzh5
    作者

    不用呀,我只想用 javadaily.cn

    1 回复
  • 好的,确定后就按照这个步骤排查:

    1. 检查 NGINX 配置重定向 server 和反代 server
    2. 检查 Solo 启动命令 server_host 参数

    改完记得重启。如果还不能解决问题,请贴一下你当前的配置我帮你再看看。

    1 回复
  • jianzh5
    作者

    ok,排查完发现还是不行。
    nginx 的错误日志如下:

    image.png

    • solo 启动命令如下
    bash docker run --detach --name solo --network=host -v /dockerData/solo/skins:/opt/solo/skins --env RUNTIME_DB="MYSQL" --env JDBC_USERNAME="xxx" --env JDBC_PASSWORD="xxx" --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" --env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" b3log/solo --listen_port=8080 --server_scheme=http --server_host=javadaily.cn
    • nginx 的配置如下
    upstream backend { server localhost:8080; } server { listen 80; server_name javadaily.cn; #charset koi8-r; access_log off; location / { proxy_pass http://backend$request_uri; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; client_max_body_size 10m; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } server { server_name www.javadaily.cn; listen 80; rewrite ^(.*)$ http://javadaily.cn$1 redirect; }

    麻烦您了,万分感谢!

    1 回复
  • 这次配置应该没问题了,从 NGINX 报错日志上看可能是因为 Solo 进程没启动,docker ps 看下进程还活着没,然后 docker logs solo 看下日志。

    1 回复
  • jianzh5
    作者

    image.png

    docker logs solo 正常
    docker ps 正常
    直接带端口访问正常:http://www.javadaily.cn:8080/

    1 回复
  • 你的 NGINX 也是 docker 启的啊,那得看下 docker 的网络配置是否和 Solo 的网络想通了,按照之前你提供的配置,Solo 启动用的是宿主机 host 网络,那 NGINX 呢?

    2 回复
  • jianzh5
    作者

    好 ,我来下载个安装包,使用本地 nginx 安装一下

  • jianzh5
    作者

    好了,果然是这个问题。我用本地安装的可以了!
    奇怪就是我在没升级之前是有用的,配置方向代理都生效!网站都运行大半年了!

    而且也是参照一篇手册使用的 nginx 容器部署!
    升级后就不行了~

    感谢感谢!!我去打个赏!

请输入回帖内容 ...

推荐标签 标签

  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    119 引用 • 323 回帖
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    167 引用 • 597 回帖
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3203 引用 • 8217 回帖
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 714 关注
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    59 引用 • 25 回帖 • 1 关注
  • 叶归
    14 引用 • 62 回帖 • 24 关注
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    201 引用 • 120 回帖 • 3 关注
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 563 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    12 引用 • 5 回帖 • 635 关注
  • 微信

    腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。

    135 引用 • 798 回帖
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    34 引用 • 37 回帖 • 557 关注
  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    92 引用 • 752 回帖
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    54 引用 • 37 回帖 • 1 关注
  • Outlook
    1 引用 • 5 回帖 • 3 关注
  • Visio
    1 引用 • 2 回帖
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    694 引用 • 537 回帖
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    268 引用 • 666 回帖 • 2 关注
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    230 引用 • 480 回帖
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖 • 2 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    118 引用 • 54 回帖 • 12 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    593 引用 • 3533 回帖 • 1 关注
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 224 关注
  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    10 引用 • 77 回帖
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    108 引用 • 153 回帖
  • 博客

    记录并分享人生的经历。

    273 引用 • 2389 回帖
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 650 关注