微服务 前后端分离部署环境
一、环境
后端: jdk1.8
windows下直接安装jdk1.8,点击下一步即可
linux下安装jdk百度可知
前端:nginx
windows下下载nginx服务压缩包即可运行
linux下安装nginx百度可知
二、打包
后端:
在项目的目录下可以在idea中点击package进行打包,也可以在项目文件目录下 mvn package
如果是依赖与其他模块的项目,需要先打包其他模块到本地仓库中(mvn install),才能将项目打包成功
<u>注意:如果项目更新了依赖模块需将本地仓库中的jar删除后重新打包</u>
前端:
在项目的目录下可以在idea中点击build进行打包,也可以在项目文件目录下 npm run build
三、部署
后端 部署后运行
windows环境下:
java -jar cylens-base-0.0.1-SNAPSHOT.jar
linux环境下(代表在后台运行):
nohup java -jar cylens-base-0.0.1-SNAPSHOT.jar &
前端部署运行
将打包后的单页面应用放入nginx里面的html文件夹下即可,启动nginx.exe
由于代理问题
nginx必须在配置文件中设置代理
在nginx目录下的conf下的nginx.conf
在server下面写:
配置完nginx.conf需要重启
location /api {
add_header 'Access-Control-Allow-Origin' '*';
proxy_pass http://localhost:8089/api;
}
四、java将配置文件打包在外面方便更改
1、先看项目结构(需要更改的文件)
2、POM文件添加build
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix></classpathPrefix>
<mainClass>springboot启动类</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<!-- The configuration of the plugin -->
<configuration>
<descriptors>
<!-- 存放配置文件的地方 -->
<descriptor>src/main/resources/config/package.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
3、添加package.xml
<?xml version="1.0" encoding="UTF-8"?>
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
<id>package</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<fileSets>
<!-- 把项目相关的说明文件,打包进zip文件的根目录 -->
<fileSet>
<directory>${project.basedir}</directory>
<outputDirectory>/</outputDirectory>
<includes>
<!--<include>*.sql</include>-->
<include>*.bat</include>
<include>*.md</include>
<!--<include>README*</include>-->
<!--<include>LICENSE*</include>-->
<!--<include>NOTICE*</include>-->
<!--<include>build.info</include>-->
</includes>
</fileSet>
<fileSet>
<directory>${project.basedir}/src/main/resources</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>config/*.xml</include>
<include>config/*.properties</include>
<include>*.properties</include>
</includes>
</fileSet>
<!-- 把项目自己编译出来的jar文件,打包进zip文件的根目录 -->
<fileSet>
<directory>${project.build.directory}</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>*.jar</include>
</includes>
</fileSet>
</fileSets>
</assembly>
4、添加快速启动的windows脚本 start.bat
java -jar -Dspring.config.location=%cd%\application.properties %cd%\cylens-tpm-server-0.0.1-SNAPSHOT.jar
5、打包后的项目目录
docker打包
docker build -t test .
dokcer运行
docker run -p 8761:8080 test
docker run -d -p 8761:8080 test
-d是后台运行
Docker常用命令
docker images 查看仓库所有的镜像
docker ps 查看执行的容器
docker ps -a 查看所有容器
docker stop id id是该容器的IMAGE ID 停止容器运行
docker rm id id是该容器的IMAGE ID 删除容器
docker rmi id id是该仓库的id 删除仓库镜像