阿里云服务器Linux Ubuntu系统安装Nginx、Redis、RabbitMQ、Minio、Postgresql、Postgis并配置公网访问RabbitMQ、Postgresql和Minio
阿里云服务器Linux Ubuntu系统安装Nginx、Redis、RabbitMQ、Minio、Postgresql、Postgis并配置公网访问RabbitMQ、Postgresql和Minio
安装nginx
- 安装nginx:
sudo apt install nginx
- 启动nginx服务:
sudo systemctl start nginx
- 验证nginx是否已成功启动:
sudo systemctl status nginx
如果一切正常,你应该看到nginx正在运行的信息。
- 设置nginx开机自启动(可选):
sudo systemctl enable nginx
若出现报错无法重启:
- 查找占用80端口的进程 sudo ss -tulnp | grep ‘:80’
输出示例: LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:((“apache2”,pid=1234,fd=4))
- 终止Apache服务(假设冲突进程是Apache)
sudo systemctl stop apache2
再次重启即可
若是 Apache(httpd):
sudo systemctl stop httpd 2>/dev/null
sudo systemctl stop apache2 2>/dev/null
sudo systemctl disable httpd apache2 2>/dev/null
仍占用则:
sudo pkill -9 httpd
sudo pkill -9 apache2
若是已有 nginx(重复启动或残留):
sudo systemctl stop nginx
sudo pkill -9 nginx
安装redis
- 安装Redis:
sudo apt install redis-server
- 检查Redis服务状态:
sudo systemctl status redis-server
这将显示Redis是否已成功启动。
- 验证Redis是否正常工作:
默认情况下,安装完成后Redis服务会自动启动。你可以通过运行以下命令连接到Redis服务并进行简单的测试:
redis-cli ping
如果返回 PONG,表示Redis已经安装并且运行正常。
- 配置Redis(可选):
默认安装的Redis通常已经配置为在本地监听,默认端口为6379。如果需要进行更高级的配置或更改监听地址等设置,请编辑Redis配置文件:
sudo vim /etc/redis/redis.conf
完成更改后,重新启动Redis服务使配置生效:
sudo systemctl restart redis-server
安装RabbitMQ
- 安装Erlang依赖(RabbitMQ依赖于Erlang):
sudo apt install -y erlang
- 添加 RabbitMQ 软件源:
echo "deb https://dl.bintray.com/rabbitmq/debian testing main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
- 添加 RabbitMQ 的 GPG 密钥:
wget -O- https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc | sudo apt-key add -
- 安装RabbitMQ
sudo apt install -y rabbitmq-server
- 安装RabbitMQ界面插件(不安装就无法启动15672端口,无法访问web界面)
sudo rabbitmq-plugins enable rabbitmq_management
- 配置rabbitmq.conf设置端口(rabbitmq.conf需要自己手动创建,默认是没有的)
vim /etc/rabbitmq/rabbitmq.conf
复制以下内容
listeners.tcp.default = 0.0.0.0:5672
listeners.tcp.default = 0.0.0.0:15672
listeners.tcp.default = 5672

- 配置rabbitmq-env.conf设置端口
vim /etc/rabbitmq/rabbitmq-env.conf
复制以下内容
NODE_PORT=5672
listeners.tcp.default = 0.0.0.0:5672
listeners.tcp.default = 0.0.0.0:15672

- 开放15672端口
sudo ufw allow 15672/tcp
- 开放5672端口
sudo ufw allow 5672/tcp
- 生效配置端口
sudo ufw reload
- 启动RabbitMQ
sudo systemctl start rabbitmq-server
访问地址:公网ip:15672
默认账号密码都是guest,但是会提示User can only log in via localhost

我们需要自己创建一个账号即可
- 新增登录用户
sudo rabbitmqctl add_user 你的账号 你的密码
- 开放资源的访问权限
sudo rabbitmqctl set_permissions -p / 你的账号 ".*" ".*" ".*"
- 赋予管理权限
sudo rabbitmqctl set_user_tags 你的账号 administrator
- 重启RabbitMQ
sudo systemctl restart rabbitmq-server
登录你的新账号、新密码即可生效

