介绍一个开源博客项目并部署到Nginx服务器,Java开发需要学什么
(2) V部落博客管理平台首页
点击登录成功后可以进入V部落博客管理项目的首页
(3) 文章列表
(3) 发表文章
(4) 用户管理
(5) 栏目管理
(6) 数据统计
2 技术栈
2.1 后端技术
SpringBoot
SpringSecurity
MyBatis
部分接口遵循Restful风格
MySQL
2.2 前段技术
Vue
.axios
ElementUI
vue-echarts
mavon-editor
vue-router
还有其他一些琐碎的技术我就不在这里一一列举了。
3 快速运行
3.1 克隆项目到本地
git@github.com:lenve/VBlog.git
3.2 执行建表和初始化表数据的sql
这里笔者使用root账户为访问vueblog2数据库创建的一个新的用户vueblog
-- 本地开发环境创建vueblog用户和登录密码CREATE USER 'vueblog'@'localhost' IDENTIFIED by 'vueblog2021#';-- 本地开发环境授权vueblog2数据库中表的增删改查权限给vueblog用户GRANT CREATE,DROP,ALTER,INSERT,UPDATE,SELECT,DELETE on vueblog2.* to 'vueblog'@'localhost' with grant OPTION;-- linux服务器生产环境用户和密码设置CREATE USER 'vueblog'@'%' IDENTIFIED by 'blog2021';GRANT CREATE,DROP,ALTER,INSERT,UPDATE,SELECT,DELETE on vueblog2.* to 'vueblog'@'%' with grant OPTION;-- 开发环境和生产环境都需要执行的sqlFLUSH PRIVILEGES;
在linux服务器上创建vueblog
用户后可能会发现登录被拒,这时候需要执行如下sql
脚本查看是否创建成功
use mysql;SELECT * from user where User='vueblog';
如果创建vueblog
不成功则需要执行如下sql查看用户名和密码是否符合Mysql的规则,并根据规则做出修改
show VARIABLES like 'validate_%';
3.3 修改配置文件
#激活本地开发环境spring.profiles.active=devserver.port=8081
application-dev.properties
配置文件内容:
spring.datasource.type=com.alibaba.druid.pool.DruidDataSourcespring.datasource.url=jdbc:mysql://localhost:3306/vueblog2?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghaispring.datasource.username=vueblogspring.datasource.password=vueblog2021#
application-prod.properties
配置文件内容:
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource# 打包到Linux服务器上时使用spring.datasource.url=jdbc:mysql://localhost:3306/vueblog2?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghaispring.datasource.username=vueblogspring.datasource.password=blog2021
3.4 本地运行blogserver
项目
在IntelliJ IDEA中
以Debug模式运行blogserver
项目
2021-05-23 21:40:06.768 INFO 9400 --- [ main] o.s.s.c.ThreadPoolTaskScheduler : Initializing ExecutorService 'taskScheduler'2021-05-23 21:40:06.846 INFO 9400 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8081 (http) with context path ''2021-05-23 21:40:06.849 INFO 9400 --- [ main] org.sang.BlogserverApplication : Started BlogserverApplication in 4.025
3.5 本地运行vueblog
项目
vueblog
项目是一个前端vue项目。进入到vueblog目录中,鼠标右键->执行Git Bash Here命令在控制台中行依次输入如下命令:
# 安装依赖npm install# 在 localhost:8080 启动项目npm run dev
这时候在浏览器中输入http://localhost:8080就能进入项目的登录页面了
5 部署到Linux服务器
5.1 后端blogserver
项目打包部署
[INFO] --- maven-jar-plugin:3.1.2:jar (default-jar) @ blogserver ---[INFO] Building jar: D:\SpringBootProject\VBlog\blogserver\target\blogserver-0.0.1-SNAPSHOT.jar[INFO][INFO] --- spring-boot-maven-plugin:2.2.7.RELEASE:repackage (repackage) @ blogserver ---[INFO] Replacing main artifact with repackaged archive[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 11.271 s[INFO] Finished at: 2021-05-23T22:15:44+08:00[INFO] ------------------------------------------------------------------------
此时进入blogserver
项目的target目录下可以看到生成了一个jar包格式的文件:blogserver-0.0.1-SNAPSHOT.jar
(2)使用XShell6
ssh客户端连接软件登录自己的Linux云服务器,执行cd /usr/local
命令进入/usr/local
目录
(4) 执行cd ./vueblog
命令进入/usr/local/vueblog
目录后执行mkdir logs
命令创建日志文件夹
(5) 在当前目录执行vim startup.sh
命令创建项目的启动bash脚本文件
#!/bin/bashjar_name=blogserver-0.0.1-SNAPSHOT.jarport=8081log_path=./logsID=`ps -ef | grep $port | grep -v "grep" | awk '{print $2}'`echo $IDif [ {$ID} ]; thenecho 'App is Running,Kill the Proccess!'kill -9 $IDecho 'Stop Success!'fi rm -rf $log_pathmkdir $log_pathecho 'Start to Running the Application!'nohup java -jar -Dlogging.path=$log_path -Dspring.profiles.active=prod $jar_name>$log_path/catalina.out 2>&1 &tail -f $log_path/catalina.out
编辑完成后按esc
键的同时输入":"号,然后输入wq
命令回车保存退出
(6) 在当前目录执行vim stop.sh
命令创建项目的关闭bash脚本文件
#!/bin/bashport=8081ID=`ps -ef | grep $port | grep -v "grep" | awk '{print $2}'`if [ ${ID} ]; thenecho 'the application process id is $ID'echo 'kill the prcocess!'kill -9 $IDecho 'stopped the application success!'elseecho 'the application is already stopped!'fi
(7) 给项目启动和关闭bash脚本文件授予读、写和执行权限
chmod 775 startup.sh stop.sh
./startup.sh
LOGBACK: No context given for c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@1748225580. ____ _ __ _ _/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) )' |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot :: (v2.2.7.RELEASE)2021-05-22 18:59:30.899 INFO 24260 --- [ main] org.sang.BlogserverApplication : Starting BlogserverApplication v0.0.1-SNAPSHOT on VM_0_10_centos with PID 24260 (/usr/local/vueblog/blogserver-0.0.1-SNAPSHOT.jar started by root in /usr/local/vueblog)2021-05-22 18:59:30.901 INFO 24260 --- [ main] org.sang.BlogserverApplication : The following profiles are active: prod2021-05-22 18:59:34.055 INFO 24260 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8081 (http)2021-05-22 18:59:34.080 INFO 24260 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]2021-05-22 18:59:34.080 INFO 24260 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.34]2021-05-22 18:59:34.233 INFO 24260 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext2021-05-22 18:59:34.233 INFO 24260 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 3197 ms
5.3 前端vueblog
项目部署
修改vueblog/config
目录下的index.js
文件中build配置项中的assetsPublicPath
属性的值为 '/vueBlog/'
最后
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。
最新整理面试题
上述的面试题答案都整理成文档笔记。
也还整理了一些面试资料&最新2021收集的一些大厂的面试真题,有需要的可以点击这里,免费获取
最新整理电子书
最新整理大厂面试文档
197 ms
###### [](https://gitee.com/vip204888/java-p7)5.3 前端`vueblog`项目部署(1) 修改配置文件修改`vueblog/config`目录下的`index.js`文件中build配置项中的`assetsPublicPath`属性的值为 `'/vueBlog/'`## 最后针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。> 最新整理面试题
> [外链图片转存中...(img-HwatAPmj-1628610983625)]> 上述的面试题答案都整理成文档笔记。
> 也还整理了一些面试资料&最新2021收集的一些大厂的面试真题,**有需要的可以[点击这里,免费获取](https://gitee.com/vip204888/java-p7)**> 最新整理电子书[外链图片转存中...(img-SK9w41Y7-1628610983628)]> 最新整理大厂面试文档[外链图片转存中...(img-M3sPgTPL-1628610983629)]以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
介绍一个开源博客项目并部署到Nginx服务器,Java开发需要学什么相关推荐
- 介绍一个开源博客项目并部署到Nginx服务器
0 前言 对于很多喜欢写博客的IT程序员朋友可能都会有一个搭建自己的博客网站的梦想,今天我要介绍的这个开源项目恰好能帮你实现这个愿望.这个开源项目由国内IT大牛"江南一点雨"贡献, ...
- 开源博客项目eblog完整搭建教程!
博客项目名称:eblog 项目 Git 仓库:https://github.com/MarkerHub/eblog(给个 star 支持哈) 项目演示地址:https://markerhub.com: ...
- 【云服务器】基于docker容器部署Halo项目的个人博客搭建并部署到云服务器
目录 1 docker快速部署halo个人博客 2 主题设置(本文使用的是M酷Joe 2.0版本的主题,下载链接放在下面了) 2.1 API报错解决方案 2.2 首页分栏设置 2.3 轮播图的修改 2 ...
- 开源博客项目Blog .NET Core源码学习(2:数据库结构分析)
项目采用17张表以支撑博客内容展示及后台管理功能,本文结合数据库表中的存储数据,学习每张表的用途及其中字段的意义(有部分字段暂时还不明白,后续学习代码时再逐步完善). 序号 表名 用途 1 Cat ...
- 分享一个开源博客-Jackblog
2019独角兽企业重金招聘Python工程师标准>>> Jackblog 是使用 Node.js + MongoDB + 其它客户端框架开发的个人博客系统,前后端分离,仿简书模板,自 ...
- Vue项目打包部署到Nginx服务器步骤总结
前期准备工作: 1. 准备一台服务器: 2. 根据服务器的系统环境安装配置Nginx; 3. 了解Nginx的配置文件,了解常用的linux系统操作命令 4. 进行Vue项目的打包部署 因为我只是单纯 ...
- vue项目打包部署linux_Vue项目打包部署到Nginx服务器
"随着前后端分离项目的流行,vue项目开发部署也成为了前端人员必备技能:本文将带你学习vue项目部署及遇到的各种坑." 关于vue项目部署不得不提的是配置文件vue.config. ...
- vue项目如何部署到nginx服务器
mac下安装nginx 安装工具: homebrew(还没用过的小伙伴可以点链接进行了解或者自行百度) 步骤: 1.打开终端,习惯性命令:更新 brew update 2.终端继续执行命令: brew ...
- 【Vue+SpringBoot】超详细!一周开发一个SpringBoot + Vue+MybatisPlus+Shiro+JWT+Redis前后端分离个人博客项目!!!【项目完结】
项目目录 资源准备 前后端分离项目 技术栈 Java后端接口开发 1.前言 2.新建Springboot项目 3.整合mybatis plus 3.统一结果封装 4.整合shiro+jwt,并会话共享 ...
最新文章
- AI四巨头Google、DeepMind、Microsoft、Uber深度学习框架大比拼
- linux 编程之库的使用(学习笔记)
- Jmeter之定时器操作
- Pytorch CookBook
- Flutter:Navigator2.0介绍及使用
- 习题3.11 表达式转换 (25分)
- 面向对象——面向客户端编程
- Bzoj2882 工艺
- vue源码解析-实现
- 利用python实现华氏温度和摄氏温度的转换
- (C语言之复习demo_10-自我复习使用-可供参考)_if 的四种句型深入解析,附带集合文氏图详解
- 工作英语: Meetings
- C++ VTK VMTK 提取血管中心线
- 在 cmd 中启动 Android 模拟器
- oracle sy imp,oracle逻辑备份imp/exp 示例用法【转】
- 基于3D Sensor的触控与悬控高性能方案
- HDU Tody HDU2112
- 软件工程——Alpha(2/3)
- 如何用大数据进行咖啡店选址要素分析
- 连接ARM设备的两种方式
热门文章
- 值得您收藏的png图标第三辑
- 医院信息化-1 信息系统概况
- 六合一串口模块使用说明
- Unity3D笔记第八天——音频处理
- java 2进制字符串移位,Java中处理二进制移位
- Altium Designer学习笔记——电流回路注意事项
- 关于AHT20温湿度传感器的学习以及使用altium designe绘制AHT20数据采集原理电路的过程
- 高并发数据结构Disruptor解析(5)
- 给大家介绍几个数据分析,数据可视化的网站合集
- mysql r创建用户名_MySQL_mysql database manual(mysql数据库手册),2.1登入到mysql控制台[用户名为r - phpStudy...