ubuntu配置springboot+vue项目运行环境

ubuntu 22.04 配置springboot+vue+nginx(出码生成)项目运行环境

准备工作:VMware
系统镜像:ubuntu-22.04.1-live-server-amd64.iso
安装教程:https://blog.csdn.net/qq_41779565/article/details/127061039

一、jdk-1.8环境配置

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

如果安装失败出现以下问题,多数是因为apt更新源的问题,更新一下源就ok了

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-addressmysqlx-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/mysql

sudo chown mysql:mysql /var/lib/mysql

sudo 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

你可能感兴趣的:(ubuntu,spring,boot,vue.js)