美文网首页
使用阿里云完整部署项目

使用阿里云完整部署项目

作者: ACtong | 来源:发表于2020-07-18 12:54 被阅读0次

    一、购买阿里云

    参考: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

    相关文章

      网友评论

          本文标题:使用阿里云完整部署项目

          本文链接:https://www.haomeiwen.com/subject/rwjphktx.html