下面将前端、后端部署到服务器上,dubbo注册到zk注册中心,前端通过nginx代理访问。
一、api
1、pom文件加上:
<build>
<finalName>mysercurity-api</finalName>
<plugins>
<plugin>
<artifactId>maven-release-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.1</version>
<configuration>
<descriptors>
<descriptor>src/main/assemble/package.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<excludes>
<exclude>**/*.properties</exclude>
<exclude>**/*.xml</exclude>
<exclude>**/*.html</exclude>
<exclude>config</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
2、src/main下新建assemble文件夹,assemble下新建package.xml:
<assembly xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/assembly-1.0.0.xsd">
<id>package</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<fileSets>
<fileSet>
<filtered>true</filtered>
<directory>src/main/bin</directory>
<outputDirectory>/bin</outputDirectory>
</fileSet>
<fileSet>
<filtered>false</filtered>
<directory>src/main/resources</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet>
<filtered>true</filtered>
<directory>src/main</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>readme.txt</include>
</includes>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
<scope>runtime</scope>
<excludes>
<exclude>org.springframework.boot:spring-boot-devtools</exclude>
</excludes>
</dependencySet>
</dependencySets>
</assembly>
3、进入pom所在目录下,mvn clean package或者使用工具打包,打包成功后target下生成mysercurity-api.jar;
api打包完成
二、service:
1、修改application.properties中的数据库地址为测试环境数据库地址;
2、修改dubbo配置文件注册到zk注册中心:(register改完true)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:application name="mysercurity-service"/>
<dubbo:provider timeout="3000" retries="0"/>
<!-- register改为false只订阅不注册到注册中心 -->
<dubbo:registry protocol="zookeeper" address="192.168.57.xxx:2181,192.168.57.xxx:2181,192.168.59.xxx:2181"
register="true" check="false"/>
<dubbo:protocol name="dubbo" port="20881"/>
<dubbo:service interface="com.demo.service.UserService" ref="userService"></dubbo:service>
<dubbo:service interface="com.demo.service.RoleService" ref="roleService"></dubbo:service>
</beans>
3、src/main下新建assemble目录(同上一2)和bin目录,bin下新建start.sh脚本:
#!/bin/sh
#if [ -z "$1" ]; then
# echo "请在参数中指定进程Id文件的名称!"
# exit 1
#fi
CURRENT_DIR=$(pwd)
PROJECT_DIR=$CURRENT_DIR"/.."
# echo $PROJECT_DIR
CLASSPATH=
CLASSPATH=$CLASSPATH:$PROJECT_DIR
CLASSPATH=$CLASSPATH:$CURRENT_DIR"/../lib/*"
# echo $CLASSPATH
APPNAME=com.demo.ServiceStart
java -Xms2048M -Xmx2048M -classpath $CLASSPATH $APPNAME start >/usr/logs/service.log 2>&1 &
echo $! > "./ServiceStart.pid"
echo "started"
4、pom文件:
加上打包配置:
<build>
<finalName>my-sercurity-service</finalName>
<plugins>
<plugin>
<artifactId>maven-release-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.1</version>
<configuration>
<descriptors>
<descriptor>src/main/assemble/package.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<excludes>
<exclude>**/*.properties</exclude>
<exclude>**/*.xml</exclude>
<exclude>**/*.html</exclude>
<exclude>config</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
另外为了打包能够引入本地api jar包,在与pom同级目录创建thirdlibs目录,将步骤一中生成的api jar包拷贝进去,同时pom文件中依赖api的配置需要修改下:
<!-- api -->
<dependency>
<groupId>com.demo</groupId>
<artifactId>mysercurity-api</artifactId>
<version>1.0.0-SNAPSHOT</version>
<scope>system</scope>
<!-- <systemPath>E:\workspace8\mysercurity-api\target\mysercurity-api.jar</systemPath>-->
<systemPath>${project.basedir}/thirdlibs/mysercurity-api.jar</systemPath>
</dependency>
5、打service的包,将生成的zip上传到服务器上并解压,再把api包复制到bin目录下:
6、启动,从dubbo-admin后台管理可以看到服务注册成功:
三、rest:
1、修改application.properties、RedisClient.java的redis地址为测试环境地址;
2、修改dubbo配置文件,连接zk注册中心的服务:(去掉url="dubbo://127.0.0.1:20881")
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:application name="mysercurity-test" />
<dubbo:consumer timeout="3000" retries="0" check="false"/>
<dubbo:registry protocol="zookeeper" address="192.168.57.xxx:2181,192.168.57.xxx:2181,192.168.59.xxx:2181" register="false" timeout="100000"/>
<!-- 加上 url="dubbo://127.0.0.1:20881" 表示直连本地-->
<dubbo:reference interface="com.demo.service.UserService" id="userService"
/>
<dubbo:reference interface="com.demo.service.RoleService" id="roleService"
/>
</beans>
3、src/main下新建assemble目录(同上一2)和bin目录,bin下新建start.sh脚本:
#!/bin/sh
#if [ -z "$1" ]; then
# echo "请在参数中指定进程Id文件的名称!"
# exit 1
#fi
CURRENT_DIR=$(pwd)
PROJECT_DIR=$CURRENT_DIR"/.."
# echo $PROJECT_DIR
CLASSPATH=
CLASSPATH=$CLASSPATH:$PROJECT_DIR
CLASSPATH=$CLASSPATH:$CURRENT_DIR"/../lib/*"
# echo $CLASSPATH
APPNAME=com.demo.RestStart
java -Xms2048M -Xmx2048M -classpath $CLASSPATH $APPNAME start >/usr/logs/rest.log 2>&1 &
echo $! > "./RestStart.pid"
echo "started"
4、pom文件加上打包配置:
<build>
<finalName>my-sercurity-rest</finalName>
<plugins>
<plugin>
<artifactId>maven-release-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.1</version>
<configuration>
<descriptors>
<descriptor>src/main/assemble/package.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<excludes>
<exclude>**/*.properties</exclude>
<exclude>**/*.xml</exclude>
<exclude>**/*.html</exclude>
<exclude>config</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
;
另外为了打包能够引入本地api jar包,在与pom同级目录创建thirdlibs目录,将步骤一中生成的api jar包拷贝进去,同时pom文件中依赖api的配置需要修改下:
<!-- api -->
<dependency>
<groupId>com.demo</groupId>
<artifactId>mysercurity-api</artifactId>
<version>1.0.0-SNAPSHOT</version>
<scope>system</scope>
<!-- <systemPath>E:\workspace8\mysercurity-api\target\mysercurity-api.jar</systemPath>-->
<systemPath>${project.basedir}/thirdlibs/mysercurity-api.jar</systemPath>
</dependency>
5、打rest的包,将生成的zip上传到服务器上并解压;再把api包复制到bin目录下,同二5
6、启动。
四、前端:
执行npm run build生成dist文件夹,将dist上传到服务器,配置nginx代理这个静态目录。
访问这个代理地址即可。