个人博客搭建之路(b3log solo)

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a724888/article/details/79975343 我的博客地址: http://h2pl.xyz 1首先,想要搭的是b3log开源社区提供的开源博客系统solo。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a724888/article/details/79975343
我的博客地址:

http://h2pl.xyz


1首先,想要搭的是b3log开源社区提供的开源博客系统solo。
  • Solo 是一款一个命令就能搭建好的 Java 开源博客系统,并内置了 18+ 套精心制作的皮肤
  • B3log 开源组织有着非常活跃的社区,文章分享到社区后可以让很多人看到,产生丰富的交流互动
  • Solo 的第一个版本发布于 2010 年,至今已经非常成熟稳定,请放心使用 ��
solo范例: http://demo.b3log.org/

微信公众号【Java技术江湖】一位阿里 Java 工程师的技术小站。(关注公众号后回复”Java“即可领取 Java基础、进阶、项目和架构师等免费学习资料,更有数据库、分布式、微服务等热门技术学习视频,内容丰富,兼顾原理和实践,另外也将赠送作者原创的Java学习指南、Java程序员面试指南等干货资源。

本文主要介绍了final关键字的使用方法及原理

solo使用Java web开发。可以本地编译部署或者使用war包部署。
使用war包部署比较方便。
首先建议使用云主机。这样博客随时可以访问
虚机环境是centos7.0。已经安装了yum apt-get等包管理工具。

2由于solo.war包需要在百度云上下载,建议先搭好ftp服务防止下载不了。
建立ftp服务器
ftp需要新建用户以及配置权限,避免过界操作
putty 进行ssh

3安装Tomcat之前要先在vm上安装jdk yum安装openjdk并配置环境变量
#set java environment
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_ 4.i386
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

然后用Yum或下载安装Tomcat9

4安装b3log solo
安装前先准备好 Java 环境,请使用 JDK8 或以上 版本。Solo 提供了两种部署模式,分别是独立模式和容器模式。数据库默认是使用内嵌的 H2 数据库,也支持 MySQL,稍后会详细介绍。
对于系统内存要求,最低 512M,推荐 1G。
独立模式
独立模式使用内嵌的 Jetty 容器进行部署,解压 war 包后仅需要一个命令就能启动:
  • Windows: java -cp "WEB-INF/lib/*;WEB-INF/classes" org.b3log.solo.Starter
  • Unix-like: java -cp "WEB-INF/lib/*:WEB-INF/classes" org.b3log.solo.Starter
启动正常的话打开浏览器访问 http://localhost:8080 就可以看到初始化向导界面了。如果要修改监听端口或者覆盖 latke.props 配置项,请参考 -h 帮助。
注意 :上面的命令都是前台运行的,退出 shell 后会被终止。比如 Linux 上不中断运行需要使用 nohup ,比如这样 nohup java -cp WEB-INF/lib/*:WEB-INF/classes org.b3log.solo.Starter >/dev/null 2>&1 &
容器模式
使用 Jetty 或者 Tomcat( 版本要求至少 9 )进行部署,将 war 包放到容器的 webapps 目录下即可。访问时需要带上下文路径(容器自动解压 war 后的目录名),比如 http://localhost:8080/solo


5再看以下部分之前建议先注册一个域名,并且将域名解析到你的公网ip地址上。接着可以通过域名访问你的web网站之后,再进行下面的配置。

Server 部分
一些 Solo 用户在初始化时会遇到“配置错误”的问题,这是因为 latke.props 没有配置或配置不当造成的。该配置文件中 #### Server #### 部分的默认配置如下:
#### Server ##### Browser visit protocolserverScheme=http# Browser visit domain nameserverHost=localhost# Browser visit port, 80 as usual, THIS IS NOT SERVER LISTEN PORT!serverPort=8080
#### Server ##### Browser visit protocolserverScheme=http# Browser visit domain nameserverHost=localhost# Browser visit port, 80 as usual, THIS IS NOT SERVER LISTEN PORT!serverPort=8080
这 3 个配置项需要配置为用户通过浏览器 访问时候 的值。换句话说,如果你的服务在本机启动,那么默认的配置是可以让你在本机通过 http://localhost:8080 访问时一切正常的;但非本机访问时(比如通过 http://domain-or-ip:8080) 就 不能 正常加载静态资源了。
解决方案:将这三个配置项的值调整为最终访问时候对应的样子。
比如我的博客域名是 myblog.com,该域名已经正常解析到服务器 IP,此时只需要将 serverHost 的值设置为 myblog.com 就可以通过 http://myblog.com:8080 访问了。



6进入:/app/nginx 位置
Nginx  (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。
OpenSSL  是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。 OpenSSL 被曝出现严重安全漏洞后,发现多数通过SSL协议加密的网站使用名为 OpenSSL 的开源软件包...
是一个压缩工具
PCRE (Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。这些在执行正规表达式模式匹配时用与Perl 5同样的语法和语义是很有用...
如果没有安装 c 编译环境,还得安装,通过 yum install gcc-c 完成安装
还需要安装gcc-c++来编译c++文件

7启动Nginx以后
开始配置反向代理
https://www.cnblogs.com/naaoveGIS/p/5478208.html Nginx监听80端口,使用ip或域名访问可直接转发到tomcat,不用加端口号


Nginx.conf加入如下配置

server {
listen 80;
server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
proxy_pass http://localhost:8080/solo;
}

此时启动Nginx监听80端口。请求转发到tomcat的8080端口下的solo目录。
即可访问到solo博客主页面 http://h2pl.xyz/ solo。并且没有bug。

日志查看命令
方便调试
如cat
tail head等


但是不能通过域名直接访问博客的话,确实是一个问题。怎么解决呢。
我们大家都知道,Tomcat在启动的时候会去webapps下访问它默认的ROOT应用程序,其实这就是它在 conf/server.xml 中配好的默认规则,如果你想让Tomcat启动时默认打开你自己的web应用,最简单的做法就是不去改他的配置,只需要
    1,将webapps目录下ROOT文件夹删除掉
    2,copy你的war包到webapps目录下,并更名为ROOT
    3,启动Tomcat
    4,访问  http://localhost:8080/  就是你的项目首页了    


此时直接访问 http://h2pl.xyz/ 就是博客首页了
相关文章
|
分布式计算 关系型数据库 数据库连接
MaxCompute数据问题之数据迁移如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
191 0
|
域名解析 缓存 网络协议
【域名解析DNS专栏】IPv6与DNS:兼容性挑战与解决方案
【5月更文挑战第29天】随着IPv6逐渐成为互联网主流,DNS面临兼容性挑战,包括解析机制差异、资源记录类型扩展和查询流程优化。为解决这些问题,可采取升级DNS系统以支持IPv6、部署双栈DNS服务和优化DNS缓存策略。通过这些措施,可确保IPv6环境下的域名解析顺利进行。
974 1
|
安全 关系型数据库 MySQL
Linux云服务器CentOS7版本下安装mysql5.7
Linux云服务器CentOS7版本下安装mysql5.7
|
7月前
|
存储 监控 数据挖掘
【Clikhouse 探秘】ClickHouse 物化视图:加速大数据分析的新利器
ClickHouse 的物化视图是一种特殊表,通过预先计算并存储查询结果,显著提高查询性能,减少资源消耗,适用于实时报表、日志分析、用户行为分析、金融数据分析和物联网数据分析等场景。物化视图的创建、数据插入、更新和一致性保证通过事务机制实现。
621 14
|
6月前
|
缓存 JSON NoSQL
为什么是删除缓存,而不是更新缓存?
本文介绍了数据库与缓存一致性的常见方案——Cache-Aside Pattern(旁路缓存模式),并分析了其工作流程及优势。该模式通过应用程序显式管理缓存,确保数据一致性。文章详细探讨了删除缓存而非更新缓存的原因,包括避免数据不一致、简化操作、减少并发问题及提高性能。删除缓存能有效保证下次请求获取最新数据,尤其在高并发场景下,确保系统的简单性和可靠性。
219 0
SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘thinkphp.test‘ don‘t exsit
SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘thinkphp.test‘ don‘t exsit
541 0
|
11月前
|
弹性计算 负载均衡 网络协议
云计算中的弹性伸缩与负载均衡技术解析
【7月更文挑战第4天】弹性伸缩与负载均衡作为云计算平台中的两大关键技术,对于构建高可用、可扩展的应用系统具有重要意义。通过合理利用这两种技术,企业可以灵活应对不断变化的业务需求,降低运营成本,提高资源利用效率。未来,随着技术的不断进步和应用的深入,弹性伸缩与负载均衡技术将在更多领域发挥重要作用,推动云计算技术的持续发展。
|
10月前
|
缓存 负载均衡 Java
Tomcat多实例及nginx反向代理tomcat
运行多个Tomcat实例并使用nginx作为反向代理
183 3
|
关系型数据库 MySQL Linux
【菜鸟版】 Linux 安装 MySql 5.7
【菜鸟版】 Linux 安装 MySql 5.7
450 2
|
域名解析 安全 网络协议
从零开始搭建solo博客
从零开始搭建solo博客
556 1
从零开始搭建solo博客

热门文章

最新文章