Skip to content

CNCityRisk-web 是一个用于展示城市风险评估结果的 Web 应用程序

License

Notifications You must be signed in to change notification settings

youtian95/CNCityRisk-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CNCityRisk-web

CNCityRisk-web 是一个用于展示城市风险评估结果的 Web 应用程序,使用 Flask 框架构建。

BldLoss

说明文档

部署到服务器

配置环境

  1. 克隆仓库:
    git clone https://github.com/youtian95/CNCityRisk-web.git
  2. 使用conda创建虚拟环境并激活:
    source ~/.bashrc
    cd CNCityRisk-web
    conda create -p ./env python=3.11
    conda activate ./env
  3. 将安装包cncityrisk-0.1.0-py3-none-any.whl上传到当前目录。
  4. 安装依赖(GDAL用pip install会报错,所以先安装好):
    conda install -c conda-forge GDAL=3.7.3
    pip install cncityrisk-0.1.0-py3-none-any.whl
    pip install -r requirements.txt
  5. maps.7z损失图结果数据文件上传到~/CNCityRisk-web/CNCityRiskWeb/static/maps目录下。
  6. 修改~/CNCityRisk-web/.flaskenv
    vim ./.flaskenv
    修改为:
    FLASK_ENV=production
    FLASK_DEBUG=FALSE
    ...
    
  7. 添加config.ini文件:
    vim config.ini
    添加以下内容:
    [API]
    api_key_OpenTopography = your_key
    api_key_TDT = your_key

使用 Gunicorn 运行应用

Gunicorn 是一个 WSGI 服务器,用于运行 Flask 应用,并将其作为后台服务。

  1. 安装 Gunicorn
    pip install gunicorn
    
  2. 运行 Flask 应用(&在后台运行):
    gunicorn -w 4 -b 0.0.0.0:8000 wsgi:app &

配置 Nginx 作为反向代理

将所有来自外部的请求转发到 Gunicorn 来处理。

  1. 安装 Nginx:

    sudo apt-get install nginx
  2. 创建 Nginx 配置文件:

    sudo vim /etc/nginx/sites-available/cncityrisk-web

    添加以下内容:

    server {
        listen 80;
        server_name your_domain_or_IP; # 替换为你的域名或服务器的IP
    
        location / {
            proxy_pass http://127.0.0.1:8000;
            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_set_header X-Forwarded-Proto $scheme;
        }
    }
  3. 使用符号链接将配置文件链接到 sites-enabled:

    sudo ln -s /etc/nginx/sites-available/cncityrisk-web /etc/nginx/sites-enabled
  4. 启用配置并重启 Nginx:

    sudo systemctl restart nginx

完成

在浏览器中打开 http://your_domain_or_IP 查看应用程序。

更新服务器上的代码

  1. 拉取最新代码:

    cd ~/CNCityRisk-web
    git pull
  2. 上传建筑数据文件.\CNCityRisk\Data\BldData\cncityrisk包中的相应位置,上传地图数据文件CNCityRisk-web\CNCityRiskWeb\static\maps\maps.7z,上传安装包cncityrisk-0.1.0-py3-none-any.whl

  3. 更新依赖:

    pip install cncityrisk-0.1.0-py3-none-any.whl
    pip install -r requirements.txt
  4. 重启 Gunicorn 服务:

    sudo systemctl restart gunicorn
  5. 重启 Nginx 服务:

    sudo systemctl restart nginx

About

CNCityRisk-web 是一个用于展示城市风险评估结果的 Web 应用程序

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published