ubuntu配置springboot+vue环境

ubuntu 22.04 配置springboot+vue+nginx(出码生成)项目环境
准备工作:VMware
系统镜像:ubuntu-22.04.1-live-server-amd64.iso

一、jdk-1.8环境配置

sudo apt-get install openjdk-8-jdk
#查看安装版本
java -version

安装失败出现以下问题,更新apt源

sudo apt-get install openjdk-8-jdk
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package openjdk-8-jdk
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk

二、maven环境配置

sudo apt-get -y install maven
#查看安装版本
mvn -v
#配置文件路径
#/usr/share/maven/conf

三、安装mysql8.0

sudo apt-get install mysql-server-8.0
#查看安装版本
mysql -V
#/etc/mysql/mysql.cnf
#mysql管理员默认账号和密码
#sudo cat /etc/mysql/debian.cnf
#查看mysql状态
service mysql status

1、修改 /etc/mysql/mysql.conf.d/mysqld.cnf,[mysqld],增加忽略大小写敏感

lower_case_table_names=1
#设置空密码后可能无法登录,使用空密码登录,修改密码后需删除该配置,重启mysql
#skip-grant-tables

开启远程访问:找到并注释bind-address、mysqlx-bind-address

# bind-address          = 127.0.0.1
# mysqlx-bind-address   = 127.0.0.1

2、重新初始化MySQL

sudo service mysql stop
sudo rm -rf /var/lib/mysql/sudo mkdir /var/lib/mysqlsudo chown mysql:mysql /var/lib/mysqlsudo mysqld --initialize --user=mysql --lower-case-table-names=1 --console
#请记住初始化后控制台显示的数据库密码sudo service mysql start

3、创建mysql用户并授权

#设置skip-grant-tables属性后,使用root空密码登录
mysql -u root -p
#关闭主库只读属性
#set global read_only=0;
#flush privileges; 
#修改管理员账号
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
flush privileges; #查看用户列表
select user,host,account_locked,password_expired from mysql.user;#创建用户并授权
create user 'myuser'@'%' identified by 'mypassowrd';
GRANT all privileges ON *.* TO 'myuser'@'%';
flush privileges; #修改密码
ALTER USER 'myuser'@'%' IDENTIFIED BY '123456';
flush privileges; 

若设置数据库skip-grant-tables,则移除 /etc/mysql/mysql.conf.d/mysqld.cnf 中skip-grant-tables属性并重启mysql

service mysql restart

4、mysql数据库备份和还原

mysql -u myuser -p
create database genDbName;
#数据还原
use genDbName;
source /home/enzo/db.sql;
#查看是否还原成功
show tables;
#数据备份
mysqldump -h127.0.0.1 -P3306 -umyuser -p genDbName > /home/enzo/genDbName_20230630.sql

四、安装nginx

sudo apt-get install nginx
#查看nginx版本
nginx -v

修改nginx进程权限,找到user www-data改为user root

vim /etc/nginx/nginx.conf:
# user www-data;
user root;

nginx安装后位置:

/usr/sbin/nginx:主程序
/etc/nginx:存放配置文件
/usr/share/nginx:存放静态文件
/var/log/nginx:存放日志

nginx常用命令

#启动nginx服务命令1
sudo systemctl start nginx.service
#启动nginx服务命令2
sudo service nginx start
#关闭nginx服务命令
sudo service nginx start
#查看nginx状态
sudo systemctl status nginx.service
#重启服务
sudo systemctl restart nginx.service
#关闭nginx进程
pkill -9 nginx
#重新加载nginx配置文件
sudo nginx -s reload

五、安装nvm

下载并解压nvm
https://nvm.uihtm.com/

sudo mkdir /home/software/nvm
cd /home/software/nvm
sudo wget https://github.com/nvm-sh/nvm/archive/refs/tags/v0.39.1.tar.gz
sudo tar -zxvf v0.39.1.tar.gz
#文件夹授权
sudo chmod -R 777 /home/software/nvm

配置nvm环境变量,修改etc/profile文件,增加配置

export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/dist
export NVM_HOME=/home/software/nvm/nvm-0.39.1
[ -s "$NVM_HOME/nvm.sh" ] && \. "$NVM_HOME/nvm.sh"  # This loads nvm
[ -s "$NVM_HOME/bash_completion" ] && \. "$NVM_HOME/bash_completion"  # This loads nvm bash_completion

使配置生效

source /etc/profile

查看nvm版本

nvm -v
#查看可安装版本
nvm ls-remote
#查看已安装版本
nvm ls

安装node16.14.2

nvm install v16.14.2
node -v

安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm -v

安装pnpm

npm install -g pnpm
pnpm -v

