前一阵子实验室的项目要部署在服务器上(ubuntu22.04),记录一下部署的过程
1.jdk1.8 安装
- 解压安装包
- tar -zxvf jdk版本号
- 加配置文件
- sudo vim /etc/profile.d/my_env.sh
- #JAVA_HOME
- export JAVA_HOME=/opt/jdk1.8.0_191
- export PATH=$PATH:$JAVA_HOME/bin
- sudo vim /etc/profile.d/my_env.sh
- 测试是否安装
- java -v
2.docker内部署
2.1 docker安装
- docker
- 更新包管理器:
- sudo apt update
- 安装 Docker 的依赖包:
- sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release
- 添加阿里云 Docker 镜像源 GPG 密钥:
- curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- 添加阿里云 Docker 镜像源:
- echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- 更新 apt 缓存:
- sudo apt update
- 安装 Docker:
- sudo apt install docker-ce docker-ce-cli containerd.io
- 启动 Docker 服务:
- sudo systemctl start docker
- 确认 Docker 已经正确安装:
- sudo docker run hello-world
- 更新包管理器:
2.2 mysql 安装
- docker pull mysql:5.7.31
- 修改mysql配置文件
- sudo vim /opt/mysql/conf/my.cnf
- [client]
- default-character-set=utf8mb4
- [mysql]
- default-character-set=utf8mb4
- [mysqld]
- init_connect="SET collation_connection = utf8mb4_unicode_ci"
- init_connect="SET NAMES utf8mb4"
- character-set-server=utf8mb4
- collation-server=utf8mb4_unicode_ci
- skip-character-set-client-handshake
- skip-name-resolve
- default_time_zone = '+8:00'
- sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
- lower_case_table_names=1
- sudo vim /opt/mysql/conf/my.cnf
- docker创建mysql
- docker run -p 3306:3306 --name mysql -v $PWD/mysql/conf:/etc/mysql -v $PWD/mysql/logs:/logs -v $PWD/mysql/data:/mysql_data --restart=always -e MYSQL_ROOT_PASSWORD=Whut0510 -d mysql:5.7.31
- 重启服务
- docker restart mysql
- 查看日志
- docker logs mysql
- 测试连接
- 在自己电脑的navicat上连接服务器的mysql
- Docker实操:安装MySQL5.7详解(保姆级教程)-腾讯云开发者社区-腾讯云 (tencent.com)
- 连接上之后把需要数据库还原过去,即把数据库搬到服务器了
2.3 redis安装
- redis
- docker pull redis:3.2
- docker run --restart=always -d --name redis -p 6379:6379 -v $PWD/redis/data:/data -d redis:3.2 redis-server --appendonly yes --requirepass "密码xxx"
- 重启redis
- docker restart redis
- 为现有的redis创建密码或修改密码的方法:
- 1.进入redis的容器
- docker exec -it redis bash
- 2.进入redis目录
- cd /usr/local/bin
- 3.运行命令:
- redis-cli
- 4.查看现有的redis密码:
- config get requirepass
- auth "密码xxx"
- 5.设置redis密码
- config set requirepass 密码xxx( 密码xxx 为你要设置的密码)
- 1.进入redis的容器
3.nginx
当时尝试在docker内部署但是前端启动不了,故nginx没有使用docker部署
- 在安装nginx前首先要确认系统中安装了gcc、pcre-devel、zlib-devel、openssl-devel。
- 安装gcc
- apt update
- apt install build-essential
- gcc -v
- 安装pcre-devel
- sudo apt-get install libpcre3-dev
- pcre-config --version
- 安装zlib-devel
- apt install zlib1g-dev
- 安装openssl-devel
- 在Ubuntu系统里这是分开的两个,需要分开来安装:
- sudo apt-get install openssl
- sudo apt-get install libssl-dev
- 解压tar -zxvf nginx-1.9.9.tar.gz##进入nginx目录cd nginx-1.9.9
- 配置./configure --prefix=/opt/nginx
- make
- make报错
- 1..解决方法:进入objs/Makefile 删除-Werror
- 2.解决方法:vim src/os/unix/ngx_user.c 把36行注释
- make install
- 改nginx配置文件
- 启动nginx
- cd /opt/nginx/sbin
- ./nginx //启动nginx
- 安装gcc
docker常用指令
-
- 查询全部容器 docker ps -a
- 启动容器 docker start [containerId]
- 停止容器 docker stop [containerId]
- 删除容器 docker rm [containerId]
- 查看容器日志 docker logs -f [containerId] (shift+c退出)
- 查看所有网络 docker network ls
- 退出容器命令 exit
- docker image ls
- docker image rm [IMAGE ID]
之后更新nacos以及前后端启动。。。。
标签:sudo,java,Linux,redis,apt,nginx,mysql,服务器,docker From: https://blog.csdn.net/pyk0727/article/details/144133441