一、服务器准备
1、购买
https://www.aliyun.com/minisite/goods?userCode=bsrb3oop
使用阿里云服务器一年100左右,得是新用户
2、初始化密码或者分配新的用户
3、打开相关端口
4、更改主机名字
2、登陆与传输文件
直接打开终端登陆
ssh [email protected]
输入密码即可登陆
2、使用scp传入本地文件到服务器
scp /Users/xxx/Downloads/18.02.2021-Laos-3-1.jpg [email protected]:/soft
3、添加用户
adduser elijah
# 设置密码
passwd elijah
# qwer777
ssh [email protected]
4、修改文件权限
如遇到
Permission denied
ls -l /a 查看的是文件的权限
# 代表什么
r ------------4
w -----------2
x ------------1
- ------------0
chmod 权限数字 文件名
chmod 777 /home/mblog
后台运行
# ./logs/blog.log 输入打印
sh start.sh>&./logs/blog.log &
端口
yum install lsof
# 查看端口
lsof -i:端口号
# 杀进程
kill -s 9 51107
二、基础软件安装
1、JDK
由于jdk下载需要接受条款的原因,建议下载后使用FlashFXP从本地上传到服务器。
进入/usr/local/src,解压jdk:
# tar -zxvf jdk-8u251-linux-x64.tar.gz
将解压的jdk移动到/usr/local/:
# mv jdk1.8.0_251 /usr/local/
-
配置环境变量:
# vim /etc/profile
,在最后添加如下环境变量export JAVA_HOME=/usr/local/jdk1.8.0_251export JRE_HOME=/usr/local/jdk1.8.0_251/jreexport PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
保存退出后输入命令使配置生效:
# source /etc/profile
验证jdk:
# java -version
2、安装docker
Docker
卸载旧版本:
# yum remove docker docker-common docker-selinux
安装需要的依赖包:
# yum install -y yum-utils device-mapper-persistent-data
配置稳定仓库:
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装:
# yum install docker-ce
启动docker:
# systemctl start docker
加入开机启动:
# systemctl enable docker
验证安装是否成功:
# docker -v
yum install -y yum-utils device-mapper-persistent-data
3、安装git
准备Git
下载:wget https://www.kernel.org/pub/software/scm/git/git-2.9.4.tar.gz
解压:tar -zxvf git-2.9.4.tar.gz
下载的软件包可以放入固定位置 /usr/local/src/git-2.9.4`
安装编译Git时需要的包
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-develyum install gcc perl-ExtUtils-MakeMaker
编译安装
- 进入根目录:
cd /usr/local/src/git-2.9.4
- 安装到/usr/local/git目录:
./configure --prefix=/usr/local/git
- 编译安装:
make && make install
创建软链:# ln -s /usr/local/git/bin/* /usr/local/bin/
检查安装是否成功:# git --version
生成 ssh-key:# ssh-keygen -t rsa -C "[email protected]"
entry 回车键 生成key
拷贝 id_rsa.pub 的SSH-Key 到 git。 /root/.ssh/id_rsa.pub.
4、Maven
准备maven
下载:# wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
解压:# tar -zxvf apache-maven-3.6.3-bin.tar.gz
移动到/usr/local:# mv apache-maven-3.6.3 /usr/local/maven3
-
添加环境变量:
# vim /etc/profile
,在最后添加如下两行export MAVEN_HOME=/usr/local/maven3export PATH=$MAVEN_HOME/bin:$PATH
保存退出后输入命令使配置生效:
# source /etc/profile
检验是否安装成功:
# mvn -v
三、docker
常用操作
1、删除镜像和容器
docker rmi 镜像id
对于已退出的容器,可以使用如下命令进行查看:
docker ps -a
删除docker中的容器可以使用如下命令:
docker rm 容器id
容器id 可以多个一起
删除docker中的镜像,我们可以使用如下命令:
docker rmi 镜像id
2、Docker镜像的导入导出
# 保存到本地
docker save > mblog.tar mblog:1.3
# 加载到镜像里面
docker load < mblog.tar
# docker images
3、查看docker容器的IP
docker inspect node1 |grep IPAddress |tail -1 |awk '{print $2}' |tr '"' " " |tr ',' ' '
# node1 可以用容器id或名称
# 或者
docker inspect --format '{{ .NetworkSettings.IPAddress }}' node1
# node1 容器id或者名称
# 显示所有容器的IP
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
4、进入容器内部
docker exec -it c37e7139f78d /bin/bash
安装容器
1、Jenkins 安装配置
- 拉取镜像:
# docker pull jenkins/jenkins:latest
- 启动容器,端口 9090:
# docker run -d --name jenkins -p 19090:8080 -p 50000:50000 -v /soft/docker/jenkins:/home/jenkins_home --privileged=true jenkins/jenkins
- 获取初始密码:
# docker logs jenkins
获取初始密码:# docker logs jenkins
# 进入容器内部
docker exec -it c37e7139f78d /bin/bash
# 查询密码
cat /var/jenkins_home/secrets/initialAdminPassword
d4d356133e4d41ff9e2f521817173655
2、docker运行mysql镜像
拉取镜像:
# docker pull registry.cn-hangzhou.aliyuncs.com/choerodon-tools/mysql:5.7.17
-
数据库配置
设置数据库表名不区分大小写,在。/soft/docker/mysql/mysql_cnf
下新建my.cnf
文件,增加lower_case_table_names=1
,其它配置可自行根据需求添加。[mysqld] lower_case_table_names=1 max_connections=1000
需要建立文件映射。 数据文件:/soft/docker/mysql/mysql_data
配置文件 /soft/docker/mysql/mysql_cnf
# docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -v /soft/docker/mysql/mysql_data/:/var/lib/mysql/:rw -v /soft/docker/mysql/mysql_cnf:/etc/mysql/:rw --privileged=true 954
# 查询允许的容器
docker ps
# 进入mysql容器内
docker exec -it mysql-spring /bin/bash
# 登陆mysql
mysql -uroot -p
# 创建用户
create user living@'%' identified by 'living2021';
flush privileges;
# 建标
CREATE DATABASE IF NOT EXISTS db_mblog
DEFAULT CHARACTER SET utf8;
# 赋予权限
GRANT ALL ON db_mblog.* TO 'living'@'%';
3、rabbitmq
docker run -dit --name rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq
docker exec -it 7cd4fbfea36f /bin/bash
# 启用web
rabbitmq-plugins enable rabbitmq_management
项目打包
1、Springboot 打包 docker
springboot启动项目
启动项目时传递参数
java -jar XXX.jar --spring.profiles.active=alpha
java -jar ./target/mblog-latest.jar --user.dir=/Users/shenshuaihu/tmp
先有dockerfile
# 执行打包
mvn clean package -Dmaven.test.skip=true
# docker 构建
docker build -t mblog .
# 查看
docker ps
# 运行
docker run mblog:1.3 -d --name mblog3 -p 80:18080
docker run -p 8000:18080 -d mblog:1.3
docker run -e "JAVA_OPTS=--user.dir=/Users/shenshuaihu/tmpt" -d -p 8088:18088 mblog:1.3
docker run -d -p 80:18080 -v /home/blog:/storage mblog:1.5
四、jenkins打包部署
1、创建用户admin/admin
2、下载插件
安装 Publish Over SSH
和 SSH
插件,用于连接各个服务
3、创建软链:Jenkins 通过shell脚本调用 java、mvn 等命令的时候,是从 /usr/bin 文件夹中找命令的,这个时候需要做个软链接
ln -s /usr/local/maven3/bin/mvn /usr/bin/mvn
ln -s /usr/local/jdk1.8.0_251/bin/jps /usr/bin/jps
ln -s /usr/local/jdk1.8.0_251/bin/java /usr/bin/java
ln -s /usr/local/jdk1.8.0_251/bin/javac /usr/bin/javac
系统管理——>系统配置
创建一个项目
创建项目 -——> 自由风格
五、项目部署与运行
在项目中建立脚本文件,本地代码更新实现,去执行脚本文件即可。
# 拉取最新的源码
git pull
echo "拉去代码, git pull "
# 停止已运行的服务
# sh run.sh stop
# 执行打包
mvn clean package -Dmaven.test.skip=true
echo "执行打包, mvn clean package "
# 运行
# sh run.sh start
nohup java -jar ./target/mblog-latest.jar --user.dir=/home/blog
nohup java -jar XXX.jar >/dev/null 2>&1 &
nohup sh start.sh>&./logs/blog0518.log 2>&1 &
#mvn clean package -Dmaven.test.skip=true -U
#docker build -t mblog:1.5 .
echo "打包完毕, 可使用sh run.sh start进行启动"
nohup sh start.sh>&./logs/blog0518.log 2>&1 &
2021/06/27 于成都