当前位置: 首页 > news >正文

Linux之nginx部署项目【前后端分离】(外加redis安装)

nginx安装和访问

1.使用apt安装Nginx

apt install -y nginx

用whereis nginx找到和nginx相关目录 

  • nginx目录结构

    • /usr/sbin/nginx 服务文件

    • /etc/nginx 配置目录

    • /usr/share/nginx/html 发部项目

  • 服务名: nginx.service

  • ps -ef | grep nginx

  • apt install -y net-tools

  • netstat -tlnp 显示tcp协议进程pid端口使用情况

 安装“net-tools”查看进程协议占用情况

 apt install net-tools

再用:netstat tlnp查看

 2.防火墙配置

开放端口:ufw allow 80/tcp


 redis安装

安装:

apt install -y redis-server

查看安装结果redis-server.service

  也可以查看服务状态:systemctl status redis-server

查看安装位置信息查找:whereis redis-server 和whereis redis

  1. 服务命令:/usr/bin/redis-server
  2. 配置目录:/etc/redis

/etc/redis下的conf配置文件:

后台运行

密码设置(如图是不设密码,要设密码解开注释用密码替换foobared)

远程访问配置(替换为0.0.0.0允许任何远程连接)

检查是否安装成功运行redis-cli再ping回复pong安装成功exit退出 


部署项目前端

下载地址:RuoYi-Vue: 🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本 - Gitee.com

1.解压文件获取前端:

2.打包你的前端(在ruoyi-ui文件下打开终端没下依赖就先:npm install ):npm run build:prod

3.将打包好的静态资源(RuoYi-Vue-v3.8.5\ruoyi-ui\dist内所有文件)压缩成zip格式的压缩包

4.dist.zip部署到nginx中

 部署位置:/usr/share/nginx/html

先将内部的index.html删除:rm -rf index.html

上传dist.zip :rz

5.Ubuntu中解压文件:unzip dist.zip

先下载工具:apt install -y unzip


后端项目部署

1.打包项目:

ruoyi/ruoyi-admin模块下修改pom.xml,将原本jar改为war

指定位置加入

<exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
</exclusions>

修改日志文件存放地址

他的配置文件在:RuoYi-Vue-v3.8.5\ruoyi-admin\src\main\resources下的 logback.xml

可修改也可不修改(都要在设置好的目录创建文件夹)

在使用maven的打包命令:mvn package        

在RuoYi-Vue-v3.8.5\ruoyi-admin\target下

转为zip格式上传到Ubuntu中/usr/local/apache-tomcat-8.5.20/webapps/ROOT(将ROOT中文件删除清空)

然后解压它:unzip ruoyi-admin.zip


用MySQL导入数据


将/etc/nginx中的nginx.conf删除


保险起见全部重启:

重启tomcat:systemctl  restart tomcat

重启nginx:systemctl retart nginx

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Elasticsearch在高并发下如何保证读写一致性
  • 【面试05】PID控制算法
  • git创建本地分支并track跟踪远程分支
  • 两步解决yum无法安装软件问题:Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64
  • 云动态摘要 2024-09-04
  • Spring Security中的BCrpt介绍,及其与SHA-256的对比
  • 【图论】Dijkstra算法求最短路
  • OrangePi AIpro 香橙派 昇腾 Ascend C 算子开发 与 调用 - Tiling实现 2
  • 使用Nginx获取客户端真实IP(real_ip_header)
  • 第三章 数组 课后训练(4)
  • mysql学习教程,从入门到精通,MySQL创建数据库教程(5)
  • C++ | Leetcode C++题解之第391题完美矩形
  • 【drools】kie:官方仓库clone 遇到问题解决
  • Select模型
  • VMware Workstation v17.6 中文注册精简版
  • CSS3 变换
  • Intervention/image 图片处理扩展包的安装和使用
  • isset在php5.6-和php7.0+的一些差异
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • java第三方包学习之lombok
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • win10下安装mysql5.7
  • 仿天猫超市收藏抛物线动画工具库
  • 工作手记之html2canvas使用概述
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 终端用户监控:真实用户监控还是模拟监控?
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • ​数据链路层——流量控制可靠传输机制 ​
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #13 yum、编译安装与sed命令的使用
  • (floyd+补集) poj 3275
  • (js)循环条件满足时终止循环
  • (k8s)Kubernetes本地存储接入
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (二)linux使用docker容器运行mysql
  • (二)换源+apt-get基础配置+搜狗拼音
  • (算法设计与分析)第一章算法概述-习题
  • (转)Sublime Text3配置Lua运行环境
  • .htaccess配置重写url引擎
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .NET使用存储过程实现对数据库的增删改查
  • .NET之C#编程:懒汉模式的终结,单例模式的正确打开方式
  • //TODO 注释的作用
  • [ SNOI 2013 ] Quare
  • [ 云计算 | Azure 实践 ] 在 Azure 门户中创建 VM 虚拟机并进行验证
  • [AIGC] Spring Interceptor 拦截器详解
  • [BZOJ 2142]礼物(扩展Lucas定理)
  • [C++]:for循环for(int num : nums)
  • [C和指针].(美)Kenneth.A.Reek(ED2000.COM)pdf
  • [datastore@cyberfear.com].Elbie、[thekeyishere@cock.li].Elbie勒索病毒数据怎么处理|数据解密恢复
  • [FC][常见Mapper IRQ研究]
  • [HNOI2006]鬼谷子的钱袋
  • [jobdu]不用加减乘除做加法
  • [k8s源码]7.indexer