记一次站点服务恢复搭建的过程
背景
由于之前阿里云服务器过期时间没有注意,导致服务器被销毁,数据丢失。好在再很久之前还有数据备份,本次把重新搭建过程记录了下
搭建过程
安装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