> 文章列表 > 项目部署常见问题

项目部署常见问题

项目部署常见问题

1、前后端分离

需要在配置文件中添加如下代码:然后把前端代码放置到dist 目录下即可

server.viewUrl :  /u01/isi/39/system/web/dist/

2、项目和依赖包分离

2.1  修改pom文件中打包配置、此时install后lib包和项目分离

    <build><finalName>opera_analysis</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>1.5.6.RELEASE</version><configuration><mainClass>com.wengegroup.opera_analysis.OperationalAnalysisApplication</mainClass></configuration><executions><execution><id>repackage</id><goals><goal>repackage</goal></goals></execution></executions></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><layout>ZIP</layout><!-- 注释后和依赖包一起打包 取消注释则不打包依赖--><includes><include><groupId>nothing</groupId><artifactId>nothing</artifactId></include></includes></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><executions><execution><id>copy-lib</id><phase>package</phase><goals><goal>copy-dependencies</goal></goals><configuration><outputDirectory>target/lib</outputDirectory><excludeTransitive>false</excludeTransitive><stripVersion>false</stripVersion><includeScope>runtime</includeScope></configuration></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><configuration><testFailureIgnore>true</testFailureIgnore></configuration></plugin></plugins><resources><resource><directory>src/main/resources</directory><includes><include>/*.xml</include><include>/*.properties</include><include>/*.lua</include><include>public/</include><include>template/</include></includes></resource><resource><directory>src/main/java</directory><includes><include>/*.properties</include><include>/*.xml</include><include>/*.lua</include></includes></resource></resources></build>

2.2 修改启动脚本-增加-Dloader.path=lib


nohup  java -XX:+UseG1GC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -Xloggc:./gclog/gc.log  -Xms3g -Xmx3g -jar -Dloader.path=lib -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5219 opera-system.jar > default.log 2>&1 &
~    

3、配置文件外置

java -jar  启动的时候会优先读取config目录下的配置文、可以把配置文件外置到config目录下、可以通过spring.profiles.active:dev 读取特定文件

4、nginx配置

4.1 路由到特定服务、在配置文件中加如下代码

    location /sp {proxy_pass http://172.16.102.33:18088;proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_http_version 1.1;}

4.2 路由特定web 服务

  location /siling_gzxd_face/ {alias /u01/isi/gzdx_face/;}

5、涉及的到常见linux命令

查看端口号:  lsof -i: 18090 

[isi@meixuan-33 dqgz-system]$ lsof -i:18090
COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
java    20633  isi  285u  IPv6 83827872      0t0  TCP *:18090 (LISTEN)
 

对 jar 解压:jar -xvf dqgz-system.jar 

springboot 项目jar包解压后、修改配置文件后、在不依赖开发工具的情况下、重新压缩jar包、命令是:jar -cvfM0 xxx.jar .