栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

基于springboot + vue 的个人博客搭建过程(新手村之外的世界依旧充满魅力)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于springboot + vue 的个人博客搭建过程(新手村之外的世界依旧充满魅力)

承接上文:基于springboot + vue 的个人博客搭建过程(上线)
目前博客项目经历重构后并成功上线,接下来记录优化部分

部署优化 1. idea集成docker

    docker开启远程端口

    修改该docker服务文件

    vi /lib/systemd/system/docker.service

    修改ExecStart这行(注释后修改为如下)

    ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

    #重新加载配置文件
    systemctl daemon-reload

    重启服务 查看端口是否开启

    netstat -nlpt #如果找不到netstat命令,需进行安装 yum install net-tools

    curl测试是否生效

    curl http://127.0.0.1:2375/info

    docker远程端口加密
    点我跳转

    idea集成docker
    pom.xml相关配置

    com.spotify docker-maven-plugin 1.0.0
                
                    
                    app
                    
                    java
                    
                    raxcl raxcl@qq.com
                    
                    /ROOT
                    ["java", "-version"]
                    ["java", "-jar", "${project.build.finalName}.jar","--spring.profiles.active=prod"]
    
                    
                    
                    https://ip地址:端口号
                    D:environmentca
    
                    
                    
                        
                            /ROOT
                            
                            ${project.build.directory}
                            
                            ${project.build.finalName}.jar
                        
                    
                
            
    

到这里已经集成了docker了,可以通过docker:build命令生成镜像了。
现在再将docker:build命令集成到maven中,实现一键部署
maven参数修改

