ubuntu上部署vue项目到ngixn中+SpringBoot项目+postgresql数据库

news2024/9/21 14:49:54

文章目录

  • 前提
  • 1.Ubuntu上安装ngix
  • 2.部署Vue项目
    • 2.1上传vue项目
    • 2.2.配置
  • 3.Ubuntu上安装Postgres
  • 4.部署springboot项目


前提

记一次在ubuntu部署前端vue和后端springboot项目,以及数据库postgresql的安装以及启动、停止等常用的命令。

1.Ubuntu上安装ngix

1、检查是否已经安装

nginx -v

2.安装Nginx(默认是安装到/etc/nginx) //提示:ubuntu使用apt;centos使用yum

sudo apt install nginx

3.启动nginx

sudo service nginx start

4.验证nginx是否安装成功

sudo systemctl status nginx

在这里插入图片描述
5.在浏览器直接输入服务器的ip进行访问,出现成功!
在这里插入图片描述

2.部署Vue项目

2.1上传vue项目

1.vue项目代码打包,在vscode的终端输入:

npm run build

打包成功后项目目录下生成的dist文件夹就是打包好的vue项目代码
2.将dist压缩并上传到服务器(dist.zip),用rz命令上传;文件目录自己随意创(我保存目录: /usr/ztt)
3.安装unzip解压工具:

sudo apt-get install unzip

4.解压文件命令:(看你上传的项目名叫什么,进行解压)

unzip dist.zip

2.2.配置

1.确保已经在服务器上安装了Node.js和npm,并将Vue3项目构建为静态文件。查看是否安装:

node -v
npm -v

安装:安装后再查看版本号

sudo apt install nodejs build-essential -y
sudo apt install  npm

2 . 创建一个新的Nginx配置文件,例如myapp.conf:

sudo nano /etc/nginx/conf.d/myapp.conf

在该文件中,添加以下内容:

server {
  listen 80;
  server_name your_domain_name.com;
  location / {
    root /path/to/your/vue3/project;
    index index.html;
    try_files $uri $uri/ /index.html;
  }
}

将your_domain_name.com替换为你的域名(如果没有域名,则使用服务器的IP地址)。将/path/to/your/vue3/project替换为你的Vue3项目的路径。保存并关闭文件。
3. 验证Nginx配置是否正确:

sudo nginx -t

如果没有错误,继续下一步;如果有错误,检查你的配置文件是否正确,并使用相应的修复方法。

4.重新启动nginx:

sudo service nginx restart
  1. 在浏览器中访问你的域名或服务器的IP地址,应该能够看到你的Vue3前端项目。
    在这里插入图片描述

3.Ubuntu上安装Postgres

1.ubuntu22.04自带其实是有数据库的,通过以下命令可以查看当前数据库的版本信息

apt show postgresql

在这里插入图片描述
2.如果要安装新的数据库,可以执行以下命令

sudo apt update
 
sudo apt install postgresql postgresql-contrib

postgresql-contrib 或者说 contrib 包,包含一些不属于 PostgreSQL 核心包的实用工具和功能。在大多数情况下,最好将 contrib 包与 PostgreSQL 核心 一起安装.
3.查看数据库的运行状态

sudo service postgresql status

在这里插入图片描述
4.开启、重启、关闭时的命令

#开启
sudo service postgresql start
#重启
sudo service postgresql restart
#关闭
sudo service postgresql stop

5.数据库初始化
默认情况下PostgreSQL 会创建一个拥有所权限的特殊用户 postgres 。要实际使用 PostgreSQL,你必须先登录该账户:

sudo su postgres

使用 psql 来启动 PostgreSQL Shell 输入后会看到如下界面

root@iZ2zec3etasicvrmg7svj0Z:~# sudo su postgres
postgres@iZ2zec3etasicvrmg7svj0Z:/root$ psql
could not change directory to "/root": Permission denied
psql (10.23 (Ubuntu 10.23-0ubuntu0.18.04.2))
Type "help" for help.
postgres=# 

你可以输入 \q 以退出,输入 \? 获取帮助信息
查看现有的所有表,输入如下命令 \l
在这里插入图片描述
使用 \du 命令,你可以查看 PostgreSQL 所有用户信息:
在这里插入图片描述
如果要修改用户的密码(包括 postgres )可以使用以下命令

alter USER postgres WITH PASSWORD 'Emi123++';

