搭建项目在云服务器

一、服务器准备

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
编译安装
  1. 进入根目录: cd /usr/local/src/git-2.9.4
  2. 安装到/usr/local/git目录: ./configure --prefix=/usr/local/git
  3. 编译安装: 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

image-20210414173733392


# 进入容器内部
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 SSHSSH 插件,用于连接各个服务

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 于成都

你可能感兴趣的:(搭建项目在云服务器)