使用阿里云完整部署项目

一、购买阿里云

参考:http://note.youdao.com/s/2L593s9G

二、设置云服务部署环境

1、用powershell远程连接:ssh root@ip地址公用的

在日常部署中,进去后一定要创建一个新用户

2、下载Java的docker
进入https://injdk.cn/,选择,然后复制链接,进入Linux进行下载
wget https://d2.injdk.cn/oracle/8/jdk-8u251-linux-x64.tar.gz

3、安装docker
参考官网:https://docs.docker.com/engine/install/ubuntu/

1. apt-get remove docker docker-engine docker.io containerd runc

2. apt-get update

3. apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common

4. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

5. apt-key fingerprint 0EBFCD88

6. add-apt-repository \  "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"

7. apt-get update

8. apt-get install docker-ce docker-ce-cli containerd.io

使用docker version 查看docker是否安装成功

4、解压缩下载好的Java:tar xf jdk-8u251-linux-x64.tar.gz
设置Java_Home:export JAVA_HOME=/root/jdk1.8.0_251/

配置Java环境变量

  • vi ~/.bash_profile
export PATH=$PATH:/root/jdk1.8.0_251/bin
  • source ~/.bash_profile
    查看成功即可
  • java -version

三、拷贝代码下来

  1. 测试打包后端代码:
    ./mvnw package-DskipTests
  2. 编译前端代码
    进入前端代码目录
1. curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
2. echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
3. apt update
4. apt install yarn
查看版本
5. yarn --version
1. curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
2. apt-get install -y nodejs
3. node -v
  • 安装npm,npm install
  • 安装:npm install node-sass
  • 编译:yarn build
    完成即可

3、安装redis zookeeper,mysql等工具

  • redis:
- docker pull redis
- docker run -d -p 6379:6379 redis
  • zookeeper
- docker pull zookeeper
- docker run -p 2181:2181 -d zookeeper
  • mysql
- docker pull mysql
- mkdir wxshop-data
- docker run -d -v `pwd`/wxshop-data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=wxshop --name=wxshop-mysql mysql
  • nginx
- docker pull nginx

4、初始化数据库数据
创建order数据库:

docker exec -it wxshop-mysql mysql -uroot -proot -e 'create database if not exists `order`'

./mvnw install -DskipTests
./mvnw flyway:migrate -pl wxshop-main
./mvnw flyway:migrate -pl wxshop-order

四、启动项目

1、使用jar方式启动项目(启动服务提供端)
如果没有配置环境变量,可以使用绝对路径Java(/root/jdk1.8.0_251/bin/java),并且使用指定端口(8082)启动

/root/jdk1.8.0_251/bin/java -Dserver.port=8082 -jar wxshop-order/target/wxshop-order-0.0.1-SNAPSHOT.jar

2、启动第二个程序(主程序)
默认端口8080

java -jar wxshop-main/target/wxshop-main-0.0.1-SNAPSHOT.jar

五、分布式部署

1、配置nginx

  • 创建一个/nginx-config/nginx.conf
events { }
http {
    upstream app{
        server 172.16.10.213:8080;
        server 172.16.10.213:8081;
    }

    server {
        listen 80;

        location /api {
            proxy_pass http://app;
        }

        location / {
            root   /static;
            autoindex on;
        }
    }
}
  • 配置一个静态资源
    创建一个 vi start_nginx.sh
docker run -d -p 5000:80 -v /root/westore-react-1/build:/static  -v /root/nginx-conf/nginx.conf:/etc/nginx/nginx.conf nginx

2、启动nginx
给权限1、chmod +x start_nginx.sh
启动:2、./start_nginx.sh

3、启动容器
修改Dockerfile文件

FROM openjdk:8u252-jdk

RUN mkdir /app

WORKDIR /app

COPY wxshop-main/target/wxshop-main-0.0.1-SNAPSHOT.jar /app

EXPOSE 8080

CMD [ "java", "-jar", "wxshop-main-0.0.1-SNAPSHOT.jar" ]

启动build wxsho-main的docker容器
docker build . -t wxshop-main
运行容器
docker run wxshop-main

3、更换容器内部的配置文件(yml中的)

  • 创建一个目录:mkdir wxshop-docker
  • 把配置粘贴进去,并且把localhost改为宿主机的IP(Linux容器的IP)
  • 然后把配置传递进去,并且指定端口
docker run -it -v `pwd`/application.yml:/app/application.yml -p 8081:8080 wxshop-main

成功后可以把-it改为-d,使用-it可以看到详细信息
这样分布式部署就完成了

六、安装tmux

由于终端启动后,不能退出窗口,所以我们可以安装tmuxapt install tmux

  1. 键入 tmux 进入tmux分窗口
  2. 暂时退出当前tmux窗口,键入:按下Ctrl+b d或者输入tmux detach命令
  3. 进入当前缓存窗口:tmux attach
    参考:https://www.ruanyifeng.com/blog/2019/10/tmux.html

七、对于无法外网无法访问阿里云地址

1、打开本地防火墙
2、打开阿里云实例的安全组
参考:https://blog.csdn.net/sd19871122/article/details/89395055

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,922评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,591评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,546评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,467评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,553评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,580评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,588评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,334评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,780评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,092评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,270评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,925评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,573评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,194评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,437评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,154评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352