后端部署(通用)
放行端口
- 3306 MySQL
- 6379 Redis
- 15672 RabbitMQ web 面板
- 5672 RabbitMQ
- 22 端口 SSH
- 443 HTTPS
- 80 HTTP
- 8848 Nacos
- 9848 Nacos
- 9849 Nacos
还有服务器防火墙
宝塔
安装 Java 环境
安装需要的 JDK ,这个项目安装 1.8.0_371 就可以
安装 MySQL
1、安装 MySQL
2、放行端口
还有服务器防火墙
4、创建数据库
5、允许远程连接
6、使用测试工具进行连接 (以 IDEA 自带的为例)
连接失败怎么办?
1、检查服务器端口是否放开
2、检查创建数据库的时候选择的 访问权限 是否是 所有人
3、检查用户名和密码
安装 Redis
1、安装 Redis
4、修改设置文件
修改 bind 变成 0.0.0.0
然后设置 requirepass 这个就是密码
然后重载配置
5、放行端口
还有服务器防火墙
6、尝试连接 (以 IDEA 自带的为例)
不需要填写用户名
密码填写之际之前在服务器requirepass
7、连接成功
运行后端
上传 jar 包到服务器任意文件夹 比如 /www
一定要注意,如果自己的使用的配置是 application-prod.yml 一定要在启动命令后面加上 --spring.profiles.active=prod !
Docker
前期准备
1、切换到工作目录
▼text复制代码cd ~
创建一个单独的目录,存放部署相关的文件
▼text复制代码mkdir project && cd project
2、创建 Dockerfile 文件 + 上传 jar 包
创建 Dockerfile 文件
▼text复制代码touch Dockerfile
创建完成之后,使用 rz 命令、或者 WinScp 上传,上传到和 Dockerfile 同级目录下
3、创建 Dockerfile 文件
1)FROM docker 运行的环境
openjdk:8 指的是在 java8 环境下运行镜像
- openjdk:8
- openjdk:17
2)WORKDIR 工作目录
3)COPY 复制 Linux 系统文件到容器之中
4)CMD 运行 Jar 包的命令,配置文件生效的是 application-prod.yml
当然可以修改 --spring.profiles.active=prod 后面的 active=xxx 如果想要 application-test.yml 生效那么直接写 --spring.profiles.active=test
▼text复制代码FROM openjdk:8 WORKDIR /app # COPY ./user-center-backend-0.0.1-SNAPSHOT.jar ./app/application.jar COPY ./本地 jar 包的名称 ./app/application.jar CMD ["java","-jar","./app/application.jar","--spring.profiles.active=prod"]
2、执行 docker build
▼text复制代码docker build -t myapp:v1.0 .
-t:--tag的缩写,用于指定镜像名称和标签。比如 usercenter:v1.0.:表示当前目录是构建上下文,Docker 会从当前目录读取Dockerfile,并将该目录中的文件打包到镜像中myapp是镜像名称。v1.0是镜像标签(版本),你也可以用latest或其他标签。
3、运行 docker 镜像
-
-p 8080:8080:将主机的端口 8080 映射到容器的端口 8080。 -
-t:分配一个伪终端(TTY),通常和交互模式一起使用,但这里是后台运行。 -
-d:让容器以 后台模式(detached)运行。 -
myapp:v1.0:指定要运行的 Docker 镜像名称和版本。
▼text复制代码docker run -p 8080:8080 -t -d myapp:v1.0
4、查看运行是否成功
▼text复制代码docker ps
5、查看 log
▼text复制代码docker logs -f CONTAINER ID 比如 docker logs -f 493820321e
CONTAINER ID 具体看 docker ps 里显示的 CONTAINER ID
RabbitMQ
Docker 安装就相对简单很多了!
1、下载 rabbitmq
▼text复制代码docker pull rabbitmq:3.12.13-management
2、运行 rabbitmq
▼text复制代码docker run -d --name=rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq:3.12.13-management
3、登录 web 管理界面
地址: http://服务器IP:15672
账号、密码默认 guest
4、看上面关于 创建用户&禁用默认用户远程访问 章节
Nacos
如果速度比较慢的话可以设置一下 register 教程
1、下载镜像
▼dockerfile复制代码docker pull nacos/nacos-server:v2.2.0
2、查看 image
▼dockerfile复制代码docker images
3、初始化数据库
可以找到本地 nacos/conf/mysql-schema.sql
先创建数据,在使用数据库进行创建 sql
▼text复制代码CREATE DATABASE nacos_config CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
4、启动 Nacos
▼dockerfile复制代码docker run \ --name nacos \ -d \ -p 8848:8848 \ -p 9848:9848 \ -p 9849:9849 \ --restart=always \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=密码 \ -e MYSQL_SERVICE_HOST=127.0.0.1 \ -e MYSQL_SERVICE_DB_NAME=nacos_config \ -e MODE=standalone \ nacos/nacos-server:v2.2.0
启动成功!
Elasticsearch
1、拉取 Docker 镜像
任意目录执行
▼text复制代码docker pull elasticsearch:{version}
比如:
▼text复制代码docker pull elasticsearch:7.17.9
2、创建一个 network 方便后期 Elasticsearch 和 Kibana 通信
▼text复制代码docker network create elastic
3、运行
▼text复制代码docker run \ --name elasticsearch \ --net elastic \ -p 9200:9200 \ -e discovery.type=single-node \ -e ES_JAVA_OPTS="-Xms1g -Xmx1g"\ -e xpack.security.enabled=true \ -it \ -d \ elasticsearch:{version}
比如
▼dock复制代码docker run \ --name elasticsearch \ --net elastic \ -p 9200:9200 \ -e discovery.type=single-node \ -e ES_JAVA_OPTS="-Xms1g -Xmx1g"\ -e xpack.security.enabled=true \ -it \ -d \ elasticsearch:7.17.9
4、修改账号密码
首先找到 elasticsearch 运行的 container id
▼text复制代码docker ps
进入到容器之中
▼text复制代码docker exec -it CONTAINER ID /bin/bash
这个 CONTAINER ID 就看 docker ps 的 CONTAIONER ID
比如
▼text复制代码docker exec -it 7c6be20a14e5 /bin/bash
如果需要退出的话,直接输入 exit
▼text复制代码exit
默认进入就是这个目录
执行下面的命令
▼text复制代码bin/elasticsearch-setup-passwords interactive
4、安装分词器
进入到容器之中
▼text复制代码docker exec -it CONTAINER ID /bin/bash
这个 CONTAINER ID 就看 docker ps 的 CONTAIONER ID
比如:
▼text复制代码docker exec -it 7c6be20a14e5 /bin/bash
下载地址:https://release.infinilabs.com/analysis-ik/stable
▼text复制代码bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/{version}/{version}.zip
这个 version 具体看自己安装的版本
比如:
▼text复制代码bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.9/elasticsearch-analysis-ik-7.17.9.zip
如果速度非常慢可以先本地下载下来然后使用 docker cp
▼text复制代码docker cp 文件 container_id:/usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-7.17.9.zip
找到对应目录,进入对应目录 /usr/share/elasticsearch/plugins
▼text复制代码rm -rf /usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-7.17.9.zip
▼text复制代码unzip elasticsearch-analysis-ik-7.17.9.zip -d ik
最后别忘了删除 /usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-7.17.9.zip
▼text复制代码cd /usr/share/elasticsearch/plugins
查看是否安装成功
▼text复制代码bin/elasticsearch-plugin list
5、最后重启使得配置生效
▼text复制代码docker restart elasticsearch
Liunx 服务器直接安装
RabbitMQ
安装 DNF
1、
▼text复制代码yum install epel-release
2、
▼text复制代码yum install dnf
安装成功
安装 RabbitMQ
1、指定仓库
▼text复制代码sudo dnf install -y https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm
2、安装 rabbitmq 默认会安装 erlang
▼text复制代码sudo dnf install -y rabbitmq-server-3.3.5-34.el7
3、开启 web 管理页面
▼text复制代码sudo rabbitmq-plugins enable rabbitmq_management
4、启动 RabbitMQ
▼text复制代码sudo systemctl start rabbitmq-server
5、查看运行状态
▼text复制代码systemctl status rabbitmq-server
6、设置开机自启动
▼text复制代码sudo systemctl enable rabbitmq-server
登录 web 管理界面
默认账号、密码都是 guest
要是报错就自己再仔细看看是不是输入错误了
创建用户&禁用默认用户远程访问
- 创建用户
- 允许远程连接
重要
关闭允许 guest 用户远程访问,为了安全
Nacos
安装依赖环境
Ubuntu
1)更新系统软件包
▼text复制代码sudo apt-get update
2)安装对应的依赖 wget unzip Java
▼text复制代码sudo apt-get install wget unzip openjdk-8-jdk
CentOS
1)更新系统软件包
▼text复制代码sudo yum update -y
2)安装对应的依赖 wget unzip Java
▼text复制代码sudo yum install -y wget unzip java-1.8.0-openjdk
下载 Nacos
1、下载文件
1)进入工作目录
▼text复制代码cd ~
2)创建目录
▼text复制代码mkdir nacos
3)进入目录,并且下载 zip 文件
▼text复制代码wget https://github.com/alibaba/nacos/releases/download/2.2.0/nacos-server-2.2.0.zip
这个速度可能会比较慢,可以本地下载好的上传到服务器上
2、解压文件
▼text复制代码unzip nacos-server-2.2.0.zip
3、设置数据库
先创建一个数据库
▼mysql复制代码CREATE DATABASE nacos_config CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
然后在对应数据库下执行 nacos/conf/mysql-schema.sql 建表语句
然后修改 nacos/conf/application.properties 的内容
下面是源文件内容
修改成
▼properties复制代码### If use MySQL as datasource: # spring.datasource.platform=mysql ### Count of DB: # db.num=1 ### Connect URL of DB: db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user.0=nacos # mysql 用户名 db.password.0=nacos # mysql 密码
4、进入 bin 目录启动
▼text复制代码cd nacos/bin
▼text复制代码sudo bash startup.sh -m standalone
这里如果是 Ubuntu 的话一定要用 bash startup.sh -m standalone 如果是 sh 会报错 Caused by: java.net.UnknownHostException: jmenv.tbsite.net at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
5、访问 web 管理页面
首先要把服务器的 8848 打开,如果有宝塔 8848
http://服务器IP:8848/nacos/index.html
6、关闭 Nacos
▼text复制代码sudo bash shutdown.sh
安装 Elasticsearch
1、更新安装包和下载依赖
Ubuntu
1)更新系统软件包
▼text复制代码sudo apt-get update
2)安装对应的依赖 wget unzip
▼text复制代码sudo apt-get install wget tar unzip rpm openjdk-8-jdk
CentOS
1)更新系统软件包
▼text复制代码sudo yum update -y
2)安装对应的依赖 wget unzip
▼text复制代码sudo yum install -y wget tar unzip rpm openjdk-8-jdk
2、下载 elasticsearch 7.x 版本
▼text复制代码wget https://artifacts.elastic.co/downloads/elasticsearch/{version}-amd64.deb
比如:
▼text复制代码wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.9-amd64.deb
3、下载完成后,继续安装包
▼yml复制代码sudo dpkg -i elasticsearch-{version}-amd64.deb
比如:
▼text复制代码sudo dpkg -i elasticsearch-7.17.9-amd64.deb
4、enable elasticsearch service 和 启动 elasticsearch service
▼text复制代码sudo systemctl enable elasticsearch.service sudo systemctl start elasticsearch.service
5、修改 Ubuntu 配置文件
1)修改 network 把 127.0.0.1 改成 0.0.0.0
2)修改,如果没有的话就添加 discovery.type 写成 single-node
▼text复制代码vi /etc/elasticsearch/elasticsearch.yml
6、重启配置
▼text复制代码sudo systemctl restart elasticsearch.service
7、测试是否运行成功
▼text复制代码curl -X GET "localhost:9200/?pretty"
8、添加安装分词器
▼text复制代码./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/{version}/{version}.zip
比如:
▼text复制代码./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.9/elasticsearch-analysis-ik-7.17.9.zip
速度很慢的话,就本地下载好,上传到 /usr/share/elasticsearch
▼text复制代码cd /usr/share/elasticsearch/plugins
上传到对应目录之后,进行解压
▼text复制代码unzip elasticsearch-analysis-ik-7.17.9.zip -d ik
解压完成之后需要删除 elasticsearch-analysis-ik-7.17.9.zip
▼text复制代码rm -f elasticsearch-analysis-ik-7.17.9.zip
查看是否安装成功
▼text复制代码./elasticsearch-plugin list
启用需要重新启动
▼text复制代码sudo systemctl restart elasticsearch.service
添加用户
1、修改 /etc/elasticsearch/elasticsearch.yml 文件
在里面添加 xpack.security.enabled: true
▼text复制代码vi /etc/elasticsearch/elasticsearch.yml
2、设置用户名密码
进入 /usr/share/elasticsearch/bin
▼text复制代码cd /usr/share/elasticsearch/bin
▼text复制代码./elasticsearch-setup-passwords interactive
设置 elastic, kibana, logstash_system,beats_system 这几个用户的密码
如果想要修改这个 elastic 密码
▼text复制代码curl -H "Content-Type:application/json" -XPOST -u elastic 'http://127.0.0.1:9200/_xpack/security/user/elastic/_password' -d '{ "password" : "修改后的密码" }'
2、在服务器本执行
▼text复制代码curl -X POST "http://localhost:9200/_security/user/leikooo" -H "Content-Type: application/json" -u "elastic:leikooo" -d ' { "password" : "123456", "roles" : [ "admin"], "full_name" : "leikooo", "enabled": true }'



