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

LINUX部署微服务项目步骤

项目简介技术栈

主体技术: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.kler.cn/a/526439.html

相关文章:

  • C++:多继承习题5
  • 文件(c语言文件流)
  • AI时序预测: iTransformer算法代码深度解析
  • UE学习日志#15 C++笔记#1 基础复习
  • 无线通信与人工智能技术与发展年度总结
  • MYSQL 商城系统设计 商品数据表的设计 商品 商品类别 商品选项卡 多表查询
  • Kafka 压缩算法详细介绍
  • 【股票数据API接口41】如何获取股票指最新分时MA数据之Python、Java等多种主流语言实例代码演示通过股票数据接口获取数据
  • gesp(C++六级)(7)洛谷:P10376:[GESP202403 六级] 游戏
  • 范冰冰担任第75届柏林电影节主竞赛单元评委 共鉴电影佳作
  • CF1098F Ж-function
  • F. Ira and Flamenco
  • 智慧园区系统助力企业智能化升级实现管理效率与安全性全方位提升
  • B站吴恩达机器学习笔记
  • C++11之列表初始化
  • 不够专业,想更体系化
  • 【视频+图文详解】HTML基础4-html标签的基本使用
  • 2025美赛复盘总结反思(论文手)
  • 第27篇:Python开发进阶:python多线程与多进程编程
  • [LeetCode]day 5 209.长度最小的子数组