Solo  当前访客:5 开始使用

记一次站点服务恢复搭建的过程


背景

由于之前阿里云服务器过期时间没有注意,导致服务器被销毁,数据丢失。好在再很久之前还有数据备份,本次把重新搭建过程记录了下

搭建过程

安装docker

服务器除ngInx之外都要基于docker, 所以先安装docker

最初选择的是ubuntu16.x,版本太低,导致直接apt-get安装失败,先升级系统到ubuntu 20.x

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

安装nginx

apt-get install nginx

安装mysql

docker pull mysql:latest

启动数据库并设置用户访问权限

$ docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

设置用户远程访问

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
FLUSH PRIVILEGES;

如果在客户端连接出现以下错误

2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen

mysql 8 之前的版本中加密规则是mysql_native_password,而mysql8之后,加密规则是caching_sha2_password,解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password。

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;   #修改加密规则 

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';   #更新一下用户的密码 

连接成功之后,创建库表即可

安装solo blog

docker pull b3log/solo

启动服务即可

docker run --detach --name solo --network=host 
    --env RUNTIME_DB="MYSQL"
    --env JDBC_USERNAME="root"
    --env JDBC_PASSWORD="123456"
    --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&allowPublicKeyRetrieval=true"
    b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost --server_port=

设置ssh

阿里云申请免费证书

然后在nginx配置ssh

server {
    listen 443 ssl;
    #配置HTTPS的默认访问端口为443。
    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
    server_name yourdomain;
    root html;
    index index.html index.htm;
    ssl_certificate cert/cert-file-name.pem;  
    ssl_certificate_key cert/cert-file-name.key; 
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    #表示使用的加密套件的类型。
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型,您需要自行评估是否配置TLSv1.1协议。
    ssl_prefer_server_ciphers on;
    location / {
        root html;  #Web网站程序存放目录。
        index index.html index.htm;
    }
}

项目docker改造

将原先单独启动的java项目改造为docker启动

创建dockerfile文件

FROM openjdk:8u121-alpine
RUN apk update && apk add bash
ENV TZ=Asia/Shanghai
EXPOSE 8022
COPY . /app/
ENTRYPOINT [ "java", "-jar", "/app/start.jar", "--port=8022", "--webroot=/app/WebRoot" ]


标题:记一次站点服务恢复搭建的过程
作者:hugh524
地址:https://blog.uproject.cn/articles/2022/12/25/1671946251651.html

, 0 0