在轻量服务器(如阿里云、腾讯云的轻量应用服务器,或VPS)上自行部署 PostgreSQL 数据库是一个常见且实用的操作。以下是详细的步骤指南,适用于基于 Ubuntu/Debian 系统的轻量服务器。
✅ 一、准备工作
-
登录服务器
使用 SSH 登录你的轻量服务器:ssh username@your_server_ip(例如:
ssh ubuntu@123.45.67.89) -
更新系统包
sudo apt update && sudo apt upgrade -y
✅ 二、安装 PostgreSQL
1. 安装 PostgreSQL(以 Ubuntu 20.04/22.04 为例)
sudo apt install postgresql postgresql-contrib -y
postgresql-contrib包含一些有用的附加功能。
2. 启动并启用开机自启
sudo systemctl start postgresql
sudo systemctl enable postgresql
检查状态:
sudo systemctl status postgresql
✅ 三、配置 PostgreSQL
1. 切换到 postgres 用户
PostgreSQL 默认创建一个名为 postgres 的系统用户和数据库用户。
sudo -i -u postgres
2. 进入 PostgreSQL 命令行
psql
3. 设置 postgres 用户密码(推荐)
password postgres
输入并确认新密码。
示例密码:
mypassword(请使用强密码)
4. 退出 psql
q
再退出 postgres 用户:
exit
✅ 四、创建新数据库和用户(可选但推荐)
重新进入 postgres shell:
sudo -u postgres psql
执行以下 SQL 创建用户和数据库:
CREATE USER myuser WITH PASSWORD 'strongpassword';
CREATE DATABASE mydb OWNER myuser;
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
替换
myuser和mydb为你的用户名和数据库名。
退出:
q
✅ 五、允许远程连接(如果需要从外部访问)
⚠️ 注意:开放远程访问需谨慎,确保防火墙和密码安全。
1. 修改 postgresql.conf
sudo nano /etc/postgresql/*/main/postgresql.conf
找到并修改:
listen_addresses = 'localhost'
改为:
listen_addresses = '*'
如果你只希望允许特定 IP,可以写成
'localhost,192.168.1.100'
2. 配置客户端认证文件 pg_hba.conf
sudo nano /etc/postgresql/*/main/pg_hba.conf
在文件末尾添加一行允许远程连接(示例允许所有 IP 使用密码登录):
# IPv4 remote connections
host all all 0.0.0.0/0 md5
更安全的做法是限制特定 IP 段,如
123.45.67.89/32
3. 重启 PostgreSQL 生效
sudo systemctl restart postgresql
✅ 六、配置防火墙(开放 5432 端口)
如果使用 ufw:
sudo ufw allow 5432/tcp
如果是云服务器(如腾讯云/阿里云):
还需在 控制台安全组 中放行 入站规则 的 TCP 5432 端口。
✅ 七、测试远程连接
使用本地工具(如 DBeaver、Navicat 或 psql)连接:
- 主机:你的服务器公网 IP
- 端口:5432
- 数据库:
mydb - 用户:
myuser - 密码:你设置的密码
✅ 八、安全建议
- 不要使用默认的
postgres用户进行远程连接 - 使用强密码
- 限制远程访问的 IP 范围
- 定期备份数据库
pg_dump -U myuser -h localhost mydb > backup.sql - 考虑使用 SSL 加密连接(生产环境)
✅ 九、常用命令汇总
| 功能 | 命令 |
|---|---|
| 启动 PostgreSQL | sudo systemctl start postgresql |
| 重启服务 | sudo systemctl restart postgresql |
| 查看状态 | sudo systemctl status postgresql |
| 登录数据库 | sudo -u postgres psql |
| 退出 psql | q |
| 列出数据库 | l |
| 切换数据库 | c dbname |
✅ 总结
在轻量服务器上部署 PostgreSQL 的关键步骤:
- 安装 PostgreSQL
- 配置本地访问和用户
- 如需远程访问,修改配置文件 + 防火墙
- 注意安全性与备份
只要资源允许(轻量服务器通常 1~2GB 内存足够运行小型 PostgreSQL 实例),完全可以胜任开发、测试或中小型生产环境。
如有具体系统版本或需求(如 CentOS、Docker 部署等),可进一步说明,我可以提供对应方案。
CLOUD云计算