# zip-springboot **Repository Path**: mcan/zip-springboot ## Basic Information - **Project Name**: zip-springboot - **Description**: zip-springboot - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-05-04 - **Last Updated**: 2023-05-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 采坑Logs + 没有配置数据源Druid 报错无法运行 解决配置druid + Druid 账号admin + Druid 密码admin + 使用POST提交数据的方式 前端vue不使用proxy的方式访问接口 @RequestBody + 访问数据库设置时区 + 开发的时候还是使用本地数据库访问快 [数据库下载地址](https://dev.mysql.com/downloads/installer/) + 启动本地数据库 配置环境变量 + mysql客户端[HeidiSQL]() + 微软常用运行库合集64位 + 家的数据库是root + 公司的是123456 ```shell script # systemctl stop mysqld systemctl start docker docker start nginx docker start mysql-zip-blog docker start 18b9964d0a11 docker run -d --name zipredis -p 6379:6379 redis --requirepass "919496" docker start myredis docker run --name ziplute --detach --network=host b3log/lute-http docker run --name zipmysql01 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=919496 -d mysql docker start zipblog cd /root/newZipBlog/target #systemctl start mysqld #安装服务 mysqld --install # 初始化 mysqld --initialize-insecure #开启数据库服务 net start mysql #进入数据库 mysql -hlocalhost -uroot -p #设置密码 set password for root@localhost = password('123456'); rimraf node_modules ``` # 启动服务 ```shell script #1. 终止8080端口 netstat -tunlp|grep 8090 kill -9 pid #2. 打包成jar包 nohup java -jar zip-blog-serve-0.0.1-SNAPSHOT.jar --server.port=8090 & ``` # 镜像配置 ```xml nexus-aliyun * Nexus aliyun http://maven.aliyun.com/nexus/content/groups/public ``` # 后记 + 云服务器的操作系统是centOS7.0版本 + 网站的服务器是用的是[docker](https://www.docker.com/)引擎中的[nginx](http://nginx.org/en/download.html)镜像 + 数据库使用的是[mysql7.5](https://www.mysql.com/) + 网站部署到阿里云的[云服务器](https://ecs.console.aliyun.com/?spm=5176.100251.recommends.decs.42ce4f15O9iAsm#/home)上了【用的是学生机器每月9.9】 + [域名](https://dc.console.aliyun.com/next/index?spm=5176.100251.recommends.ddomain.25bc4f15H1RGIu#/domain/details/info?saleId=S20193Z1RIN68882&domain=arrowfield.top):http://arrowfield.top【目前还在备案中】 + 图片等静态资源是直接上传到[七牛云](https://portal.qiniu.com/kodo/bucket/resource?bucketName=zipblog)上的 + 评论系统接入的是[倡言云评论](http://changyan.kuaizhan.com/guide/index) + 前端使用[vue2.6+vue-cli](https://cn.vuejs.org/),后端用[springboot](https://spring.io/projects/spring-boot) + [云评论](https://valine.js.org/) + [阿里云ssl证书免费版](https://common-buy.aliyun.com/?spm=5176.2020520163.c1583915649459.d1583915649459.325556a7VNx5t2.325556a7VNx5t2&commodityCode=cas) ```shell script 倡言账号:15118099616 倡言密码:123456789 复制文件 cp -rf ssl/** /nginx/conf/cert Insert 插入 Esc 退出插入 : 出现退出指令 :q! 不保存文件,强制退出vi :wq 保存文件退出 ssl on; ssl_certificate ../conf/cert/4000490_arrowfield.top.pem; ssl_certificate_key ../conf/cert/4000490_arrowfield.top.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; ``` + 阿里云mysql用户账号:zip + 阿里云mysql用户密码/ecs云服务器密码:Qq768449566 + 阿里云数据库外网访问地址:rm-bp175cq2bop54228eeo.mysql.rds.aliyuncs.com:3306 + 站长之家:查看数据的密码:fzp960815 # 前后端分离的项目 + 使用token或者session进行权限验证 # springBoot高级部分 + 缓存 + 消息 + 检索 + 任务 + 安全 + 分布式和微服务 # 线上部署三件事 + 数据库保持一致 + 前端静态资源保持一致 + 后端资源保持一致 # 安装solo博客的流程 + 1.手动安装mysql ```shell script docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql # docker exec -it container_id /bin/bash #进入容器 # exit 退出mysql数据 退出容器 ``` + 1.1 [安装xshell](https://www.netsarang.com/en/xshell-download/) + 1.2 安装[mysql可视化工具](https://www.navicat.com/en/download/navicat-for-mysql#mac) + 2.运行solo ```shell script #--volume ~/skins/:/opt/solo/skins/ \ 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" \ --rm \ b3log/solo --listen_port=8000 --static_path=/gh/88250/solo/src/main/resources --static_server_scheme=https --static_server_port= --static_server_host=cdn.jsdelivr.net --server_scheme=https --server_host=blog.arrowfield.top --server_port= # 创建数据库(数据库名:solo;字符集utf8mb4;排序规则utf8mb4_general_ci) create database solo DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` ### 不使用域名,不使用https 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" \ --rm \ b3log/solo --listen_port=8080 --server_scheme=http --server_host=120.78.171.206 ``` + 3.配置nginx反向代理 + 4.配置ssl证书 包年->单域名->DV SSL->免费版->未开通 + 5.mac电脑隐藏显示文件夹 ```shell # 显示隐藏文件夹 defaults write com.apple.finder AppleShowAllFiles -bool true; KillAll Finder # 配置环境变量 echo 'eval "$(/opt/apache-maven-3.8-2.2/bin shellenv)"' >> ~/.zprofile eval "$(/opt/apache-maven-3.8-2.2/bin shellenv)" # 优化后编译java项目的脚本 mvn clean -T 1C compile -offline ``` # 总结这次搭建个人博客的整个流程 # 第一步 准备工作 + 阿里云购买ECS云服务器 【本人购买的每月9.5块的学生优惠套餐】 >这个套餐只要未满24周岁的都可以享受[阿里云学生机](https://promotion.aliyun.com/ntms/act/campus2018.html?spm=5176.14145661.J_3598540520.ace-channel-latest-activity-card.6cda1875UN2un0#stage) + 购买域名 【本人购买的是.top的域名,也很便宜】 >购买了域名后就开始着手备案的工作了,在阿里云购买的域名就在阿里云备案;响应国家的需求,目前需要再工信部备案,还要在[全国互联服务平台备案](http://www.beian.gov.cn/portal/index?token=976e2fe2-d648-4465-bd01-1c514dc59e5f);阿里云的备案效率 >还是很高的,基本上6天就搞定了; + 网站备案后申请SSL证书 >这个有阿里云有免费版的 # 第二步 对云服务器的操作 + centOS7.5服务器安装[docker镜像](https://www.runoob.com/docker/centos-docker-install.html) >1.镜像安装后,安装[容器Mysql](https://www.runoob.com/docker/docker-install-mysql.html),[Nginx服务器](https://www.runoob.com/docker/docker-install-nginx.html);2.在[阿里云安全组](https://ecs.console.aliyun.com/?spm=5176.12818093.recommends.decs.488716d0Hp8zrv#/securityGroupDetail/region/cn-hangzhou/groupId/sg-bp1hqzf5g2hh5sc3x9on/detail/intranetIngress)配置端口的暴露 重启docker的脚本:systemctl restart docker >;docker配置nginx服务器以及mysql的映射规则 ```shell script docker run \ --name=nginx01 \ -p 80:80 \ -p 443:443 \ -v /nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /nginx/logs:/var/log/nginx \ -v /nginx/html:/usr/share/nginx/html \ -v /nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf \ -v /nginx/conf.d/cert/:/etc/nginx/cert \ -d nginx ``` >目录都是自定义的 你想放哪里就是那里;-v 宿主机 : 容器;宿主机的路径自定义,但是容器的不可以,就按照我上面的就可以了; >同时使用了ssl证书 # 第三方接入 + 倡言云评 + 七牛云的oss对象存储 docker run --detach --name solo --network=host \ --env RUNTIME_DB="MYSQL" \ --env JDBC_USERNAME="root" \ --env JDBC_PASSWORD="919496" \ --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \ --env JDBC_URL="jdbc:mysql://127.0.0.1:3307/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true" \ -v /skins/:/opt/solo/skins/ \ --rm \ b3log/solo --lute_http=http://127.0.0.1:8249 --listen_port=8080 --static_server_scheme=https --static_server_host=cdn.jsdelivr.net --static_server_port= --static_path=/gh/Arrowfield/solo@4.3.2/src/main/resources --server_scheme=https --server_host=zipblog.top --server_port=