一、购买阿里云
参考: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
三、拷贝代码下来
- 测试打包后端代码:
./mvnw package-DskipTests
- 编译前端代码
进入前端代码目录
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
由于终端启动后,不能退出窗口,所以我们可以安装tmux:apt install tmux
- 键入
tmux
进入tmux分窗口 - 暂时退出当前tmux窗口,键入:
按下Ctrl+b d或者输入tmux detach命令
- 进入当前缓存窗口:
tmux attach
参考:https://www.ruanyifeng.com/blog/2019/10/tmux.html
七、对于无法外网无法访问阿里云地址
1、打开本地防火墙
2、打开阿里云实例的安全组
参考:https://blog.csdn.net/sd19871122/article/details/89395055
网友评论