安装postgresql
- 安装PostgreSQL:
sudo apt install postgresql
- 检查PostgreSQL服务状态:
sudo systemctl status postgresql
- 登录到PostgreSQL:
默认情况下,PostgreSQL安装时会创建一个名为 postgres 的系统用户,并且在该用户下创建一个默认数据库。可以使用以下命令以 postgres 用户身份登录到PostgreSQL:
sudo -u postgres psql
或者,如果你当前的Linux用户有sudo权限,你也可以使用以下命令登录:
sudo -i -u postgres
psql
这将启动PostgreSQL的交互式终端 (psql),允许你执行SQL命令和管理数据库。
- 退出PostgreSQL:
在 psql 命令行下,可以使用以下命令退出:
\q
这将显示PostgreSQL是否已成功启动。
安装postgis扩展
要在Ubuntu上安装PostGIS,你需要首先安装PostgreSQL,然后再安装PostGIS扩展。
- 安装PostGIS及相关依赖:
sudo apt install postgis postgresql-13-postgis-3
这里假设你正在使用的是 PostgreSQL 13 版本。如果你使用的是其他版本,比如 PostgreSQL 12 或 14,可以相应地替换 postgresql-12-postgis-3 或 postgresql-14-postgis-3 。
- 启用PostGIS扩展:
一旦安装了PostGIS包,你需要在你的PostgreSQL数据库中启用PostGIS扩展。首先,使用以下命令登录到PostgreSQL:
sudo -u postgres psql
或者,如果你当前的Linux用户有sudo权限,你可以使用以下命令登录:
sudo -i -u postgres
psql
然后,在 psql 命令行中执行以下命令来为你的数据库启用PostGIS扩展:
CREATE EXTENSION postgis;
如果需要,你还可以启用其他PostGIS相关扩展,例如:
CREATE EXTENSION postgis_topology;
配置公网连接服务器Postgresql
在执行下面的操作前请慎重,因为服务器可能会被注入病毒,因为我就遇到了。。如下图所示

参考 https://www.cnblogs.com/yury757/p/16069701.html

确认PostgreSQL配置文件(通常是 postgresql.conf)中 listen_addresses 参数允许远程连接。你可以通过编辑这个文件并重启PostgreSQL服务来实现:
sudo vim /etc/postgresql/<version>/main/postgresql.conf
在postgresql.conf中找到 listen_addresses 行并将其设置为:
listen_addresses = '*'
编辑PostgreSQL的 pg_hba.conf 文件
sudo vim /etc/postgresql/<version>/main/pg_hba.conf
允许所有IP都能连接到你的PostgreSQL数据库,可以在 pg_hba.conf 文件中设置如下规则:
host all all 0.0.0.0/0 md5
然后我们把5432端口开放出去
开放 SSH 服务的端口 5432:
sudo ufw allow 5432/tcp
应用了新的防火墙规则:
sudo ufw reload
并且在阿里云上面配置好5432规则

配置完之后去连接,如果出现

配置postgresql密码
直接回车
sudo -u postgres psql
配置密码为postgres
ALTER USER postgres PASSWORD 'postgres';
回车即可

再去连接就可以连上了

安装minio
- 下载MinIO服务器
首先,从MinIO的官方网站下载最新的MinIO服务器程序。可以使用 wget 命令来下载:
wget https://dl.min.io/server/minio/release/linux-amd64/minio
或者使用 curl:
curl -o minio https://dl.min.io/server/minio/release/linux-amd64/minio
- 赋予执行权限
下载完成后,需要为MinIO可执行文件添加执行权限:
chmod +x minio
- 启动MinIO
使用以下命令启动MinIO服务器。这里假设你将MinIO数据存储在 /data 目录下,并且使用默认的端口9000:
./minio server /miniodata
如果出现下面报错,意味着没有权限写入,给miniodata加下写入权限就好了

