1. 临时(仅当前 shell 会话,关闭终端失效)

export LAN_SECRET_KEY=”MY_SUPER_SECRET_KEY”
export DOUBAO_API_KEY=”sk-xxxxx”

查看:`echo $LAN_SECRET_KEY` 或`env | grep LAN`

2. 单条命令临时生效(不污染当前 shell)
LAN_SECRET_KEY=”MY_SUPER_SECRET_KEY” python -m uvicorn app.main:app
# 或 systemd 启动服务时一行搞定

3. 永久 – 当前用户(推荐用于个人开发/部署)

写入`~/.bashrc` (bash)或`~/.zshrc` (zsh):

echo ‘export LAN_SECRET_KEY=”MY_SUPER_SECRET_KEY”‘ >> ~/.bashrc
echo ‘export DOUBAO_API_KEY=”sk-xxxxx”‘ >> ~/.bashrc
source ~/.bashrc # 立即生效,否则要重开终端

4. 永久 – 全局所有用户(生产服务器慎用)
sudo vim /etc/environment
# 写入(注意此文件不能用 export,且不用引号包裹值)
LAN_SECRET_KEY=MY_SUPER_SECRET_KEY

或`/etc/profile.d/xxx.sh` (支持 export,更灵活):

sudo tee /etc/profile.d/lan_app.sh <<EOF
export LAN_SECRET_KEY=”MY_SUPER_SECRET_KEY”
export DOUBAO_API_KEY=”sk-xxxxx”
EOF
source /etc/profile.d/lan_app.sh

5. systemd 服务专用(生产部署推荐)

这与 FastAPI 项目最相关 ——

服务由 systemd 托管时,shell 的`.bashrc` 不会加载,需要在 service unit 里指定:

# /etc/systemd/system/lan_app.service
[Service]
Environment=”LAN_SECRET_KEY=MY_SUPER_SECRET_KEY”
Environment=”DOUBAO_API_KEY=sk-xxxxx”

# 或读一个文件
EnvironmentFile=/etc/lan_app.env
ExecStart=/path/to/uvicorn app.main:app –host 0.0.0.0 –port 8000

`/etc/lan_app.env` 格式(不要 export,不要引号):

LAN_SECRET_KEY=MY_SUPER_SECRET_KEY
DOUBAO_API_KEY=sk-xxxxx

然后:

sudo systemctl daemon-reload
sudo systemctl restart lan_app

作者 admin

百度广告效果展示