注意:将 postgres 替换为你要更改的用户名, my_password 替换为所需要的密码。另外,不要忘记每条命令后面的 ; (分号)。
密码修改成功会出会ALTER ROLE 如下图:
在这里插入图片描述为了数据安全尽量不要使用默认用户,新建用户命令如下

CREATE USER emiuser WITH PASSWORD 'Emi123--';

在这里插入图片描述
此时新建的用户没有任何权限,添加权限的命令如下:
在这里插入图片描述
通过\du 查看新建用户
在这里插入图片描述
输入\q 退出当前命令框
如果想要删除当前用户

DROP USER emiuser;

配置数据库为可以允许远程访问
默认情况下,PostgreSQL 服务器只接受来自本地(localhost)的连接请求。如果希望让 PostgreSQL 服务器监听来自任何网段的连接请求,可以通过修改配置文件的形式实现。
首先要修改配置文件的权限,因为默认情况下配置文件是只读文件

sudo chmod 777 /etc/postgresql/10/main/postgresql.conf
vim /etc/postgresql/10/main/postgresql.conf  #打开文件并修改

在这里插入图片描述
修改listen_addresses,最前面的注释符号#要去掉,将localhost改为* 允许所有用户访问.代表监听一切网段的主机的请求
除了修改这个文件外,还需要修改一个文件pg_hba.conf,同样修改前要提升一下文件权限

sudo chmod 777 /etc/postgresql/10/main/pg_hba.conf
vim /etc/postgresql/10/main/pg_hba.conf  #打开文件并修改

修改前:
在这里插入图片描述
修改后:
在这里插入图片描述
重启数据库

sudo service postgresql restart

把项目要用到的数据导入到库中。

4.部署springboot项目

1.使用maven打包
在这里插入图片描述
打包成功后,去相应的目录下拿到jar包。
在这里插入图片描述
2.上传到服务器后,Linux系统启动(后台)

nohup java -jar HealthManagement-1.0-SNAPSHOT.jar &

3.查看日志

tail -500f nohup.out 

在这里插入图片描述

4.查看进程号

ps -ef | grep java 

5.关闭

kill -9 [进程号]

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

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

相关文章

探索 Python 的色彩世界:Colorama 库深度解析

文章目录 🌈 探索 Python 的色彩世界:Colorama 库深度解析背景:为何选择 Colorama?Colorama 是什么?如何安装 Colorama?简单库函数使用方法场景应用示例常见问题及解决方案总结 🌈 探索 Python …

Gartner发布2024年零信任网络技术成熟度曲线:20项零信任相关的前沿和趋势性技术

大多数组织都制定了零信任信息安全策略,而网络是零信任实施领域的顶级技术。此技术成熟度曲线可以帮助安全和风险管理领导者确定合适的技术,以将零信任原则嵌入其网络中。 战略规划假设 到 2026 年,15% 的企业将在企业拥有的局域网上用 ZTNA …

HarmonyOS 质量、测试、上架速浏

1.应用质量要求: 1. 应用体验质量建议: 功能数据完备 功能完备 数据完备 基础体验要求 基础约束 兼容性 稳定性 性能 功耗 安全…

Yolov5-v7.0使用CBAM注意力机制记录

Yolov5-v7.0使用CBAM注意力机制记录 一、CBAM实现代码 在model/common.py文件中加入如下代码: #############CBAM注意力机制############## class ChannelAttention(nn.Module):def __init__(self, in_planes, ratio16):super(ChannelAttention, self).__init__(…

【Windows】激活补丁被误删,怎么办?如何关闭Windows11安全中心中的“病毒和威胁保护”!

按下“win(徽标键)i”快捷键,选择隐私与安全性-Windows安全中心。 选择防火墙和网络保护-域保护。 将开关闭,专业网络和公用网络防火墙也同样关闭,如下图所示: 关闭防火墙后,左边菜单…

改进向量搜索-使用PostgresML和LlamaIndex重新排名

改进向量搜索-使用PostgresML和LlamaIndex重新排名 搜索和重新排名:提高结果相关性 搜索系统通常采用两种主要方法:关键字和语义。关键字搜索将精确的查询词与索引数据库内容匹配,而语义搜索使用 NLP 和机器学习来理解查询上下文和意图。许多…

【踩坑系列-Docker】基于Alibaba Cloud Linux3基础镜像安装Nginx

Author:赵志乾 Date:2024-07-26 Declaration:All Right Reserved!!! 1. 问题描述 使用Alibaba Cloud Linux3作为基础镜像,在其上安装Nginx,对应的Dockerfile内容如下: …

