LINUX部署微服务项目步骤

news2025/1/31 6:50:43

项目简介技术栈

主体技术:SpringCloud,SpringBoot,VUE2,

中间件:RabbitMQ、Redis

创建用户

在linux服务器home下创建用户qshh,用于后续本项目需要的环境进行安装配置


#创建用户
useradd 用户名
#设置登录密码
passwd 用户名 密码

JDK安装及配置

JDK是Java程序运行的基础环境


#在qshh用户下进行操作,创建目录
mkdir -p /home/qshh/jdk/instance

#切换目录
cd /home/qshh/jdk/instance

#上传jdk-8u202-linux-x64.tar.gz

#解压
tar -zxf jdk-8u351-linux-x64.tar.gz #得到jdk1.8.0_351目录

#环境变量、回到用户根目录
vi .bash_profile #编辑文件 添加以下内容

#jdk
PATH=/home/qshh/jdk/instance/jdk1.8.0_351/bin:$PATH

#配置文件生效
source .bash_profile 

#验证
java -version
#显示
java version "1.8.0_351"
Java(TM) SE Runtime Environment (build 1.8.0_351-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.351-b08, mixed mode)

创建jar包目录,以及后台运行的命令


mkdir -p /home/qshh/instance/

//使运行jar包当前shell连接也能正常运行
nohup java -jar XXX.jar &

//查看jar运行的线程等信息
ps aux|grep xxx.jar

Nginx安装及配置

下载Nginx所需要的依赖


//root用户
yum install epel-release -y
yum -y install unzip zip zlib zlib-devel openssl openssl-devel pcre pcre-devel gcc gcc-c++ autoconf automake make psmisc net-tools lsof vim  wget -y

创建nginx安装目录并编译安装


#qshh用户
mkdir -p /home/qshh/nginx/make

#进入该目录,并且把nginx安装包上传到该目录下
cd /home/qshh/nginx/make

#解压得到nginx-1.18.0目录
tar -zxf nginx-1.18.0-src.tar.gz

#编译配置
cd nginx-1.18.0
./configure --prefix=/home/qshh/nginx/instance/nginx-1.18.0 --with-stream --with-http_ssl_module --with-http_realip_module

#编译并安装
make && make install

配置qshh用户下的nginx环境


#qshh用户根目录
vi .bash_profile

#添加以下配置
#nginx
PATH=/home/qshh/nginx/instance/nginx-1.18.0/sbin:$PATH

#配置立即生效
source .bash_profile

#验证是否安装好
nginx -v

nginx的启动相关命令


#查看nginx运行情况
ps -ef | grep nginx

#启动nginx,进入nginx的安装目录下的sbin执行
./nginx

#获取nginx执行的进程号
ps -C nginx -o pid

#sbin重启,即读取配置文件
./nginx -s reload

Nacos安装及配置

nacos安装


#创建目录
mkdir -p /home/qshh/nacos/instance

#切换目录
cd /home/qshh/nacos/instance

#该目录下上传压缩包并解压
tar -xf nacos-server-1.4.4.tar.gz

#启动命令需要在实例根目录执行 不在nacos的bin目录执行 
#避免污染nacos的bin目录 主要是内置数据库日志和tomcat工作目录和日志
cd /home/qshh/nacos/instance/nacos-server-1.4.4

#创建启动脚本
vi startup.sh
#键入:
sh bin/startup.sh -m standalone

#保存后即可在该目录执行启动脚本
sh startup.sh
#停止
sh bin/shutdown.sh

访问nacos

默认地址:http://localhost:8848/nacos

#账号:nacos

#密码:nacos

修改nacos端口以及查看日志

要进入nacos目录下的conf中修改application.properties文件

设置端口server.port=8888//默认是8848

如果启动nacos后无法访问到nacos,那么首先看一下nacos的启动日志,看是否成功启动

要进入nacos安装目录下的logs文件夹


#查看nacos运行状态
ps -ef | grep nacos
cat start.out//进行启动日志查看

Redis安装及配置

redis安装


#创建目录
mkdir -p /home/qshh/redis/make

#切换目录上传安装包
cd /home/qshh/redis/make  

#解压
tar -zxf redis-5.0.14.tar.gz  #得到redis-5.0.14目录

#进入目录
cd redis-5.0.14

#编译 
make 