六、项目部署

若项目文件路径存在中文或空格,重命名

sudo apt-get install unzip
cd /home/enzo
unzip -o projectName.zip

后端源码
/home/enzo/projectName/dc_base
启动脚本
/home/enzo/projectName/dc_base/bin/start.sh
部署文件
/home/enzo/projectName/dc_base/target
数据库配置文件
/home/enzo/projectName/dc_base/src/main/resources/application.yml
前端源码
/home/enzo/projectName/source-code-web-template
前端部署文件
/home/enzo/projectName/source-code-web-template/dist

1、后端编译

cd /home/enzo/projectName/dc_base
mvn clean install
cd bin
sh start.sh

项目默认端口9933
接口文档地址:
http://192.192.192.75:9933/doc.html

2、前端编译

cd /home/enzo/projectName/source-code-web-template
pnpm install 
pnpm run build

3、nginx配置

sudo vim /etc/nginx/conf.d/projectName.conf

添加代码

server {listen       81;server_name  localhost;port_in_redirect off;location / {#前端页面路径root /home/enzo/project/source-code-web-template/dist;index index.html;}location ^~/api/ {#后端接口代理地址proxy_pass http://localhost:9933/;}location /source/web {#前端demo页面路径alias /home/enzo/project/common_web_demo/web;}location ^~/source/ {#demo后端接口代理地址proxy_pass http://localhost:9933/;}}

重载nginx

nginx -s reload

服务器测试地址
http://192.192.192.75:81/

七、防火墙

#安装防火墙
sudo apt-get install ufw
#启动防火墙
sudo ufw enable
#查看防火墙状态
sudo ufw status
#开放端口
sudo ufw allow 3306/tcp
sudo ufw allow 80/tcp
sudo ufw allow 81/tcp
sudo ufw allow 9933/tcp

查看端口

sudo apt-get install net-tools
#查看端口占用情况,查看是否仅127.0.0.1
netstat -anp | grep 3306

联系方式

手机:13822161573 微信:txsolarterms QQ:419396409

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/823105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

09 SQL进阶 -- SQL高级处理 -- 窗口函数等

1. 窗口函数 1.1 窗口函数概念及基本的使用方法 窗口函数也称为 OLAP 函数。OLAP 是 OnLine AnalyticalProcessing 的简称,意思是对数据库数据进行实时分析处理。 为了便于理解,称之为窗口函数。常规的 SELECT 语句都是对整张表进行查询,而窗口函数可以让我们有选择的去某…

Spring @Transactional 注解

官方文档:https://docs.spring.io/spring-framework/reference/data-access/transaction/declarative/annotations.html#:~:textThe%20%40Transactional%20annotation%20is%20metadata,suspending%20any%20existing%20transaction%22). 推荐阅读:https:…

基于springboot实现大创管理系统【项目源码+论文说明】计算机毕业设计

基于springboot实现大创管理系统演示 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了大创管理系统的开发全过程。通过分析大创管理系统管理的不足,创建了一个计算机管理大创管理系统的方案。文章介…

Re65:读论文 GPT-3 Language Models are Few-Shot Learners

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文全名:Language Models are Few-Shot Learners ArXiv网址:https://arxiv.org/abs/2005.14165 2020 NeurIPS:https://papers.nips.cc/paper/2020/hash/1457c0d6bfcb49674…

集成sa-token实现登录和RBAC权限控制

集成sa-token实现登录和RBAC权限控制 文章目录 1.sa-token是什么?1.1简介1.2官网1.3 Sa-Token 功能一览1.4 功能结构图 2.集成sa-token及配置2.1 pom依赖2.2 yaml配置2.3 代码配置 4.RBAC权限控制表设计5.菜单权限树构造实现5.1菜单权限数据sql查询5.2菜单权限树构建…

solidity(10)

🔮 Solidity变量指南:探寻状态、局部和全局三界之秘🌌 在Solidity的神秘大陆上,变量就像是散落在时间和空间中的宝石💎,每颗都有它独特的魔力和作用域。掌握这三种变量,是成为合约法师的重要一…

Vue项目学习(一)-SQL闯关

Hello , 我是小恒不会java。今天来阅读一个Vue纯前端项目--SQL在线闯关 进步的方法除了文档书籍视频,学会阅读源代码,从代码中学会解决需求的方法也是必要的 已部署完成,在线体验:http://sql.yunduanjianzhan.cn 背景 简介 闯…

《黑神话:悟空》现已正式上架PS商城,今晚或有大动作

关于《黑神话:悟空》的消息可谓是喜闻乐见!今天晚上19:10可能会有相关游戏内容放出,让人非常期待。而海信电视推出的《黑神话:悟空》专属画质模式,让玩家可以享受到更加细腻的游戏画面。 此外,海信和《黑神…

高级感拉满的个人UI网页

效果图 PC端 移动端 部分代码 index.html <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>Zboy的主页</title><link rel"stylesheet" href"css/normalize.css" /><link rel&qu…

SAP项目任务一览表

根据SAP Activate项目管理方法论的主要精神&#xff0c;浓缩到一些主要的团队和任务。 主要的团队有&#xff1a; 项目管理(办公室)Project Management(office)&#xff1a;项目经理团队&#xff0c;包括项目办公室。负责项目整体运行和监控&#xff0c;项目办公室负责项目的…

李沐-19 卷积层【动手学深度学习v2】

记录下关于权重下标变换的理解&#xff1a; 从原来的Wi,j到Wi,j,k,l是从二维到四维的过程&#xff0c;如下图所示 对全连接层使用平移不变性(如&#xff1a;卷积核在移动过程是不变的)和局部性&#xff08;如&#xff1a;卷积核有一定大小&#xff09;得到卷积层&#xff0c;这…

【leetcode】双指针算法技巧——滑动窗口

标题&#xff1a;【leetcode】双指针算法技巧——滑动窗口 水墨不写bug 正文开始&#xff1a; 滑动窗口介绍 滑动窗口是一种常用的算法技巧&#xff0c;用于解决一些涉及 连续子数组或子串 的问题。它的基本思想是 维护一个窗口&#xff0c;通过 在窗口内移动 来寻找满…

如何查询RGB图像的三维numpy数组中有多少个不同的RGB点,并打印具体数值?

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

xgplayer插件的使用-西瓜播放器 ---- Vue3中使用

xgplayer 视频 一、xgplayer官网 xgplayer官网 - 点我进入 一、xgplayer简单介绍 西瓜播放器是字节跳动推出的一款播放器。 稳定性好&#xff08;大厂&#xff08;字节跳动&#xff09;出品&#xff09;&#xff1b;插件方便实用且简洁高雅&#xff1b;官网文档清晰&#xff1b…

[Linux - C] 自主Shell

[Linux - C] 自主Shell [Linux - C语言] 自主Shell逻辑策划 main()打印命令行 void MakeCommandLineAndPrint()用户名 USER主机名 HOSTNAME当前目录 PWDSkipPath 切割目录打印命令行 获取用户字符串 int GetUserCommand()检查重定向 void CheckRedir()切割字符 void SplitComma…

数据加密、文档加密为什么都选择安企神软件

数据加密、文档加密为什么都选择安企神软件 免费试用安企神 在数据加密和文件加密领域&#xff0c;有众多优秀的软件&#xff0c;他们功能各异、价格不同、效果也大相径庭&#xff0c;经过对比使用、用户口碑和技术网站评判&#xff0c;安企神在各方面都稳坐第一把交易。其原…

新闻媒体行业邮件推广:精准推送,创造价值

在当今信息爆炸的时代&#xff0c;新闻行业如何在竞争激烈的市场中脱颖而出&#xff0c;吸引读者的目光&#xff0c;成为了每个新闻机构都需要认真思考的问题。许可式邮件营销成为了一种强大的工具&#xff0c;不仅能够向订阅者发送新闻期刊&#xff0c;还能够向广告商发送宣传…

【基础物理实验】【AFM虚拟实验】基于AFM的物质表面微观结构及力学性质表征仿真实验(下)【北京航空航天大学】

本次实验&#xff08;上&#xff09;见博客&#xff1a;【基础物理实验】【AFM虚拟实验】基于AFM的物质表面微观结构及力学性质表征仿真实验&#xff08;上&#xff09;【北京航空航天大学】 本次实验&#xff08;中&#xff09;见博客&#xff1a;【基础物理实验】【AFM虚拟实…

LLamaSharp加载llama.cpp转化好的模型

新建.net8控制台项目 安装依赖包 LLamaSharp和LLamaSharp.Backend.Cpu 准备好转化好的模型 没有的话参考这篇文章https://blog.csdn.net/qq_36437991/article/details/137248622 编写代码 using LLama; using LLama.Common; using LLama.Native;namespace llamasharpstu…

N皇后问题(DFS解决)

文章目录 一、题目分析二、对角线判断&#xff08;分两种&#xff09;三、代码演示 先赞后看&#xff0c;养成习惯&#xff01;&#xff01;&#xff01;^ _ ^<3 ❤️ ❤️ ❤️ 码字不易&#xff0c;大家的支持就是我坚持下去的动力。点赞后不要忘了关注我哦&#xff01; 一…