我的博客地址:

http://h2pl.xyz

1首先,想要搭的是b3log开源社区提供的开源博客系统solo。

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

solo范例:http://demo.b3log.org/

solo使用Java web开发。可以本地编译部署或者使用war包部署。

使用war包部署比较方便。

https://solo.b3log.org/

首先建议使用云主机。这样博客随时可以访问

虚机环境是centos7.0。已经安装了yum apt-get等包管理工具。

2由于solo.war包需要在百度云上下载,建议先搭好ftp服务防止下载不了。

建立ftp服务器

https://www.linuxidc.com/Linux/2017-11/148518.htm

ftp需要新建用户以及配置权限,避免过界操作

putty 进行ssh

3安装Tomcat之前要先在vm上安装jdk yum安装openjdk并配置环境变量

https://www.linuxidc.com/Linux/2016-09/134941.htm

#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 访问了。

latka配置https://hacpai.com/article/1474087427032#1519961423941

ngnix安装https://hacpai.com/article/1520406133416

6进入:/app/nginx 位置

下载 nginx: wgethttp://nginx.org/download/nginx-1.12.2.tar.gz

Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。

下载 openssl : wgethttps://www.openssl.org/source/openssl-fips-2.0.16.tar.gz

OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。OpenSSL被曝出现严重安全漏洞后,发现多数通过SSL协议加密的网站使用名为OpenSSL的开源软件包...

下载 zlib : wgethttp://www.zlib.net/fossils/zlib-1.2.11.tar.gz

是一个压缩工具

下载 pcre : wget wgetftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz

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.htmlNginx监听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。

日志查看命令

https://blog.csdn.net/qq_31617637/article/details/71426904

方便调试

如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/就是博客首页了

个人公众号:程序员黄小斜

微信公众号【程序员黄小斜】新生代青年聚集地,程序员成长充电站。作者黄小斜,职业是阿里程序员,身份是斜杠青年,希望和更多的程序员交朋友,一起进步和成长!专注于分享技术、面试、职场等成长干货,这一次,我们一起出发。

关注公众号后回复“2019”领取我这两年整理的学习资料,涵盖自学编程、求职面试、算法刷题、Java技术学习、计算机基础和考研等8000G资料合集。

技术公众号:Java技术江湖

微信公众号【Java技术江湖】一位阿里 Java 工程师的技术小站,专注于 Java 相关技术:SSM、SpringBoot、MySQL、分布式、中间件、集群、Linux、网络、多线程,偶尔讲点Docker、ELK,同时也分享技术干货和学习经验,致力于Java全栈开发!

关注公众号后回复“PDF”即可领取200+页的《Java工程师面试指南》强烈推荐,几乎涵盖所有Java工程师必知必会的知识点。

个人博客搭建之路(b3log solo)相关推荐

  1. VuePress博客搭建

    VuePress博客搭建 本人博客地址,欢迎访问并关注公众号 https://xiaoping027.github.io/ 查看该博客的配置,欢迎star Github config.js 目录 do ...

  2. 博客搭建攻略(三):创造收益

    在前两篇博客搭建攻略中,主要介绍了博客平台的选择以及写博的常用工具.作为本系列的最后一篇,可能也是大家最感兴趣的一篇,我将给大家介绍一下在博客编写过程中,是如何创造收益的. 下面,以我个人为例,总结一 ...

  3. 博客搭建攻略(二):工具推荐

    回顾:博客搭建攻略(一):平台选择 预告:博客搭建攻略(三):创造收益,如果兴趣就关注我吧~ 通过上一篇的教程,根据自己的需求选择一款博客平台,就能完成博客的搭建.在这之后,我们的主要任务就是创作内容 ...

  4. 博客搭建攻略(一):平台选择

    本系列文章预告 博客搭建攻略(一):平台选择 博客搭建攻略(二):工具推荐 博客搭建攻略(三):创造收益 如您对本系列内容感兴趣,就点击标题下方的程序猿DD关注我吧~ 前言 虽然在大学生涯就有开始写技 ...

  5. python个人博客网站的搭建说明书_个人博客搭建线上实施方案

    个人博客搭建线上实施方案 在hexo本地实施没有问题的基础上 实施方案 方案一:GithubPages 创建仓库, 仓库名为:.github.io 将本地Hexo博客推送到GithubPages 3. ...

  6. 【个人博客】Hexo个人博客搭建与配置详细教程 + Fluid主题 + Gitee发布

    文章目录 一.环境准备 1.1 安装 NodeJs 1.2 安装 Git 1.3 安装 Hexo 二.Gitee仓库搭建 2.1 Gitee账号注册 2.2 仓库搭建 三.Hexo博客搭建 3.1 基 ...

  7. hexo博客搭建及主题优化(一)

    个人博客 个人博客: https://www.crystalblog.xyz/ 备用地址: https://wang-qz.gitee.io/crystal-blog/ HexoBlog 个人博客 介 ...

  8. hexo+gitHub 个人博客搭建及更换主题历程(特适合入门小白)

    内容涵盖 hexo+gitHub 个人博客搭建 搭建过程中遇到的问题及解决方案 更换主题 1. gitHub 创建博客仓库 (1) 注册Github(如果已注册可以忽略次此步骤) 详细注册步骤请参考: ...

  9. Django个人博客搭建4-配置使用 Bootstrap 4 改写模板文件

    Django个人博客搭建1-创建Django项目和第一个App Django个人博客搭建2-编写文章Model模型,View视图 Django个人博客搭建3-创建superuser并向数据库中添加数据 ...

最新文章

  1. Python2的Json反序列化工具
  2. python2.7爬虫实例-Python2.7爬虫-爬取简书文章-入门
  3. 「周末观赛指南」澳网新王当立?勇士冲击十连胜
  4. SQL、LINQ、Lambda 三种用法(转)
  5. mysql union group by_Mysql UNION和GROUP BY
  6. 【python教程入门学习】学python要多久,0基础学python有多难
  7. 【机器学习】监督学习--(回归)决策树③--回归树
  8. 【VS开发】VS2010中导入ActiveX控件
  9. 图卷积网络进行骨骼识别代码_深兰科学院:动作识别——人体骨架时空图卷积网络的关节图构造方法简介...
  10. mysql+proxysql+keepalived实现高可用的数据库读写分离
  11. 国二c语言程序设计技巧,计算机二级C语言考试必看技巧
  12. 微信公众平台:微信网页授权和微信支付
  13. 黑马程序员_java语言基础_概述
  14. 阿里云盾(云安全)是什么?有什么作用?
  15. 学习OpenCV2——Mat之通道的理解
  16. fopen打开文件名(文件路径含中文或韩语)方法测试
  17. iic调试软件上时钟芯片测试,硬件IIC测试成功!!给大家分享一下
  18. 关于@hide的理解
  19. HTML——微信浏览器H5页面调用微信扫一扫
  20. 在Excel中插入行并复制单元格格式

热门文章

  1. 钢的基本知识01——钢的类别
  2. 云资讯 | 湖南创业者的福音来了 百度创新中心落户长沙
  3. ERwin2020导出HTML,New Features in Erwin Release 2020 R1
  4. 汨罗计算机培训,汨罗高人气的培训计算机学校-学费贵不贵
  5. AVR446:步进电机的线速度控制
  6. 嵌入式linux内核oops,Linux系统Oops
  7. springcloud 微服务鉴权_springcloud 微服务权限校验JWT模式获取 token 实战(十二)...
  8. 写意中式家居,描绘风雅东方生活美学
  9. 亮度,饱和度,对比度后处理效果
  10. PLSQL - 日期操纵函数模板IW/WW/W之区别