前面文章里有个需求就是上传KML航点到服务器并且从服务器下载下来,整个流程其实倒也不复杂,但是后续部署的时候做个简单参考,效率会提升很多:
首先是代码里的的yml文件存储路径先指向nginx对应的地址,比如我的就是域名下的/home/xxx/xxx/upload地址。这样jar包上传文件的位置可以在nginx里映射出来。
比如yml里对应的位置:application.yml
spring:
application:
name: xxx
servlet:
multipart:
max-file-size: 50MB
max-request-size: 50MB
server:
port: 8088
file:
upload:
url: /home/xxx/upload
save:
flightCourse: /home/xxx/save
logging:
file:
name: logs/xxx.log
那么nginx的域名指向或者ip指向也要locate到/home/xxx/里:nginx.conf
server
{
listen 80;
#listen [::]:80;
server_name blog.superfyx.top ;
index index.html index.htm index.php default.html default.htm default.php;
root /home/xxx;
#include rewrite/none.conf;
#error_page 404 /404.html;
# Deny access to PHP files in specific directory
#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
include enable-php.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /.well-known {
allow all;
}
location ~ /\.
{
deny all;
}
location /api {
proxy_pass http://xxx.xxx.xxx.xxx:端口;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
}
access_log off;
}
这样可以把文件存储到本地后再通过拼接地址,返回下载地址,用户通过域名拼接路径就可以下载文件
tips:注意IP端口要放开,重启nginx
那么服务的文件上传或者文件的下载整个流程在云服务器上就通了。
发表回复