# 开发和部署
# 本地开发
- flash-api默认使用8082端口,所以启动后将提供http://localhost:8082接口服务,可以通过 访问http://localhost:8082/swagger-ui.html验证api服务是否成功启动
- flash-vue-admin项目中的vue.config.js配置了开发环境的api地址,如果更改api的端口,则需要配合调整
target:`http://localhost:8082`
- 用户通过浏览器debug看到的api地址是http://localhost:9528/dev-api,但是实际上会被proxy代理到http://localhost:8082
# 生产部署
- 运行:npm run build:prod可以构建出生产环境的前端部署文件
- 前端链接的api服务地址为前端地址+prod-api,
以本项目演示环境为例,前端地址为:http://flashadmin.enilu.cn
那么请求的api地址为:http://flashadmin.enilu.cn/prod-api
可以通过访问http://flashadmin.enilu.cn/prod-api/swagger-ui.html来检测生产环境的api服务是否正常
- 用户通过浏览器debug看到的api地址是http://flashadmin.enilu.cn/prod-api/,但是实际上会被代理软件(建议使用nginx)转发到实际的api地址
下面给出本人的nginx配置供参考:
server {
listen 80;
server_name flashadmin.enilu.cn;
access_log /data/app/runtime/log/nginx/flashadmin.access.log main;
location /{
alias /opt/web-flash/admin/;
index index.html index.htm;
}
location /prod-api/{
proxy_ignore_client_abort on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 600s;
proxy_pass http://localhost:8080/api/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
# api服务打包
系统默认提供了打包为war以便部署到web容器(例如tomcat)的配置 flash-api/pom.xml
<!--以war形式运行 配置开始-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warName>api</warName>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<!-- 以war形式运行 配置结束-->
如果你想打包成jar,直接使用jar命令运行该api服务,可以将使用下面配置替换掉上面
<!--以jar包形式单独部署 配置开始-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>cn.enilu.flash.api.ApiApplication</mainClass>
<layout>ZIP</layout>
<finalName>flash-api</finalName>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<!--以jar包形式单独部署 配置结束-->