从零搭建solo个人博客网站


前言

很久就想搭建一个自己的专属博客网站,用来记录与分享一些技术相关的文章,算做一个备忘录,以便把自己所学进行系统梳理,整理成文,方便以后回顾与巩固。本文记录了我从零搭建该博客网站,从购买服务器,到配置服务器,再到完成个人博客网站的搭建,总共两小时完成。

要成功搭建一个网站,需要完成以下几个主要步骤:

  1. 购买服务器

  2. 购买域名及备案

  3. 安装依赖软件

  4. 安装博客程序

  5. 登录博客后台设置网站信息

本文接下来将依次详细介绍每一个步骤。

1. 购买服务器

我购买的阿里云服务器ECS,操作系统镜像选择的Ubuntu系统。以前也没有使用过其他的服务器,没法比较优劣。想来阿里云不会差,毕竟是大厂的。

点击这里去阿里云官网上选择一款合适的服务器吧。购买后,登录阿里云管理控制台,进入云服务器ECS就可以看到你的服务器实例。实例会自动启动,几分钟就运行起来了。当你看到状态是运行中,表明已经启动成功了。你也可以看到这个实例的公网IP,你可以用远程SSH工具登录到这个IP进行服务器管理。

另外,很重要很重要的是,你需要添加安全组规则,就是添加外部可以访问的端口。默认只开启了22端口。对于搭建网站,你必须要开通80端口,否则网站将无法访问。你可以开通其他端口,比如MySQL的端口,以便以后远程登录数据库查看数据。

2. 购买域名与备案

服务器购买好后,你需要选择一个域名。这个不用多说,去阿里云旗下万网购买一个。

购买后,你需要进行备案。备案对于中国大陆的服务器是必须的,否则就算你域名解析成功了,也是会被和谐掉的,所以去这里备案吧!

3. 安装依赖软件

由于Solo是基于Java的开源博客系统,安装Solo之前,我们需要先安装如下依赖软件:

  1. Java

  2. MySQL

  3. Nginx

3.1 安装Java

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

我在服务器上创建了一个新目录/opt/java,然后将压缩包拷贝到这个目录,然后解压:

tar -zxvf jdk-8u171-linux-x64.tar.gz

接下来设置环境变量,用vi编辑器打开/etc/profile文件:

vi /etc/profile

在文件开头添加如下内容:

JAVA_HOME=/opt/java/jdk1.8.0_171 
JRE_HOME=/opt/java/jdk1.8.0_171/jre 
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin 
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib 
export JAVA_HOME JRE_HOME PATH CLASSPATH

然后保存别执行以下命令使其生效:

source /etc/profile

最后在任意目录执行下面命令来测试Java是否安装成功:

java -version

如果你看到类似下面的输出,说明已经安装成功了:

java version "1.8.0_171" 
Java(TM) SE Runtime Environment (build 1.8.0_171-b11) 
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

3.2 安装MySQL

Solo默认使用的H2内存DB,我建议最好改用MySQL

3.2.1 安装MySQL

首先分别执行下面三条命令:

sudo apt-get install mysql-server 
sudo apt isntall mysql-client 
sudo apt install libmysqlclient-dev

安装过程中,要求设置root用户的密码,请一定记住这个密码。

安装成功后可以通过下面的命令测试是否安装成功:

sudo netstat -tap | grep mysql

输出类似如下:

tcp6 0 0 localhost:mysql *:* LISTEN 19839/mysqld

你也可以执行以下命令测试是否可以进入MySQL

mysql -uroot -p你的密码
3.2.2 开启MySQL远程访问

MySQL安装后默认是没有打开远程访问的,从上面的输出可以看出,它只允许localhost也就是本机访问。

我们可以编辑/etc/mysql/mysql.conf.d/mysqld.cnf文件:

vi /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address = 127.0.0.1注释掉:

#bind-address = 127.0.0.1

保存退出,然后执行如下命令进入MySQL

mysql -uroot -p你的密码

然后执行以下命令进行授权:

grant all on *.* to root@'%' identified by '你的密码' with grant option; 
flush privileges;

然后执行quit命令退出MySQL,执行以下命令重启MySQL服务:

service mysql restart

此时,再次运行ps命令:

sudo netstat -tap | grep mysql

输出如下,你会看到它已经不再只是监听localhost了:

tcp6 0 0 [::]:mysql [::]:* LISTEN 19839/mysqld

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

3.3 安装Ngnix

Solo会在自带的Jetty中运行,并默认监听8080端口,然而我们希望通过默认的80访问我们的网站,所以我们需要安装一个web server来做请求转发。

Ubuntu系统中安装Nginx超简单,一条命令搞定:

sudo apt-get install nginx

安装好后nginx会自动启动,运行ps命令可以查看nginx进程:

> ps -ef | grep nginx 
root     20435     1 0 Jun25 ? 00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; 
www-data 20436 20435 0 Jun25 ? 00:00:01 nginx: worker process

接下来我们需要配置请求转发,打开nginx配置文件:

vi /etc/nginx/nginx.conf

http节点内最后加上如下内容:

server {
        listen                  80;
        server_name             www.yglong.com;
        location / {
                proxy_pass              http://127.0.0.1:8080;
                proxy_redirect          off;
                proxy_set_header        Host $host;
                proxy_set_header        X-Real-IP $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

保存退出,重启nginx服务:

service nginx restart

4. 安装博客程序

接下来就是安装博客程序了。有很多的开源博客程序,目前最火的应该是WordPress,用PHP开发的开源博客系统。但是由于我不熟悉PHP,所以选择了一款Java开源博客系统:Solo

点击这个下载链接,或者通过上面的官网再进入Github找到下载链接,下载到Solo的war包。然后通过FTP工具上传到服务器。

上传Solo包后,创建一个新目录/opt/solo,将Solo war包拷贝到这个目录下,然后解压:

jar -xvf solo-2.9.1.war

解压后,进入latke.properties文件:

vi /opt/solo/WEB-INF/classes/latke.properties

修改serverHostserverPort

#### Server ####
# Browser visit protocol
serverScheme=http
# Browser visit domain name
serverHost=www.yglong.com
# Browser visit port, 80 as usual, THIS IS NOT SERVER LISTEN PORT!
serverPort=80

保存并退出,进入local.properties文件:

vi /opt/solo/WEB-INF/classes/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://localhost:3306/solo?useUnicode=yes&characterEncoding=utf8
jdbc.pool=druid

保存退出。 接下来创建数据库,首先执行下面命令进入MySQL

mysql -uroot -p你的密码

然后执行下面命令创建数据库,数据库名字与local.properties里配置的名字要一样:

CREATE DATABASE IF NOT EXISTS solo DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

退出MySQL,最后执行下面命令启动Solo

nohup java -cp WEB-INF/lib/*:WEB-INF/classes org.b3log.solo.Starter &

5. 登录博客后台设置网站信息

现在可以输入你的域名访问你的网站了。首次访问时,需要初始化网站。你需要设置你的管理员帐号,然后开始初始化,Solo会自动在MySQL中建立数据库表。初始化成功后就自动进入你的网站了。

进入Solo后台管理控制台,进入工具->偏好设定,你可以修改你的网站名称等其他基本网站信息。

就这样,你的网站已经基本搭建完成了。

最后剩下的,也是经营个人网站最重要的,就是你需要坚持不断的发布有质量的,原创的好文!


文章作者: yglong
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 yglong !
评论
  目录