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

文章目录

  • 前提
  • 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 updatesudo 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.mzph.cn/bicheng/51587.shtml

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

相关文章

Cuppa CMS v1.0 任意文件读取漏洞(CVE-2022-25578)

前言 春秋云镜靶场是一个专注于网络安全培训和实战演练的平台,旨在通过模拟真实的网络环境和攻击场景,提升用户的网络安全防护能力和实战技能。这个平台主要提供以下功能和特点: 实战演练: 提供各种网络安全攻防演练场景&#…

yolo模型训练出的.pt文件过大

当我们使用yolov8训练时候,保存的模型变大,如下图: 原模型 训练出来的模型 经过仔细调查,发现是保存的模型中多了很多数据。 原模型 训练出来的模型 只需要把文件中.pt文件读取,重写一遍保存。 from ultralytics im…

深入源码:解析SpotBugs (6)jvm 字节码简介

文章目录 一、JVM字节码概述一、文件结构概述二、详细解析1. 魔数和Class文件的版本2. 常量池3. 访问标志4. 类索引、父类索引与接口索引集合5. 字段表和方法表6. 属性表 字节码Spotbugs 作为一名资深的Java开发工程师,对JVM及其字节码有着深入的理解。现在&#xf…

Linux基于centOS7 【进度条】【Git】【gdb】学习

目录 进度条 进度条的前置准备 sleep (秒)& usleep(微秒) sleep加\n和不加\n的区别 IO函数的缓冲区 回车&换行 10秒倒计时 进度条编写 git的使用 为什么要有git(git版本控制器) git的主要…

江科大/江协科技 STM32学习笔记P13

文章目录 TIM定时中断1、TIM简介计数器PSC预分频器ARR自动重装寄存器 2、定时器类型基本定时器主模式触发DAC 通用定时器高级定时器 3、定时器原理定时中断基本结构预分频器时序计数器时序RCC时钟树 TIM定时中断 1、TIM简介 定时器的基准时钟一般都是主频72MHz,如果…

业绩增长新引擎:智能名片如何助力销售突破

01、智能名片,营销增长利器 在当今竞争激烈的市场环境下,企业正面临着类似品牌曝光不足、销售线索获取困难、客户关系维护复杂等诸多挑战。为帮助企业解决相关难题,促进业绩高效增长,纷享营销通的 智能名片 应运而生&#xff0…

Leetcode—74. 搜索二维矩阵【中等】

2024每日刷题&#xff08;149&#xff09; Leetcode—74. 搜索二维矩阵 实现代码 class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int m matrix.size();int n matrix[0].size();int l 0;int r m * n;int mid -1…

DB-gpt + one-api + kimi-free-api 真香

# 1. 新建文件夹 one-api 和 子目录 mkdir -p /docker/one-api/data# 运行容器one-api docker run --name one-api -d --restart always -p 3333:3000 \ -e TZAsia/Shanghai -e REDIS_CONN_STRINGredis://192.168.0.3:6379 -e SYNC_FREQUENCY60 -e SQL_DSNroot:123456tcp(192.1…

springboot整合junit-用于测试用例

package impl;public interface BookDao {public void save(); }第一步&#xff1a;打开软件&#xff0c;点击file&#xff0c;点击new 然后选择module&#xff0c;在右侧选择springboot 第二步&#xff1a;选择配置和JDK以及java版本 ①选择maven类型 ②选择JDK1.8版本 ③选…

极限两边夹定理

极限两边夹定理 1. 定义 两边夹定理 (又称作夹逼定理) 说的是&#xff0c;如果一个函数 f f f 被夹在函数 g g g 和函数 h h h 之 间&#xff0c;当 x → a x \rightarrow a x→a 时&#xff0c;这两个函数 g g g 和 h h h 都收敛于同一个极限 L L L&#xff0c;那么当…

全国区块链职业技能大赛样题第9套后端源码

后端源码地址:https://blog.csdn.net/Qhx20040819/article/details/140746050 前端源码地址:https://blog.csdn.net/Qhx20040819/article/details/140746216 智能合约+数据库表设计:https://blog.csdn.net/Qhx20040819/article/details/140746646 项目预览 登录 用户管理

LRTimelapse Pro 7.0 安装教程

软件介绍 LRTimelapse Pro (LRT) 是一款专业的延迟摄影编辑渲染工具&#xff0c;具有高清输出、简单易用、无缝转换等特点。是非常强大的一款延迟摄影工具&#xff01;LRTimelapse Pro可以将您的影片提升一个水准。 程序可以配合 Adobe Lightroom, Adobe Camera RAW 和 Adobe…

2024年孝感中级职称报名开始了吗?

2024年孝感中级职称申报终于开始了&#xff0c;之前参加过水测的小伙伴们&#xff0c;开始准备评审了 2024年孝感本批次申报时间&#xff1a;中级、初级职称网上申报时间:2024年8月1日至8月31日。 注意&#xff1a;个人通过“湖北省职称评审管理信息系统”申报&#xff0c;须先…

Llama 3.1 重磅发布,登顶开源大模型王座!

7月23日&#xff0c;Meta正式发布迄今为止最强大的开源模型——Llama 3.1 405B&#xff0c;同时发布了全新升级的Llama 3.1 70B和8B模型。 Meta在正式发布里也附上了长达92页的论文《The Llama 3 Herd of Models》&#xff0c;揭示了Llama 3模型的技术和训练细节。 论文地址&am…

Jacoco 单元测试配置

前言 编写单元测试是开发健壮程序的有效途径&#xff0c;单元测试写的好不好可以从多个指标考量&#xff0c;其中一个就是单元测试的覆盖率。单元测试覆盖率可以看到我们的单元测试覆盖了多少代码行、类、分支等。查看单元测试覆盖率可以使用一些工具帮助我们计算&#xff0c;…

图解RocketMQ之生产者如何进行消息重试

大家好&#xff0c;我是苍何。 上一篇留了一个小问题&#xff0c;如果消费者出现异常&#xff0c;消费某一条消息失败&#xff0c;这时候 RocketMQ 会怎么处理呢&#xff1f; 你可能会用你聪明绝顶的脑袋瓜子想&#xff0c;苍何你是不是傻&#xff0c;失败了肯定重试啊&#…

单据新增,限制单据栏位的录入值,设置过滤条件

希望通过开发实现 单据头的组织栏位,只能选择101开头的组织,实现的效果如下: 代码如下: using Kingdee.BOS.Util; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using System.ComponentModel;namespace cux.button.test {…

基于opencv的人脸识别(实战)

前言 经过这几天的学习&#xff0c;我已经跃跃欲试了&#xff0c;相信大家也是&#xff0c;所以我决定自己做一个人脸识别程序。我会把自己的思路和想法都在这篇博客内讲清楚&#xff0c;大家可以当个参考&#xff0c;&#x1f31f;仅供学习使用&#x1f31f;。 &#x1f31f…

分享10个好用的论文编辑服务/平台

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 如果您对自己的学术写作能力存在怀疑&#xff0c;论文编辑服务/平台或许能提供帮助。为了帮助您做出更好的选择&#xff0c;今天的分享我们列出了2024年“全网”最好用的10个论文编辑服…

怎么样建设数字化车间?

建设数字化车间是一个综合性的过程&#xff0c;旨在通过现代信息技术、智能设备和自动化技术对车间进行优化改造&#xff0c;提高生产效率和产品质量。以下是一些关键步骤和要点&#xff0c;用于指导数字化车间的建设&#xff1a; 一、明确建设目标和需求 分析现状&#xff1…