在腾讯云轻量应用服务器(Lighthouse)上部署 PostgreSQL 主要有两种方式:使用官方镜像一键部署(推荐,简单快速)和 手动安装配置(灵活可控)。以下是详细步骤:
✅ 方式一:使用官方镜像一键部署(推荐)
步骤 1:登录腾讯云控制台
访问 腾讯云轻量应用服务器控制台。
步骤 2:创建或选择实例
- 若已有实例:进入实例列表,点击目标实例的「管理」。
- 若需新建:点击「创建」→ 选择地域、带宽、系统盘等 → 操作系统选择「PostgreSQL 镜像」(如
PostgreSQL 14、PostgreSQL 15等)。
💡 注意:部分镜像已预装好 PostgreSQL,并自动配置了基础安全组规则。
步骤 3:初始化数据库
- 创建成功后,进入实例详情页。
- 点击左侧菜单「重置密码」或查看「初始密码」(首次启动时自动生成)。
- 通过 SSH 登录服务器:
ssh root@<你的公网IP> # 输入初始密码(首次登录会提示修改)
步骤 4:连接 PostgreSQL
# 默认用户通常是 postgres
sudo -u postgres psql
或指定端口(默认 5432):
psql -U postgres -h localhost -p 5432
步骤 5:配置远程访问(可选但重要)
编辑配置文件:
sudo nano /etc/postgresql/14/main/pg_hba.conf # 版本号根据实际调整
添加一行允许远程连接(示例):
host all all 0.0.0.0/0 md5
然后重启服务:
sudo systemctl restart postgresql
⚠️ 同时需在腾讯云控制台「安全组」中开放 5432 端口(入方向),否则外部无法连接。
🔧 方式二:手动安装 PostgreSQL(适用于自定义环境)
步骤 1:更新系统并安装依赖
sudo apt update && sudo apt upgrade -y
# Debian/Ubuntu 系列
步骤 2:添加 PostgreSQL 官方源(以 Ubuntu 为例)
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql.gpg
echo "deb [signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
sudo apt update
步骤 3:安装 PostgreSQL
sudo apt install postgresql postgresql-contrib -y
步骤 4:启动并设置开机自启
sudo systemctl enable postgresql
sudo systemctl start postgresql
步骤 5:配置监听地址与认证
编辑配置文件:
sudo nano /etc/postgresql/<version>/main/postgresql.conf
修改:
listen_addresses = '*'
编辑 pg_hba.conf:
sudo nano /etc/postgresql/<version>/main/pg_hba.conf
添加远程访问规则(同方式一)。
步骤 6:创建新用户(可选)
sudo -u postgres createuser --interactive
# 或手动创建:
sudo -u postgres psql -c "CREATE USER myuser WITH PASSWORD 'mypassword';"
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE postgres TO myuser;"
步骤 7:开放防火墙与安全组
- 本地防火墙(如有):
sudo ufw allow 5432/tcp - 务必在腾讯云控制台 → 实例 → 安全组 → 添加入站规则:协议 TCP,端口 5432,来源
0.0.0.0/0(生产环境建议限制 IP)。
🛡️ 安全建议
- 不要直接暴露 5432 到公网:建议使用 SSH 隧道或X_X。
ssh -L 5432:localhost:5432 root@<服务器IP> # 然后本地连接:psql -h localhost -p 5432 -U postgres - 启用 SSL 加密连接(生产环境必需)。
- 定期备份数据:
pg_dump -U postgres dbname > backup.sql - 使用强密码,避免默认账户。
需要我提供自动化脚本、Docker 部署方案,或针对特定版本(如 PostgreSQL 15 + TimescaleDB)的配置吗?
CLOUD云枢