使用 From File 模块加载数据

目录 检查模型 创建时间和信号数据 加载 timeseries 数据 加载数组数据 加载总线数据 此示例说明如何使用 From File 模块从 MAT 文件加载仿真输入数据,包括如何创建和格式化输入数据。可以通过编程方式创建您加载的数据,加载从另一个仿真中记录的数据,或加载从…

栈和队列<数据结构 C版>

目录 栈(Stack) 栈的结构体 初始化 销毁 入栈 判空 出栈 取栈顶元素 获取栈个数 测试: 队列(Queue) 队列的结构体 单个结点 队列 初始化 销毁 入队列,队尾 判空 出队列,队头 …

【YashanDB知识库】开源调度框架Quartz写入Boolean值到YashanDB报错

问题现象 Quartz 是一个广泛应用于企业级应用中的开源作业调度框架,它主要用于在Java环境中管理和执行任务。 为了任务调度,Quartz的数据模型中使用了大量的布尔值记录任务、流程的各种状态,如: Quartz使用JDBC写入任务状态代码…

【资料分享】2024第三届钉钉杯大学生大数据挑战赛B题思路解析+双语言代码

2024钉钉杯大学生大数据挑战赛,B题解题思路和双语言代码分享,资料预览:

制作excel模板,用于管理后台批量导入船舶数据

文章目录 引言I 数据有效性:基于WPS在Excel中设置下拉框选择序列内容II 数据处理:基于easyexcel工具实现导入数据的持久化2.1 自定义枚举转换器2.2 ExcelDataConvertExceptionIII 序列格式化: 基于Sublime Text 文本编辑器进行批量字符操作引言 需求: excel数据导入模板制…

【MySQL进阶之路 | 高级篇】表级锁之S锁,X锁,意向锁

1. 从数据操作的粒度划分:表级锁,页级锁,行锁 为了尽可能提高数据库的并发度,每次锁定的数据范围越小越好,理论上每次只锁定当前操作的数据的方案会得到最大的并发度,但是管理锁是很耗资源的事情&#xff…

前端开发:HTML与CSS

文章目录 前言1.1、CS架构和BS架构1.2、网页构成 HTML1.web开发1.1、最简单的web应用程序1.2、HTTP协议1.2.1 、简介1.2.2、 http协议特性1.3.3、http请求协议与响应协议 2.HTML概述3.HTML标准结构4.标签的语法5.基本标签6.超链接标签6.1、超链接基本使用6.2、锚点 7.img标签8.…

【网络安全的神秘世界】文件包含漏洞

🌝博客主页:泥菩萨 💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 一、概述 文件包含:重复使用的函数写在文件里,需要使用某个函数时直接调用此文件,而无需再…

【学习日记】函数调用 和 全局变量 如何实现 位置无关码

问题来源 在 I.MX6ull 的启动流程中,u-boot会将自身从内存一开始的位置拷贝到其他位置,以便给linux留出内存空间,防止 u-boot被覆盖如果代码中包含直接引用其链接时地址的指令,那么当代码被移动到新的地址时,这些引用…

聊聊RNNLSTM

RNN 用于解决输入数据为,序列到序列(时间序列)数据,不能在传统的前馈神经网络(FNN)很好应用的问题。时间序列数据是指在不同时间点上收集到的数据,这类数据反映了某一事物、现象等随时间的变化状态或程度,即输入内容的上下文关联…

工业现场实测,焦化厂导烟车与装煤车风机实现无人作业

一、项目背景 作为我国重要的能源行业之一,焦化行业在国民经济中扮演着重要角色,焦化工艺是高温、高压、有毒物质等因素共同作用下进行的,因此存在着安全隐患,并伴有环境污染,改善焦化工艺的安全和环保问题是当前亟待…

优选算法之前缀和(下)

目录 一、和为 k 的子数组 1.题目链接:560. 和为 K 的子数组 2.题目描述: 3.解法(前缀和 哈希表) 🌻算法思路: 🌻算法代码: 二、和可被 k 整除的子数组 1.题目链接&#xff…

MySQL中多表查询之外连接

首先先来介绍一下我做的两个表,然后再用他们两个举例说明。 -- 创建教师表 create table teachers( id_t int primary key auto_increment, -- 老师编号 name_t varchar(5) -- 姓名 ); -- 创建学生表 create table students( id_s int primary key auto_increment,…