基于ubuntu搭建gdal的环境
1 安装docker
curl-fsSL get.docker.com -o get-docker.sh
sudosh get-docker.sh --mirror Aliyun
2 安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
3 安装镜像
1-nacos
git clone https://github.com/nacos-group/nacos-docker.git
cd nacos-docker
# (需要到yaml中指点版本号)我用的2.0.2
docker-compose -f example/standalone-derby.yaml up
2-redis
docker run -itd --name redis -p 6379:6379 redis
3-postgresql 带pgis插件
docker run --name postgis --restart always -e POSTGRES_PASSWORD=123456 -v /home/docker/psql/data:/var/lib/postgresql/data --privileged=true -p 5435:5432 -d postgis/postgis
4 nginx
1)docker run --name nginx-test -p 9002:80 -v /home/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf.d:/etc/nginx/conf.d -v /home/nginx/htpasswd:/htpasswd -v /home/file:/file -d nginx:1.23.2 废弃(考虑到带宽和速度)
sudo apt install nginx
目录 /etc/nginx
配置 /etc/nginx/nginx.conf
鉴权用户密码 需要加密 /etc/nginx/htpasswd (docker和linux的htpasswd 需要加密 win则直接明文存储)
htpasswd 安装命令
sudo apt install apache2-utils
文件服务器根目录 /home/file
server { listen 9002 ; autoindex on;
location /file {
add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS'; add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
# add_header Access-Control-Allow-Origin *;
# add_header Access-Control-Allow-Credentials true;
# add_header Access-Control-Allow-Headers Origin,X-Requested-Width,Content-Type,Accept,Authorization;
# add_header Access-Control-Allow-Methods *;
# add_header Access-Control-Max-Age 1728000; if ($request_method = 'OPTIONS') { return 204; }
alias /home/file;
auth_basic "nginx basic auth"; auth_basic_user_file /etc/nginx/htpasswd;
# 文件显示功能 autoindex on; #开启索引功能 autoindex_exact_size off; #关闭计算文件确切大小(单位bytes),只显示大概大小(单位kb、mb、gb) autoindex_localtime on; #显示本机时间而非 GMT 时间
}}
5 安装python
https://www.jianshu.com/p/347e87e9d73b
5 安装gdal
sudo apt install gdal-bin
sudo add-apt-repository -y ppa:ubuntugis/ppa
sudo apt update
sudo apt upgrade
apt install gdal-bin python-gdal python3-gdal libgdal-dev
gdalinfo --version
//ps:目前最新的版本3.0.1
如果版本不够就去gdal 官网下载zip压缩包 将要执行的.py的路径指定到解压的包中
python /home/software/gdal/gdal-3.6.3/swig/python/gdal/utils/osgeo_utils/gdal2tiles.py
6、前后端包
后端 : /home/java/
前端:: /home/software/vue/
需将nginx 转发到目录下
server{
listen 8989;
server_name localhost;
location / {
client_max_body_size 102400000m;
client_body_buffer_size 10000000m;
root /home/software/vue/monitorWatcher;
index index.html;
try_files $uri $uri/ /index.html;
}
location /service-back {
client_max_body_size 102400000m; #允许客户端请求的最大单文件字节数,人话:能上传多大文件
client_body_buffer_size 10000000m; #缓冲区代理缓冲用户端请求的最大字节数,人话:一次能接受多少文件,建议根据带宽上限设置,减少磁盘读写,加快速度
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://localhost:8988;
}
#转到nginx文件服务器
location /map-service {
client_max_body_size 102400000m;
client_body_buffer_size 10000000m;
rewrite ^/map-service/(.*)$ /$1 break;
proxy_pass http://localhost:9002;
}
}