昆明 网站建设网络营销课程培训
-
环境准备
- 配置虚拟机
- 安装docker
- 前提
- 安装
- 步骤
- 命令
- 效果图
- 安装docker-compose
- 前提
- 安装
- 步骤
- 效果图
- 安装gitea
- 步骤
- 命令
- 效果图
- 执行docker-compose命令
- 浏览器初始gitea配置
- 浏览器登录gitea
- 创建组织
- 创建仓库
-
Drone安装
- 步骤
- 效果图
-
非自动化部署
- nginx安装
- redis安装
- jdk安装
-
自动化部署
- tmocat安装
- nginx
环境准备
配置虚拟机
安装docker
前提
- 确保系统内核版本在3.10以上
- 确保系统已经安装了docker
离线安装
准备安装包 docker-18.06.1-ce.tgz
下载地址https://download.docker.com/linux/static/stable/x86_64/
“本项目需要安装 docker,建议使用 docker-18.06.1-ce.tgz 版本,你可以从 docker 官方网站获取安装包。”
- tar -zxvf docker-18.06.1-ce.tgz 解压安装包
- cp docker/* /usr/bin/ 将解压出来的docker文件复制到 /usr/bin/ 目录下
- vi /etc/systemd/system/docker.service 新增docker.service文件,复制进docker配置文件,这样可以将docker注册为service服务
docker配置文件如下:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s[Install]
WantedBy=multi-user.target
- chmod +x /etc/systemd/system/docker.service 给docker.service文件添加执行权限
- systemctl daemon-reload 重新加载配置文件(每次有修改docker.service文件时都要重新加载下)
- systemctl start docker 启动docker
- docker -v 查看docker版本
- systemctl status docker 查看docker状态
显示如上图则表示docker启动成功
daemon.json配置文件
- sudo mkdir -p /etc/docker
- vim daemon.json
daemon.json的配置文件内容如下:
{
“registry-mirrors”: [
“https://docker.1ms.run”,
“https://do.nark.eu.org”,
“https://hub.geekery.cn”,
“https://docker.linkedbus.com”,
“https://docker.cloudlayer.icu”,
“https://a.ussh.net”,
“https://docker.5z5f.com”
]
}
这里特别提醒一下 :该配置文件为镜像加速文件,如已经无法使用可去网站查找其他的镜像加速网址,例如阿里云镜像加速网址等等
- systemctl daemon-reload
- systemctl restart docker
安装docker-compose
前提
注意版本号
安装
上传docker-compose到 /usr/local/bin目录下面
(可以从docker-compose官网下载,也可以从github上下载)
下载地址:https://github.com/docker/compose/releases
步骤
- cd /usr/local/bin
- chmod +x /usr/local/bin/docker-compose
- docker-compose -v
效果图
安装gitea
步骤
- 上传docker-compose-gitea.yml到/usr/local/bin目录
# docker-compose-gitea.yml内容示例如下
version: "3"
networks:gitea:external: false
services:server:image: gitea/gitea:1.19container_name: giteaenvironment:- USER_UID=1000- USER_GID=1000restart: alwaysnetworks:- giteavolumes:- /home/local/gitea/data:/data- /home/local/gitea/timezone:/etc/timezone:ro- /home/local/gitea/localtime:/etc/localtime:roports:- "8081:3000"- "8082:22"
- 执行docker-compose命令
- 打开浏览器输入:ip:8081端口(8081是yml配置文件里面指定好的)
- 初始gitea配置
- 创建组织
- 创建仓库
- 上传代码
- 拉取代码
- 提交分支
- 查看更新状态
命令
cd /usr/local/bin
docker-compose -f docker-compose-gitea.yml up -d
效果图
执行docker-compose命令
接下来打开浏览器输入linux本机的ip地址加上8081端口,就可以看到gitea的页面了,然后按照提示进行配置即可。
浏览器登录gitea
例如本机ip地址为http://192.168.xxx.xxx:8081/(xxx为自定义ip地址,本例子隐藏所以用xxx)
浏览器初始gitea配置
如下为样本示例
登录之后,创建组织,创建仓库,上传代码,拉取代码,提交分支,查看更新状态等操作。
创建组织
创建仓库
Drone 安装
步骤
上述新令牌先保存好,只会出现一次,下次就看不到了。然后再进行创建应用。
进入这个页面之后先保持不动,切换到linux操作命令行,执行如下命令:
cd /usr/local/bin
docker-compose -f docker-compose-gitea.yml up -d
然后回到浏览器页面,点击创建应用,然后复制应用地址,回到linux命令行
执行如下命令:
cd /usr/local/bin
将docker-compose-drone.yml从网站上下载出来,移动到/usr/local/bin目录下如图
然后执行如下命令:
vim docker-compose-drone.yml
# docker-compose-drone.yml文件示例内容如下
version: '3'
services:drone-server:restart: alwaysimage: drone/drone:2.13.0container_name: drone-serverports:- "8083:80"volumes:- /home/local/drone/server/drone:/var/lib/drone/- /home/local/drone/server/data:/data/environment:- DRONE_GITEA_SERVER=http://192.168.126.130:8084- DRONE_GITEA_CLIENT_ID=3b972c45-59ab-4e9b-800e-8c436cd37b59- DRONE_GITEA_CLIENT_SECRET=gto_m3omsxcricdv5pngfmvsddks5zczs37l5tyw25zlbpesebca4q5q- DRONE_SERVER_HOST=192.168.126.130:8083- DRONE_SERVER_PROTO=http- DRONE_RPC_SECRET=eebf4781aa0d19a63aaac1ad9706e1ecbf3d8f6e- DRONE_GIT_ALWAYS_AUTH=true- DRONE_GIT_USERNAME=adminwl- DRONE_GIT_PASSWORD=links@123- DRONE_USER_CREATE=username:root,admin:truedrone-runner:restart: alwayscontainer_name: drone-runnerimage: drone/drone-runner-docker:1.2volumes:- /var/run/docker.sock:/var/run/docker.sock:rwenvironment:- DRONE_RPC_PROTO=http- DRONE_RPC_HOST=drone-server- DRONE_RPC_SECRET=eebf4781aa0d19a63aaac1ad9706e1ecbf3d8f6e- DRONE_RUNNER_NAME=drone-runner- DRONE_RUNNER_CAPACITY=2
docker-compose-drone.yml文件内容操作如下图:
docker-compose -f docker-compose-drone.yml up -d
这个地方特别提醒一下:
在我修改了一次docker-compose-drone.yml文件之后,执行docker-compose -f docker-compose-drone.yml up -d命令时,出现如下报错:
下面附上解决方法
sysctl net.ipv4.ip_forward
sudo sysctl net.ipv4.ip_forward=1
vim /etc/sysctl.conf
sysctl.conf中加入net.ipv4.ip_forward=1,这个为上述vim里面的操作
sudo sysctl -p
systemctl restart docker
进行防火墙开放8081 与 8083 端口操作如图
firewall-cmd --zone=public --add-port=8081/tcp --permanent
firewall-cmd --zone=public --add-port=8083/tcp --permanent
firewall-cmd --reload
访问drone的页面:http://ip:8083
效果图
例如本机ip地址为http://192.168.xxx.xxx:8083/(xxx为自定义ip地址,本例子隐藏所以用xxx)
如图填写注册信息
进去之后效果图如图
实现多用户共享文件如图:
非自动化部署
nginx安装
- 安装nginx配置环境
yum -y install gcc
yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
下载nginx安装包
wget http://nginx.org/download/nginx-1.21.2.tar.gz
mkdir nginx #创建nginx解压之后的文件
cp nginx-1.21.2.tar.gz nginx #将压缩包移入nginx文件
tar -xzvf nginx-1.21.2.tar.gz nginx #解压压缩包
cd nginx-1.21.2
输入一下命令进行编译
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
make || make install
cd /usr/local/nginx/sbin
然后运行它
redis安装
- 下载redis的安装包
下载地址:Index of /releases/
可自行选择版本,本例选择图中红框中的版本,下载到/usr/local/software目录下
tar -zxvf redis-7.2.3.tar.gz #解压redismv redis-7.2.3 /usr/local/ #移动到/usr/local目录下
cd /usr/local/redis-7.2.3 #进入到redis-7.2.3的目录
make install #编译安装
ls #查看redis-server是否安装成功
vim redis.conf #修改配置文件
注释掉bind 127.0.0.1
添加如下代码
找到daemonize 将no后面改为yes
将protected-mode 设置成no
- 启动redis
systemctl start redis #启动redis
systemctl enable redis #设置开机自启
systemctl status redis #查看redis状态
firewall-cmd --zone=public --add-port=6379/tcp --permanent #开放6379端口
firewall-cmd --reload #重新加载防火墙
which redis-server #查看redis-server的安装路径
./redis-server #启动redis
jdk安装
-
从官网上下载jdk
下载地址http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html -
将安装包移动到/usr/local/software目录下
-
解压安装包
tar -zxvf jdk-8u161-linux-x64.tar.gz
mv jdk-8u161-linux-x64.tar.gz jdk #重命名
效果图如下:
- 配置环境变量
vim /etc/profile
在文件末尾添加如下内容:
export JAVA_HOME=/usr/local/software/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HEMO/lib/tools.jar
java -version
得到如上图则表示jdk安装成功
自动化部署
tomcat
docker pull tomcat #拉取tomcat镜像
cd root
mkdir tomcat || cd tomcat
docker run -id --name=c_tomcat -p 8090:8080 -v $PWD:/usr/local/tomcat/webapps tomcat
#$PWD表示宿主机的当前目录在这里表示/root/tomcat
docker start tomcat
mkdir test
把xyj.zip上传到/root/tomcat/test下面,并解压缩
用浏览器访问ip:8090/test/xyj.html
nginx
docker pull nginx
docker run -d --name nginx01 -p 3344:80 nginx
curl localhost:3344
打开浏览器访问页面 ip:3344