2. nginx部署ssl协议

    下载ssl相关的nginx证书并上传到服务器nginx相关位置

    修改nginx中的blog.conf配置

    server{
    # 监听端口
    listen 443 ssl;
    # 主机名称/地址
    server_name raxcl.cn www.raxcl.cn;
    index index.html;
    # https访问
    ssl_certificate /etc/nginx/ssl/raxcl.cn_bundle.crt;
    ssl_certificate_key /etc/nginx/ssl/raxcl.cn.key;
    ssl_session_timeout 5m;

主要是监听443端口和写入证书

3. nginx部署两个vue服务

配置文件多写个server(只需改一下对应静态文件地址就可以):

4. 去掉url末尾/
rewrite ^/(.*)/$ /$1 permanent;
5. 完整配置文件

docker-compose配置文件修改

version: '3'
services:
  nginx:
   image: nginx
   container_name: nginx
   ports:
    - 443:443
   links:
    - app
   depends_on:
    - app
   volumes:
    - /mnt/docker/nginx/:/etc/nginx/
    - /mnt/raxcl/blog_admin:/raxcl/blog_admin
    - /mnt/raxcl/blog_view:/raxcl/blog_view
   network_mode: "bridge"
  app:
    image: app
    container_name: app
    expose:
      - "后端端口"
    network_mode: "bridge"

4.nginx去掉末尾/

gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_comp_level 2;
gzip_vary off;
upstream appstream{
	server app:8090;
}
# http跳转到https
server{
    listen  80;
    server_name raxcl.cn www.raxcl.cn;
  # 旧写法
  # rewrite ^(.*) https://raxcl.cn/$1 permanent;
  # 新写法
    return 301 https://raxcl.cn$request_uri;
}
server{
    listen 80;
    server_name admin.raxcl.cn;
    return 301 https://$host$request_uri;

}
# www二级域名跳转至主域名
server{
    listen  443 ssl;
    server_name www.raxcl.cn;
    # ssl证书
    ssl_certificate     /etc/nginx/ssl/raxcl.cn_bundle.crt;
    ssl_certificate_key /etc/nginx/ssl/raxcl.cn.key;
    return 301 https://raxcl.cn$request_uri;
}

server{
    # 监听端口
    listen  443 ssl;
    # 主机名称/地址
    server_name raxcl.cn;
    index   index.html;
    # ssl证书
    ssl_certificate	/etc/nginx/ssl/raxcl.cn_bundle.crt;
    ssl_certificate_key	/etc/nginx/ssl/raxcl.cn.key;
    ssl_session_timeout 5m;
    # 后端api
     location /RBlog {
        proxy_pass http://appstream;
    }
    # 前端服务
     location / {
        # 去掉末尾/
        rewrite ^/(.*)/$ /$1 permanent;
        root /raxcl/blog_view;
        index index.html;
        # 刷新页面后跳转到当前页面 
        try_files $uri $uri/ /index.html;
     }
    location ~* .(jpg|jpeg|gif|png|swf|rar|zip|css|js|map|svg|woff|ttf|txt)$ {
        root /raxcl/blog_view/;
        index index.html;
        add_header Access-Control-Allow-Origin *;
    }
}
server{
    # 监听端口
    listen  443 ssl;
    # 主机名称/地址
    server_name admin.raxcl.cn ;
    index   index.html;
    # 强制https访问
    ssl_certificate     /etc/nginx/ssl/admin.raxcl.cn_bundle.crt;
    ssl_certificate_key /etc/nginx/ssl/admin.raxcl.cn.key;
    ssl_session_timeout 5m;
    # 后端api
     location /RBlog/admin {
     proxy_pass http://appstream;
    }

    # 前端服务
     location / {
        rewrite ^/(.*)/$ /$1 permanent;
        root /raxcl/blog_admin;
        # 刷新页面后跳转到当前页面
        try_files $uri $uri/ /index.html;
        index index.html;
     }
    location ~* .(jpg|jpeg|gif|png|swf|rar|zip|css|js|map|svg|woff|ttf|txt)$ {
        root /raxcl/blog_admin/;
        index index.html;
        add_header Access-Control-Allow-Origin *;
    }
}
博客系统bug点 1. 取消添加api前缀跨域配置(不美观):
**已完成**:将api改为blog,区分前后端应用
2. 博客时间是8小时以前 :
**已完成**:数据库时区修复成与宿主机对应
3. nginx跨域配置不生效 :
 **已完成**:重新理解学习nginx
4. 后端管理系统置顶异常
**已完成**: mybatis sql语句写错...这就尴尬
5. 刷新页面后,带参数的url无法识别
vue配置问题,nginx前缀问题
解决过程:[点我](https://blog.csdn.net/RAXCL/article/details/122544557)
博客系统优化项 1. 将ip访问替换为域名访问

暂定:blog.raxcl.cn 和 www.raxcl.cn
已完成:前端域名:raxcl.cn
部署博客后台,暂定域名:admin.raxcl.cn
已完成: 管理系统:admin.raxcl.cn

2. 将静态资源部署到github中

为了加快访问速度,部署的时候,可以把图片,js,css等放入七牛云存储中,加快网站访问速度
已完成: 利用github做图床,cdn访问

3. 优化博客显示界面

已完成:前端页面从码神之路重构,引入NBlog前端页面(后续继续优化)

4. 关闭多余端口

已完成: 关闭不使用的端口,增加安全性(被黑客入侵过,害怕了)

5. 实现springboot项目自动部署

已完成: idea集成docker实现一键打包并生成镜像,并传至服务器(只需在服务器中docker-compose up -d构建即可)

6. 远程主机强迫关闭现有连接

已完成:将redis配置文件的 tcp-keepalive 改为60即可

7. github主页面优化

已完成:https://github.com/Raxcl (好看了很多)

8. 优化springboot后端项目所有的阿里规范插件给的提示

已完成 : 关于markdown相关提示暂时无法完成,后续能力足够再回头弄弄

9. 将redis中的数据持久化到数据库中

已完成 : 定时任务

10. java定时任务备份mysql数据

已完成 : 跳转链接

11. ip来源:内网ip怎么理解?

已完成 :未设置nginx请求头,所以获取的ip均为nginx内网ip

# 后端api
     location /RBlog {
        proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://appstream;
    }

$remote_addr: 获取用户的真实ip
$proxy_add_x_forwarded_for: 获取用户真实ip和集群ip(推测用于集群搭建)
参考链接

12. 评论数据,可以考虑放入mongodb当中(可以增加图片评论) 13. 实现一键发布各平台博客的骚操作 14. 部署其他小项目(自己写的工具类) 15. 将jdk版本更新到最新(年轻就是要折腾) 前端 1. borad改为首页

已完成:仅仅是修改样式,很简单

2. 看板娘

挣扎再三,发现看不太懂代码,缺乏vue项目经验,还是决定搞个demo练练手
本想学这个:

但46小时,认真学的话,怎么说也要2个月,对于一个后端boy,想想还是先不急学那么深,先会看代码,改bug,写基本功能即可,于是捡起来以前没怎么学的课程:


狂神大法好!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/760015.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号