Mall项目部署记录

1、2020年9月23日

决定将

我的腾讯云:mysql、redis和mall-admin、mall-search、mall-port

朋友的阿里云:nginx、mq、mongodb

朋友的腾讯云:es、logstash、kibana

 

docker安装:一句命令自动安装:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

参考:https://www.runoob.com/docker/ubuntu-docker-install.html

Redis安装

  • 用docker拉取镜像
docker pull redis:5
  • 使用如下命令启动Redis服务:
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-d redis:5 redis-server --appendonly yes
  • 进入Redis容器使用redis-cli命令进行连接:
docker exec -it redis redis-cli

Nginx安装

参考:http://www.macrozheng.com/#/deploy/mall_deploy_docker?id=redis%e5%ae%89%e8%a3%85

  • 下载Nginx1.10的docker镜像:
docker pull nginx:1.10Copy to clipboardErrorCopied
  • 先运行一次容器(为了拷贝配置文件):
docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx  \
-d nginx:1.10Copy to clipboardErrorCopied
  • 将容器内的配置文件拷贝到指定目录:
docker container cp nginx:/etc/nginx /mydata/nginx/
  • 修改文件名称:
mv nginx conf
  • 终止并删除容器:
docker stop nginx
docker rm nginx
  • 使用如下命令启动Nginx服务:
docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx  \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.10

RabbitMQ安装

  • 下载rabbitmq3.7.15的docker镜像:
docker pull rabbitmq:3.7.15Copy to clipboardErrorCopied
  • 使用如下命令启动RabbitMQ服务:
docker run -p 5672:5672 -p 15672:15672 --name rabbitmq \
-d rabbitmq:3.7.15Copy to clipboardErrorCopied
  • 进入容器并开启管理功能:
docker exec -it rabbitmq /bin/bash
rabbitmq-plugins enable rabbitmq_managementCopy to clipboardErrorCopied

  • 开启防火墙:
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --reloadCopy to clipboardErrorCopied

  • 输入账号密码并登录:guest guest

  • 创建帐号并设置其角色为管理员:mall mall

  • 创建一个新的虚拟host为:/mall

  • 点击mall用户进入用户配置页面

  • 给mall用户配置该虚拟host的权限

2020年10月11日

docker开启远程:

https://blog.csdn.net/weixin_46235241/article/details/104108567

https://blog.csdn.net/xp_lx1/article/details/85258495

2010年10月12日

docker的配置文件更改出问题,导致docker无法重启,复制该答案中的配置文件,即可重启成功。

https://www.jianshu.com/p/7d38cd3bf387

[root@localhost ~]# cat /usr/lib/systemd/system/docker.service
[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

遇到的问题:

这几天就是为了给docker设置部署的自动覆盖功能,结果弄了几天,覆盖功能没有实现,还搞出一大堆问题,搞了个寂寞;

 

2020年10月13日

docker的完全卸载:

https://www.cnblogs.com/shmily3929/p/12085163.html

先用这个命令:

sudo apt-get autoremove docker docker-ce docker-engine  docker.io  containerd runc

用下面的命令查看自己安装哪些东西

dpkg -l | grep docker

然后逐个卸载

1、

sudo apt-get remove docker-ce-cli

2、

sudo apt-get remove docker-ce

用docker -v查看,结果可以看到都没了

下面删除一些配置文件

 dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P # 删除无用的相关的配置文件

用查看命令查找还有没有和docker有关的文件  find / -name docker  可见还是有很多,但是不知道是不是可以删除的,先不管。

安装特定版本的docker:https://www.runoob.com/docker/ubuntu-docker-install.html

我安装的:5:18.09.0~3-0~ubuntu-xenial

sudo apt-get install docker-ce=5:18.09.0~3-0~ubuntu-xenial docker-ce-cli=5:18.09.0~3-0~ubuntu-xenial containerd.io

2020年10月14日

重装云服务器,然后添加root用户

1. 默认用户登录(如,ubuntu)

2. 设置root用户密码

sudo passwd root

输入密码, 再重复确认输入一次

3. 允许root远程登录

sudo vi /etc/ssh/sshd_config

将PermitRootLogin 置为yes

# Authentication:
LoginGraceTime 120
# PermitRootLogin prohibit-password
PermitRootLogin yes
StrictModes yes

保存退出.

4. 重启ssh服务

sudo service ssh restart

5. 使用mobaxterm等远程桌面以root身份登录

启用docker:注意要用线程保护的方式启动:systemctl start docker

给Ubuntu安装Java环境和配置环境变量

https://cloud.tencent.com/developer/article/1162527

给Ubuntu安装maven环境(其中配置文件打开空白的话,可以用Xftp5直接进入可视化修改):

https://cloud.tencent.com/developer/article/1531069

尝试用覆盖标签的方式进行自动部署和覆盖:https://blog.csdn.net/shenzhen_zsw/article/details/90291746

 

遇到的坑:修改完docker地址和端口之后,需要在maven里面清一下缓存,不然点击package还是用原来的配置,操!!!

所以应该先点clean,再点击package。

启动logstash:

docker run --name logstash -p 4560:4560 -p 4561:4561 -p 4562:4562 -p 4563:4563 \
--link elasticsearch:106.55.22.253:9200 \
-v /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \
-d logstash:7.6.2

部署mall-admin

docker run -p 8080:8080 --name mall-admin \
--link mysql:db \
--link redis:redis \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/admin/logs:/var/logs \
-d mall/mall-admin:1.0-SNAPSHOT
docker run -p 8081:8081 --name mall-search \
--link 106.55.22.253:9200 \
--link mysql:db \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/search/logs:/var/logs \
-d mall/mall-search:1.0-SNAPSHOT

部署mall-port

docker run -p 8085:8085 --name mall-portal \
--link mysql:129.204.153.156:3306 \
--link redis:redis \
--link mongo:mongo \
--link rabbitmq:rabbit \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/portal/logs:/var/logs \
-d mall/mall-portal:1.0-SNAPSHOT

查看docker日志:

https://www.jianshu.com/p/1eb1d1d3f25e

1、查看指定时间后的日志,只显示最后100行:

$ docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID

2、查看最近30分钟的日志:

$ docker logs --since 30m CONTAINER_ID

3、查看某时间之后的日志:

$ docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID

4、查看某时间段日志:

$ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID

查看端口被占用情况:

如查看3306端口使用情况:

lsof -i : 3306

如查看3306的方法二:

netstat -an |grep 3306

2020年10月18日

因为在本地运行没啥问题,打包出来运行项目就报错,而且本地的maven依赖有很多爆红

所以猜测是maven工程依赖的问题,更换了maven的本地仓库位置

然后在idea终端执行下面两条命令,让maven自动从中央仓库下载需要的jar包

mvn compile
mvn clean

运行完后,maven自动下载了很多有用了的依赖。

 

上面的处理方式还是有问题,网上说是maven版本比idea高太多的原因,然后我将maven从3.6.3降到3.3.9.结果就可以了

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值