在使用 RockyLinux 部署应用或运行服务时,合理设置 环境变量 是确保程序正常运行的关键步骤。无论是数据库连接字符串、API密钥,还是自定义路径,都需要通过环境变量传递给服务进程。本文将详细讲解如何在 RockyLinux 中为服务正确配置环境变量,即使是 Linux 新手也能轻松上手。
一、什么是环境变量?
环境变量是操作系统中用来存储配置信息的键值对。例如
PATH变量告诉系统在哪里查找可执行文件,而你自己的服务可能需要
DATABASE_URL或
API_KEY等变量。
二、临时 vs 永久环境变量
在 RockyLinux 中,环境变量可分为两类:
临时变量:仅在当前终端会话有效,关闭终端后失效。 永久变量:写入配置文件,重启后依然有效,适用于服务长期运行。三、为服务设置永久环境变量的方法
方法1:修改用户级配置文件(适用于当前用户启动的服务)
编辑
~/.bashrc或
~/.bash_profile文件:
创建一个全局环境变量文件,例如 nano ~/.bashrc# 在文件末尾添加以下内容export MY_APP_ENV=productionexport DATABASE_URL="postgresql://user:pass@localhost/mydb"# 保存后执行以下命令使配置生效source ~/.bashrc 方法2:系统级环境变量(适用于所有用户和 systemd 服务)
/etc/environment
或使用 /etc/profile.d/
目录:
如果你的服务是通过 sudo nano /etc/profile.d/myapp.sh# 添加以下内容export MY_APP_ENV=productionexport API_KEY="your-secret-api-key-here"# 保存后重新登录或执行source /etc/profile.d/myapp.sh 方法3:为 systemd 服务单独设置环境变量(推荐用于后台服务)
systemd
管理的(如 Nginx、自定义 Python/Node.js 应用),建议直接在服务单元文件中指定环境变量。
首先,创建或编辑你的服务文件,例如
/etc/systemd/system/myapp.service:
保存后,重新加载 systemd 并重启服务: 你可以通过以下命令检查服务进程是否加载了正确的环境变量: 不要将敏感信息(如密码、密钥)硬编码在脚本中。对于生产环境,建议结合使用 掌握 RockyLinux环境变量 的配置方法,是进行高效 Linux服务部署 的基础。根据你的使用场景选择合适的方式:普通脚本可用用户级配置,系统服务则推荐使用 希望这篇关于 RockyLinux系统设置 的教程能帮助你顺利部署自己的应用!如有疑问,欢迎在评论区交流。[Unit]Description=My Custom ApplicationAfter=network.target[Service]User=myuserWorkingDirectory=/opt/myappExecStart=/usr/bin/python3 app.py# 直接在服务中设置环境变量Environment=MY_APP_ENV=productionEnvironment=DATABASE_URL=postgresql://user:pass@localhost/mydbEnvironment=LOG_LEVEL=infoRestart=always[Install]WantedBy=multi-user.target sudo systemctl daemon-reexecsudo systemctl daemon-reloadsudo systemctl restart myappsudo systemctl status myapp # 查看是否成功加载环境变量 四、验证环境变量是否生效
# 查找服务的 PIDps aux | grep myapp# 假设 PID 是 1234,查看其环境变量sudo cat /proc/1234/environ | tr '\0' '\n' | grep MY_APP_ENV 五、安全提示
systemd
的 EnvironmentFile
指令,将敏感变量存放在权限受限的文件中:# 创建环境变量文件sudo nano /etc/myapp.env# 内容示例DATABASE_URL=postgresql://user:secret_pass@localhost/mydbAPI_KEY=sk-xxxxxxxxxxxxxx# 设置权限(仅 root 可读)sudo chmod 600 /etc/myapp.env# 在 systemd 服务中引用EnvironmentFile=/etc/myapp.env 总结
systemd
的 Environment
或 EnvironmentFile
。正确设置 服务环境变量配置 不仅提升安全性,还能增强系统的可维护性。