#安装,指定安装目录
make install PREFIX=/home/qshh/redis/instance/redis-5.0.14

用户添加redis路径信息


#环境变量
vi ~/.bash_profile

#设置路径以及默认密码
#redis
PATH=/home/qshh/redis/instance/redis-5.0.14/bin:$PATH
export REDISCLI_AUTH=123456

#生效
source ~/.bash_profile

配置redis信息


#配置文件 拷贝 改名
cp redis.conf /home/qshh/redis/instance/redis-5.0.14/6379.conf

#快捷脚本 拷贝 改名
cp utils/redis_init_script /home/qshh/redis/instance/redis-5.0.14/script/redis_6379

#切换目录
cd /home/qshh/redis/instance/redis-5.0.14

#编辑配置文件
vi 6379.conf

#修改以下选项
################################## NETWORK #####################################
bind 0.0.0.0 #69行 外部访问
port 6379 #92行 端口
################################# GENERAL #####################################
daemonize yes #136行 后台运行
pidfile /home/qshh/redis/instance/redis-5.0.14/6379.pid #158行 pid
logfile "/home/qshh/redis/instance/redis-5.0.14/6379.log" #171行 日志
################################ SNAPSHOTTING  ################################
dbfilename 6379.rdb #253行 数据文件名称
dir /home/qshh/redis/instance/redis-5.0.14 #263行 数据目录
replicaof <masterip> <masterport> #286行 
################################# REPLICATION #################################
masterauth 123456 #293行 master密码 非从节点也是不生效的 可以提前配置 如果不对 部署的时候可以改
################################## SECURITY ###################################
requirepass 123456 #507行 密码
############################## APPEND ONLY MODE ###############################
appendonly yes #699行 持久化策略
appendfilename "6379.aof" #703行 持久化文件
appendfsync always #729行 同步策略

#编辑
vi script/redis_6379

#修改以下内容
REDISPORT=6379
EXEC=/home/qshh/redis/instance/redis-5.0.14/bin/redis-server #路径修改
CLIEXEC=/home/qshh/redis/instance/redis-5.0.14/bin/redis-cli #路径修改

PIDFILE=/home/qshh/redis/instance/redis-5.0.14/${REDISPORT}.pid #路径及文件名称修改
CONF="/home/qshh/redis/instance/redis-5.0.14/${REDISPORT}.conf" #路径修改

启动jar包涉及redis报错处理

