项目原生部署(超级无敌保姆级教程)

项目原生部署(超级无敌保姆级教程)

部署前准备工作:在服务器放行相对应的端口!!!

安装jdk

1.上传jdk的linux压缩包

Java Downloads | Oracle 中国

2.解压
tar -zxvf jdk-8u291-linux-x64.tar.gz
3.移动并重命名
mv jdk1.8.0_291 /usr/local/jdk1.8
4.修改配置文件
vim /etc/profile
5.添加配置
export JAVA_HOME=/usr/local/jdk1.8
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
6.刷新配置
source /etc/profile
7.查看版本
java -version

安装docker

CentOS Docker 安装 | 菜鸟教程 (runoob.com)

自动安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

或(这个比较垃圾)

curl -sSL https://get.daocloud.io/docker | sh
手动安装
1.卸载旧版本依赖(如果有)
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
2.安装yum工具
sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
3.设置阿里云仓库(国内镜像源速度较快)
sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4.安装最新版本的 Docker Engine-Community 和 containerd
sudo yum install docker-ce docker-ce-cli containerd.io
5.关闭防火墙(Docke应用需要多种端口,直接关了)
# 关闭
systemctl stop firewalld
#查看是否关闭防火墙
systemctl status firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
5.启动docker
systemctl start docker			# 启动docker服务
systemctl stop docker			# 停止docker服务
systemctl restart docker / service docker restart		# 重启docker服务
6.查看版本(验证是否安装成功)
docker version
7.开机自启
systemctl enable docker

Docker 需要用户具有 sudo 权限,为了避免每次命令都输入sudo,可以把用户加入 Docker 用户组(官方文档)。

sudo usermod -aG docker $USER

docker使用
查看镜像
docker images
查看[所有]容器
docker ps [-l]
启动容器
docker start [容器id]
下载镜像
docker pull 镜像名
停止容器
docker stop [容器id]
删除容器
docker rm [容器id]
删除镜像
docker rmi [镜像id]
docker rmi [镜像名称]:[tag]
进入容器
docker attach [容器id]
搜索镜像
docker search 镜像名
卸载docker
sudo yum remove docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker

docker安装mysql

1.拉取mysql镜像
docker pull mysql:[版本号]
2.启动mysql
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=密码 -d mysql:5.7
# -p       映射的端口  主机:容器
# --name   取别名,执行容器名称
# -e	   设置root账号密码
# -d	   后台启动
3.进入容器
docker exec -it [容器id] /bin/bash
4.登录mysql
mysql -u账号 -p密码
docker启动时设置mysql自启动
docker update mysql --restart=always
5.修改权限(可选)
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'xxx';
或
ALTER USER 'root'@'%' IDENTIFIED BY 'xxx';
6.刷新mysql权限(可选)
flush privileges;
7.使用 Navicat 等工具进行数据库连接,并导入数据库文件

docker安装redis(祝redis开发者写代码没键盘🙂)

安装redis依赖(gcc依赖),我也不知道有没有屌用

yum install -y gcc tcl
1.安装redis
docker pull redis
2.创建本地映射目录用于挂载redis 配置文件和数据文件

便于以后修改配置文件,说白了就是建文件夹,不用命令也行

mkdir -p /home/docker/redis/conf/
mkdir -p /home/docker/redis/data/
3.修改文件权限为可编辑表示所有文件
chmod -R 777 /home/docker/
4.想办法得到redis.conf这个sb配置文件

redis 6.0.6 下载 – Redis中国用户组(CRUG)

redis官网配置文件redis.conf

  • 第一种下载到本地在上传到相应的文件夹内

  • 第二种用命令下载

/home/docker/redis/conf/下执行

wget http://download.redis.io/redis-stable/redis.conf

用vim命令修改配置

建议下本地修改完配置后上传,一千多行注释看恶不恶心你

5.修改配置文件
# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
# 默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方#式启动redis失败(为yes时需要配置bind或者设置密码)
daemonize yes
# 设置密码
requirepass 密码
6.创建redis容器
# docker run -p 6379:6379 --name redis -v /home/config/redis/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf --appendonly yes


# 我用的是这个 ↓
docker run -p 6379:6379 --name redis -v /home/docker/redis/conf:/etc/redis/redis.conf -v /home/docker/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes


