设计师项目后端API
数据准备
搭建Wordpress做为CMS系统
1 | apt-get install nginx |
配置Nginx
1 | server { |
安装wordpress生成数据库
wordpress安装不在这里写了
爬取数据到wordpress数据库
这里先不介绍爬虫项目了,有很多JAVA的开源项目可以用。这里是参照了。WebCollector 写了一个简单的.
wordpress到Mongodb
写了一个简单的JAVA程序加脚本去定时按修改时间更新数据
1 | ps aux | grep lifeix-designer-w2m | grep -v 'grep' |awk '{print $2}'|xargs kill |
SpringBoot 项目
https://start.spring.io/ 可以利用spring官网直接生成项目结构,定义好group
和Artifact
并选择所需要的依赖,生成即可。我在这里使用了jersey
做rest
构架
生成结构如下:
1 | ├── mvnw |
可以直接运行LifeixDesignerPostApplication
项目docker 打包镜像
跳过项目逻辑,在项目main 文件目录创建docker/Dockerfile
Dockerfile
如下
1 | FROM java:8-jre VOLUME /tmp ADD app.jar app.jar RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo "Asia/Shanghai" > /etc/timezone RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] |
直接利用maven
打docker包需要引入docker-maven-plugin
在pom.xml
添加
1 | <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.6</version> <configuration> <dockerHost>${dockerHost}</dockerHost> <dockerCertPath>${dockerCertPath}</dockerCertPath> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> |
由于使用了阿里云的容器集群所以在dockerHost 及dockerCertPath加入了相关信息
镜像及发布
添加完成后使用maven 命令打包
1 | mvn clean -Dmaven.test.skip=true -P prod package docker:build -DpushImagetags -DdockerImagetags=$tagnum |
推送至阿里云镜像仓库后在其容器服务的应用列表中创建应用,选择对应的镜像,注意打开对应的端口映射,springboot
默认的端口号是8080,点击创建,阿里云会自动将应用部署成服务.
在 容器服务的服务列表中可以看到此服务对应的容器信息。你可以根据暴露的ip测试了。
负载均衡
阿里云在创建集群的时候也会创建一个负载均衡,在域名的解析中添加至负载均衡的ip,你就可以使用域名访问啦(当然域名是需要备案的)