报错信息:
[2023-04-09 17:50:42] [ERROR] [org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/ms-app].[dispatcherSer
vlet]:175] -- Servlet.service() for servlet [dispatcherServlet] in context with path [/ms-app] threw exception [red
is.clients.jedis.exceptions.JedisDataException: READONLY You can't write against a read only replica.] with root cau
se
redis.clients.jedis.exceptions.JedisDataException: READONLY You can't write against a read only replica.
原因分析:

在jar使用redis时,设置只读的权限

解决:

在之前的配置文件6379.conf中将replica-read-only yes改为no即可见下:


#设置为no即可
replica-read-only  no

RabbitMQ安装及配置

安装依赖Erlang


#root用户安装
yum -y install perl,ncurses-devel,openssl-devel

安装Erlang


#qshh用户创建目录
mkdir -p /home/qshh/erlang/make

#进入目录上传压缩包,解压
tar -zxf otp_src_23.3.4.11.tar.gz

#进入目录
cd  otp_src_23.3.4.11

#编译配置
./configure --prefix=/home/qshh/erlang/instance/erlang-23.3.4.11

#编译并安装
make && make install

#用户根目录设置环境变量
vi .bash_profile 

#erlang
PATH=/home/qshh/erlang/instance/erlang-23.3.4.11/lib/erlang/bin:$PATH

#生效
source .bash_profile 

#验证
erl -version

安装rabbitMQ


#qshh实例目录
mkdir -p /home/qshh/rabbitmq/instance

#切换目录
cd /home/qshh/rabbitmq/instance

#上传并解压得到 rabbitmq_server-3.9.14目录
tar -xf rabbitmq-server-generic-unix-3.9.14.tar.xz

#用户根目录设置环境变量
vi .bash_profile

#rabbitmq
PATH=/home/qshh/rabbitmq/instance/rabbitmq_server-3.9.14/sbin:$PATH

#生效
source .bash_profile

cd /home/qshh/rabbitmq/instance/rabbitmq_server-3.9.14

#启动
rabbitmq-server -detached

#组件安装
rabbitmq-plugins enable rabbitmq_management
rabbitmq-plugins enable rabbitmq_web_stomp

#用户
rabbitmqctl list_users

#添加用户
rabbitmqctl add_user "admin" "qshh@CYS"

#设置角色
rabbitmqctl  set_user_tags  admin  administrator

#设置权限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

#停止
rabbitmqctl stop

#启动管理
 ~/bin/qshh_rabbitmq_5672

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

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

相关文章

C++ list 容器用法

C list 容器用法 C 标准库提供了丰富的功能&#xff0c;其中 <list> 是一个非常重要的容器类&#xff0c;用于存储元素集合&#xff0c;支持双向迭代器。<list> 是 C 标准模板库&#xff08;STL&#xff09;中的一个序列容器&#xff0c;它允许在容器的任意位置快速…

解密全同态加密中的自举(Bootstrapping)

摘要 自举&#xff08;Bootstrapping&#xff09;是全同态加密&#xff08;Fully Homomorphic Encryption, FHE&#xff09;中经常使用的术语。熟悉 FHE 的人都知道&#xff0c;自举是 FHE 方案中最复杂且计算密集的部分。然而&#xff0c;只有极少数非 FHE 专家真正理解自举操…

显示当前绑定变量

来自v$sql中的信息 测试两个变量的情况&#xff08;实际可以看6个&#xff0c;可根据需要修改&#xff09; DROP TABLE T1 PURGE; CREATE TABLE T1 AS SELECT A.*,SYSDATE RIQI FROM DBA_USERS A ORDER BY 1;var mc char(3); var id number; exec :mc:SYS; exec :id:50;set li…

arm-linux-gnueabihf安装

Linaro Releases windows下打开wsl2中的ubuntu&#xff0c;资源管理器中输入&#xff1a; \\wsl$gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz 复制到/home/ark01/tool 在 Ubuntu 中创建目录&#xff1a; /usr/local/arm&#xff0c;命令如下&#xff1a; …

宝塔面板SSL加密访问设置教程

参考:https://www.bt.cn/bbs/thread-117246-1-1.html 如何快速使用证书加密访问面板 因早期默认未开启https访问所以没有相关的风险提醒&#xff0c;现面板默认已开启https加密访问、提升安全性 由于采用的是服务器内部本身签发证书&#xff0c;不被公网浏览器信任请参考以下步…

Baklib在知识管理创新中的价值体现与其他产品的优势比较分析

内容概要 在当前的数字化时代&#xff0c;知识管理成为企业成功的重要组成部分。有效的知识管理不仅有助于提升内部沟通效率&#xff0c;还能促进创新与决策的科学化。尤其是Baklib作为一种知识中台&#xff0c;具有独特的价值&#xff0c;它能够融合企业内外的知识资源&#…

机器学习周报-文献阅读

文章目录 摘要Abstract 1 相关知识1.1 WDN建模1.2 掩码操作&#xff08;Masking Operation&#xff09; 2 论文内容2.1 WDN信息的数据处理2.2 使用所收集的数据构造模型2.2.1 Gated graph neural network2.2.2 Masking operation2.2.3 Training loss2.2.4 Evaluation metrics 2…

C语言连接Mysql

目录 C语言连接Mysql下载 mysql 开发库 方法介绍mysql_init()mysql_real_connect()mysql_query()mysql_store_result()mysql_num_fields()mysql_fetch_fields()mysql_fetch_row()mysql_free_result()mysql_close() 完整代码 C语言连接Mysql 下载 mysql 开发库 方法一&#xf…

Synology 群辉NAS安装(6)安装mssql

Synology 群辉NAS安装&#xff08;6&#xff09;安装mssql 写在前面mssql 2019:成功安装说明&#xff0c;这个最终成功了 mssql 2022没有成功1. pull image2.启动mssql docker container 远程连接 写在前面 mssq是一个重要节点。 这是因为我对mysql没有一丝好感。虽然接触了许…

WEB集群1-5天

文章目录 第一天、1、初始化配置1. 编写的初始化的脚本 init_env.sh2. 远程拷贝初始化脚本到mysql服务器里3.在mysql这台服务器上执行脚本 2、总结 第二天1、yumyum介绍yum操作将冯老师提供的网站的源码包上传到web服务器 2、部署网站1、解压文件2、epel源&#xff1a;可以提供…

“AI视频智能分析系统:让每一帧视频都充满智慧

嘿&#xff0c;大家好&#xff01;今天咱们来聊聊一个特别厉害的东西——AI视频智能分析系统。想象一下&#xff0c;如果你有一个超级聪明的“视频助手”&#xff0c;它不仅能自动识别视频中的各种元素&#xff0c;还能根据内容生成详细的分析报告&#xff0c;是不是感觉特别酷…

kaggle视频追踪NFL Health Safety - Helmet Assignment

3年前的比赛了&#xff0c;检测视频中的头盔&#xff0c;通过对比赛录像的分析&#xff0c;正确指派球员。每个进攻都有两个相关的视频&#xff0c;一个是边线视角&#xff0c;另一个是端区视角&#xff0c;而且这两个视频是同步的&#xff0c;即视频中的每一帧都是对应的。我用…

idea对jar包内容进行反编译

1.先安装一下这个插件java Bytecode Decompiler 2.找到这个插件的路径&#xff0c;在idea的plugins下面的lib文件夹内&#xff1a;java-decompiler.jar。下面是我自己本地的插件路径&#xff0c;以作参考&#xff1a; D:\dev\utils\idea\IntelliJ IDEA 2020.1.3\plugins\java-d…

deepseek R1 14b硬件要求

RTX2080ti 11G显卡&#xff0c;模型7b速度挺快&#xff0c;试试14B也不错。 7B显存使用5.6G&#xff0c;11B显存刚好够&#xff0c;出文字速度差不多。 打算自己写个移动宽带的IPTV播放器&#xff0c;不知道怎么下手&#xff0c;就先问他了。

DeepSeek-R1环境搭建推理测试

引子 这两天国货之光DeepSeek-R1火爆出圈&#xff0c;凑个热闹。过来看看 aha moment&#xff08;顿悟时刻&#xff09;的神奇&#xff0c;OK&#xff0c;我们开始吧。 一、模型介绍 1月20日&#xff0c;中国AI公司深度求索&#xff08;DeepSeek&#xff09;发布的DeepSeek-…

记录 | 基于Docker Desktop的MaxKB安装

目录 前言一、MaxKBStep 1Step2 二、运行MaxKB更新时间 前言 参考文章&#xff1a;如何利用智谱全模态免费模型&#xff0c;生成大家都喜欢的图、文、视并茂的文章&#xff01; MaxKB的Github下载地址 参考视频&#xff1a;【2025最新MaxKB教程】10分钟学会一键部署本地私人专属…

练习(复习)

大家好&#xff0c;今天我们来做几道简单的选择题目来巩固一下最近学习的知识&#xff0c;以便我们接下来更好的学习。 这道题比较简单&#xff0c;我们前面学过&#xff0c;在Java中&#xff0c;一个类只能继承一个父类&#xff0c;但是一个父类可以有多个子类&#xff0c;一个…

【原创改进】SCI级改进算法,一种多策略改进Alpha进化算法(IAE)

目录 1.前言2.CEC2017指标3.效果展示4.探索开发比5.定性分析6.附件材料7.代码获取 1.前言 本期推出一期原创改进——一种多策略改进Alpha进化算法&#xff08;IAE&#xff09;~ 选择CEC2017测试集低维&#xff08;30dim&#xff09;和高维&#xff08;100dim&#xff09;进行测…

56. 协议及端口号

协议及端口号 在计算机网络中&#xff0c;协议和端口号是两个重要的概念。它们共同确保了不同计算机和网络设备之间可以正确、有效地进行通信。 协议&#xff08;Protocol&#xff09; 协议是网络通信的一组规则或标准&#xff0c;它定义了如何在计算机网络中发送、接收和解释…

短链接项目02---依赖的添加和postman测试

文章目录 1.声明2.对于依赖的引入和处理2.1原有的内容说明2.2添加公共信息2.3dependencies和management区别说明2.4添加spring-boot依赖2.5数据库的相关依赖2.6hutool工具类的依赖添加2.7测试test 的依赖添加 3.core文件的代码3.1目录层级结构3.2启动类3.3testcontroller测试类…