# -p    端口映射:前表示主机部分,:后表示容器部分
# –name 指定该容器名称
# -v    挂载文件或目录 :前表示主机部分,:后表示容器部分
# -d    表示后台启动
# --appendonly yes     开启AOF模式(持久化)

# /home/docker/redis/conf 配置文件目录
# redis-server /etc/redis/redis.conf以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/home/docker/redis/conf
7.查看redis(看他有没有生出来,如果没有把它丢回去重开)
# 查看redis进程
ps -ef | grep redis
# 进入容器(用那个看你心情)
docker exec -it [容器id] /bin/bash
docker exec -it redis redis-cli # 此处跟着的redis-cli是直接将命令输在上面了
8.进入redis
# 验证密码(如果有密码)
auth 密码
# 输入ping,查看是否连接成功(PONG为成功)
ping
9.docker设置redis自动启动
docker update redis --restart=always

docker安装redis并挂载配置文件_佛系写BUG的博客-CSDN博客_docker redis配置文件路径

Redis安装教程(超详细)_老子大威天龙的博客-CSDN博客_redis安装


下面的可能有用:

# 查看现有的redis密码
config get requirepass
# 设置redis密码
config set requirepass 密码
# 其他
# 重置密码
config set requirepass ""
# 查看容器运行日志
docker logs --since 30m <容器名>

# --since 30m 是查看此容器30分钟之内的日志情况。
# docker logs --since 30m redis
# redis.conf 配置文件

# bind 127.0.0.1 -::1		注释掉,不注释只能本机访问

protected-mode no        # 默认yes,开启保护模式,限制为本地访问

port 6379				# 端口号,桥接部署集群时最好不用该端口

tcp-backlog 511

requirepass 000415

timeout 0

tcp-keepalive 300

daemonize no

supervised no

pidfile /var/run/redis_6379.pid

loglevel notice

logfile ""

databases 30

always-show-logo yes

save 900 1
save 300 10
save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename dump.rdb

dir ./

replica-serve-stale-data yes

replica-read-only yes

repl-diskless-sync no

repl-disable-tcp-nodelay no

replica-priority 100

lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no

appendonly yes				# 开启持久化

appendfilename "appendonly.aof"

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

aof-load-truncated yes

aof-use-rdb-preamble yes

lua-time-limit 5000

slowlog-max-len 128

notify-keyspace-events ""

hash-max-ziplist-entries 512
hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

set-max-intset-entries 512

zset-max-ziplist-entries 128
zset-max-ziplist-value 64

hll-sparse-max-bytes 3000

stream-node-max-bytes 4096
stream-node-max-entries 100

activerehashing yes

hz 10

dynamic-hz yes

aof-rewrite-incremental-fsync yes

rdb-save-incremental-fsync yes

部署jar包

可通过Xftp或IDEA对服务器文件进行远程连接操作

1.上传jar包
2.授予jar包可执行权限

可用ll命令查看文件是否由红色变为绿色

chmod 777 XXX.jar
3.后台启动jar包
nohup java -jar jar包完整路径 >日志输出路径 &
# 如:nohup java -jar /home/project/number.jar >/home/project/logs/number.log &
# nohup  只要不关闭服务器,就一直运行。
# /home/project/number.jar  启动的jar包路径。
# >/home/project/logs/number.log  运行日志存储地址。
# &  启动后台运行(把程序递交到服务器上)
4.查看jar是否运行
ps -ef | grep XXX.jar

ps -ef | grep -v grep | grep java

linux 的grep命令屏蔽进程本身 grep --color=auto java

5.开机自启动jar包(可选)

linux设置jar包开机自启动

Linux 创建.sh脚本文件

linux 查看、关闭、后台程序 【进程】

nohup java -jar backend-1.0-SNAPSHOT.jar >jarlog.log 2>&1 &
创建自启动文件.sh
touch startjar.sh
编辑文件
vi startjar.sh
#!/bin/bash
nohup java -jar backend-1.0-SNAPSHOT.jar >jarlog.log 2>&1 &
给.sh赋予可执行权限
chmod +x startjar.sh 

nohup java -jar 命令启动jar包,项目仍然会莫名其妙挂掉的解决方法_隔壁老赵的博客-CSDN博客_nohup 启动jar失效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值