数据管理编辑配置文件

编辑配置文件

在运行服务时,你可以通过配置文件来自定义服务的各项设置,Zeabur 提供了配置文件编辑器,让你可以通过编辑器来指定配置文件的存储位置和内容。在服务启动时,会自动挂载配置文件。

这里我们使用 NGINX 反向代理内网的 vaultwarden 服务,来示范配置文件编辑器更改 NGINX 配置文件的流程。

步骤一:创建项目

Zeabur Dash 创建 Project。

步骤二:创建服务

在上述 Project 中分别创建 NGINX 和 Vaultwarden 的 Prebuilt Service。

创建 NGINX 服务

创建 Vaultwarden 服务

步骤三:编辑 Nginx 服务配置文件

  1. 在 Services 区中,点击 NGINX 服务的 Settings 区块的下拉按钮,找到 Configs 部分后点击 Open Config Editor 按钮,进入配置文件编辑器。

打开配置文件编辑器

  1. 在打开的编辑器中,点击 Add Config file 按钮新增一个配置文件。在弹出表单的 Config Path 输入框打上配置文件的路径和名称,这里我们输入 /etc/nginx/nginx.conf,接着点击 Save Config 按钮。

新增配置文件

💡

上方的 Config Path 需要输入配置文件的绝对路径,请根据实际情况调整。

  1. 根据需求编辑配置文件的内容,这里我们新增一个 server 区块,用来反向代理 Vaultwarden 服务。
worker_processes  4;
error_log  stderr;
worker_rlimit_nofile 8192;
 
events {}
 
http {
  default_type application/octet-stream;
  log_format   main '$remote_addr - $remote_user [$time_local]  $status '
    '"$request" $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for"';
  access_log   /dev/stdout  main;
  sendfile     on;
  tcp_nopush   on;
  server_names_hash_bucket_size 128; # this seems to be required for some vhosts
 
  map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      "";
  }
 
  server {
    listen 80 default_server;
    server_name _;
 
    location / {
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection $connection_upgrade;
 
      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;
 
      proxy_pass http://vaultwarden.zeabur.internal:80;
    }
  }
}

为了让其他人可以通过 NGINX 服务访问我们的内部 Vaultwarden 服务,我们在 NGINX 中使用 proxy_pass http://vaultwarden.zeabur.internal:80; 指令,表示让 NGINX 将连接到此处的所有请求都代理到 Vaultwarden。我们利用 私有网络 功能,在我们的私有网络中通过固定主机名称访问 Vaultwarden。

  1. 点击 Save 按钮保存配置。

保存配置文件

步骤四:重新启动服务

在上述步骤中,我们已经完成了配置文件的编辑,接下来我们需要重新启动服务。点击服务状态的“重新启动服务”按钮重新启动服务,以使配置文件生效。

重新启动服务

将域名绑定到 NGINX 服务后,即可通过域名访问 Vaultwarden 服务。

访问 Vaultwarden

在 Template YAML 中预先指定配置文件

您可以在「服务规格」中使用 configs 来预先指定这个服务的配置文件。相关信息可参考〈从 YAML 创建模板〉一文。