如果需要使用其他端口,可以在命令行参数中指定,例如:
./minio server --address=:8080 /miniodata
- 后台运行MinIO
nohup ./minio server /miniodata > minio.log &
- 访问MinIO控制台
MinIO服务器启动后,你可以通过浏览器访问MinIO控制台。默认情况下,可以使用 http://localhost:9000 访问控制台。在首次访问时,你需要设置管理员账号和密码。
- Minio创建桶
- 安装 mc 命令行工具
首先,确保你已经安装了 mc 命令行工具。如果还没有安装,可以按照以下步骤安装:
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
./mc --help # 确认安装成功
- 配置 mc 命令行工具
在使用 mc 前,需要配置 mc 以连接到你的 MinIO 服务器。假设你的 MinIO 服务器在 http://localhost:9000,执行以下命令进行配置:ACCESS_KEY为默认账号:minioadminSECRET_KEY为默认密码:minioadmin
./mc alias set myminio http://localhost:9000 ACCESS_KEY SECRET_KEY
其中:
myminio 是自定义的别名,你可以根据实际情况设置。
http://localhost:9000 是你的 MinIO 服务器地址。
ACCESS_KEY 和 SECRET_KEY 是你的 MinIO 服务器的访问密钥。
- 创建存储桶
使用以下命令创建一个存储桶:mybucket为桶名称
./mc mb mybucket
配置公网访问Ubuntu中的Minio
开放 SSH 服务的端口 9000:
sudo ufw allow 9000/tcp
应用了新的防火墙规则:
sudo ufw reload

如果你是阿里云的服务器,请在防火墙中配置好规则

就可以访问了

如果访问不了,记得开放 SSH 服务的端口 33291:
sudo ufw allow 33291/tcp
应用了新的防火墙规则:
sudo ufw reload
minio配置阿里云的ssl证书,使用https访问
nginx和apache任选一个都可以,建议nginx的

放到这个路径下

如果启动之前发现minio正在启动先执行
ps aux | grep minio
输出类似:
root 12345 0.0 0.1 123456 7890 ? Sl 10:00 0:01 ./minio server --address :9000 ...
终止minio进程
kill -9 12345 # 替换为你的 PID
执行后台启动命令
nohup ./minio server --address ":9000" --certs-dir /root/.minio/certs/ /miniodata > minio.log 2>&1 &
这样子 就能正常https访问了
使用:https://你的域名:9000 访问
解决在java项目中上传图片时出现的报错sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
- 将MinIO证书导入Java信任库
# 登录宝塔终端,执行以下命令:
# 从MinIO服务器导出证书(替换为你的MinIO地址)
openssl s_client -connect feituplan.com:9000 -showcerts </dev/null 2>/dev/null | \
openssl x509 -outform PEM > /www/server/java/minio.crt
# 找到Java安装路径(宝塔默认路径)
JAVA_HOME=/www/server/java/jdk1.8.0_371 # 根据实际版本调整
# 导入证书到Java默认信任库
keytool -importcert \
-alias minio \
-file /www/server/java/minio.crt \
-keystore $JAVA_HOME/jre/lib/security/cacerts \
-storepass changeit # 默认密码
#执行后会出现以下命令输入yes信任即可
Trust this certificate? [no]: yes

添加到系统信任库
# Ubuntu/Debian
sudo cp minio.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
# CentOS/RHEL
sudo cp minio.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust
- 重启Java项目
重启完java项目即可完成https信任
解决使用腾讯云数据万象审核Minio图片时无法访问
如果你用的是apache的会出现以下问题:

已经配置了ssl证书,但是腾讯云那边下载访问始终都是404,找了几天客服也终于是解决了。。。。。首先把证书.crt上传,进入下面这个网址去修复。
修复地址:https://myssl.com/chain_download.html

修复完成后,复制下来,把原来的.pem备份一下,然后把复制的内容放到.crt文件中

nginx使用.crt的文件

重启nginx
重启完nginx后,把修复好的.crt文件拉到minio中,并重命名成public.crt

重启minio

如果用的是ngxin只需要把.pem改成crt即可
更多推荐
所有评论(0)