搭建一个基础的个人博客

本贴最后更新于 1892 天前,其中的信息可能已经时过境迁

安装 Solo 博客程序之前,我们需要先安装如下依赖软件:

1. Java
2. MySQL
3. Nginx!

一、安装 Java

因为 Solo 是用 Java 开发的,我们要运行 Solo 必须的安装 Java 运行环境。
在 Oracle 官网下载页面下载 Linux 版的 JDK 压缩包, 然后上传到服务器。

我在服务器上创建了一个新目录 /opt/java,然后将压缩包拷贝到这个目录,然后解压:
[root@tdf ~]# mkdir -p /opt/java/
[root@tdf ~]# cd /opt/java/
[root@tdf java]# ls
jdk-8u144-linux-x64.rpm
[root@tdf java]# rpm -ivh jdk-8u144-linux-x64.rpm

测试 Java 是否安装成功:
[root@tdf java]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

二、安装 MySQL

Solo 默认使用的 H2 内存 DB,我建议最好改用 MySQL。
CentOS 7 的 yum 源中貌似没有正常安装 mysql 时的 mysql-sever 文件,需要去官网上下载

[root@tdf ~]# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
[root@tdf ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm
[root@tdf ~]# yum -y install mysql-community-server

成功安装之后重启 mysql 服务
[root@tdf ~]# systemctl restart mysqld

初次安装 mysql 是 root 账户是没有密码的
设置密码的方法
[root@tdf ~]# mysql -uroot
mysql> UPDATE mysql.user
-> SET Password = PASSWORD('你的密码')
-> WHERE User = 'root';
mysql> FLUSH PRIVILEGES;

安装成功后可以通过下面的命令测试是否安装成功:
sudo netstat -tap | grep mysql

输出类似如下:
tcp6 0 0 localhost:mysql : LISTEN 19839/mysqld

你也可以执行以下命令测试是否可以进入 MySQL:
mysql -uroot -p 你的密码

开启 MySQL 远程访问
由于使用阿里云服务器,要设置安全组规则,允许 3306 端口
MySQL 安装后默认是没有打开远程访问的,从上面的输出可以看出,它只允许 localhost 也就是本机访问。

[root@tdf ~]# mysql -uroot -p 你的密码
mysql> grant all on . to root@'%' identified by '你的密码' with grant option;
mysql> flush privileges;

然后执行 quit 命令退出 MySQL,执行以下命令重启 MySQL 服务:
[root@tdf ~]# systemctl restart mysqld

此时,再次运行 ps 命令:
sudo netstat -tap | grep mysql

输出如下,你会看到它已经不再只是监听 localhost 了:
[root@tdf ~]# netstat -tap |grep mysql
tcp6 0 0 [::]:mysql [::]:* LISTEN 23719/mysqld

现在你可以使用 MySQL 客户端测试一下是否可以从你的电脑访问服务器上的 MySQL 服务了。

三、安装 Ngnix

Solo 会在自带的 Jetty 中运行,并默认监听 8080 端口,然而我们希望通过默认的 80 访问我们的网站,所以我们需要安装一个 web server 来做请求转发。
[root@tdf ~]# sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
[root@tdf ~]# yum -y install nginx
[root@tdf ~]# systemctl start nginx.service
注意:当 httpd 开启时,nginx 启动失败,应先关闭 httpd

安装好后 nginx 会自动启动,运行 ps 命令可以查看 nginx 进程:
[root@tdf ~]# ps -ef |grep nginx
root 9512 1 0 10:19 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx 9513 9512 0 10:19 ? 00:00:00 nginx: worker process

接下来我们需要配置请求转发,打开 nginx 配置文件:
[root@tdf ~]# cat /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name www.tdf123.xyz;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}

保存退出,重启 nginx 服务:
[root@tdf ~]# systemctl restart nginx

四、安装博客程序

前面已经下载了 Solo 安装包,现在开始安装吧!
首先创建一个新目录 /opt/solo,将 Solo war 包拷贝到这个目录下,然后解压:
[root@tdf ~]# mkdir -p /opt/solo
[root@tdf ~]# cd /opt/solo/
[root@tdf solo]# jar -xvf solo-2.9.8.war

解压后,进入 latke.properties 文件:
[root@tdf solo]# cd /opt/solo/WEB-INF/classes/
[root@tdf classes]# vim latke.properties
修改 serverHost 和 serverPort:
#### Server ####
# Browser visit protocol
serverScheme=http
# Browser visit domain name
serverHost=www.tdf123.xyz(自己的域名)
serverPort=8080

保存并退出,进入 local.properties 文件:
[root@tdf classes]# vim local.properties
注释掉 H2 DB 的配置,并配置 MySQL:
#### H2 runtime ####
#runtimeDatabase=H2
#jdbc.username=root
#jdbc.password=
#jdbc.driver=org.h2.Driver
#jdbc.URL=jdbc:h2:~/solo_h2/db
#jdbc.pool=h2

#### MySQL runtime ####
runtimeDatabase=MYSQL
jdbc.username=root
jdbc.password=你的 MySQL 密码
jdbc.driver=com.mysql.jdbc.Driver
jdbc.URL=jdbc:

保存退出。

接下来创建数据库,首先执行下面命令进入 MySQL:
[root@tdf classes]# mysql -uroot -p 你的密码
然后执行下面命令创建数据库,数据库名字与 local.properties 里配置的名字要一样:
mysql> CREATE DATABASE IF NOT EXISTS solo DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql> quit

退出 MySQL,最后执行下面命令启动 Solo:
nohup java -cp WEB-INF/lib/*:WEB-INF/classes org.b3log.solo.Starter &

五、登录博客后台设置网站信息

现在可以输入你的域名访问你的网站了。首次访问时,需要初始化网站。你需要设置你的管理员帐号,然后开始初始化,Solo 会自动在 MySQL 中建立数据库表。初始化成功后就自动进入你的网站了。
进入 Solo 后台管理控制台,进入 "工具"->“偏好设定”,你可以修改你的网站名称等其他基本网站信息。
就这样,你的网站已经基本搭建完成了。
最后剩下的,也是经营个人网站最重要的,就是你需要坚持不断的发布有质量的,原创的好文!

  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    914 引用 • 930 回帖 • 1 关注

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...