服务器环境
华为云服务器,ubuntu(22.04.4)
Macos nano操作快捷键
ctrl + w
搜索
option + w
向后搜索
option + q
向前搜索
ctrl + a
跳到行首
ctrl + e
跳到行尾
ctrl + y
翻页上一页
ctrl + v
翻页下一页
ctrl + s
保存
ctrl + x
退出
ctrl + k
删除光标行
ctrl + 6
光标标记开始,滑动鼠标 ctrl + k
就可以实现选中删除了
安装nodejs
访问nodesource进行安装,比如下面的node20
版本:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -
sudo apt-get install -y nodejs
安装pnpm
# 安装pnpm
npm i -g pnpm
# 设置pnpm环境变量
pnpm setup PNPM_HOME=/pnpm
# 环境变量生效
source /root/.bashrc
安装turbo-cli
pnpm i -g turbo
强密码生成
安装pg
# 更新包列表
sudo apt update
# 安装PostgreSQL和postgresql-contrib(包含一些额外的实用工具和功能)
sudo apt install postgresql postgresql-contrib
# 启动PostgreSQL服务
sudo systemctl start postgresql.service
# 设置PostgreSQL在系统启动时自动启动
sudo systemctl enable postgresql.service
1.配置pg用户
# 1.切换到postgres用户
sudo -i -u postgres
# 2.访问PostgreSQL命令行界面
psql
# 3. 为'postgres'用户设置密码
ALTER USER postgres PASSWORD 'your_strong_password';
# 4. 创建新用户并设置密码(可选)
CREATE USER your_username WITH PASSWORD 'your_strong_password';
# 如果您想让这个新用户成为超级用户,可以使用(可选):
ALTER USER your_username WITH SUPERUSER;
# 5.退出PostgreSQL命令行界面
\q
# 6.返回到你的普通用户
exit
# 7.重启 PostgreSQL 服务以应用更改
sudo systemctl restart postgresql
2.配置Pg远程连接
# 1.编辑PostgreSQL配置文件
sudo nano /etc/postgresql/[version]/main/postgresql.conf
# 2.在配置文件中找到并修改以下行:
listen_addresses = '*'
# 3.编辑pg_hba.conf文件以允许远程连接
sudo nano /etc/postgresql/[version]/main/pg_hba.conf
# 4.在文件末尾添加以下行(根据需要调整IP地址范围):
# 主机 用户 数据库 地址 验证方式
host all all 0.0.0.0/0 md5
# 5.保存、退出
# 6.重启PostgreSQL服务
sudo systemctl restart postgresql
# 7.在客户端使用psql连接(替换为您的实际值):
psql -h [服务器IP] -U [用户名] -d [数据库名]
安装redis
# 更新包列表
sudo apt update
# 安装Redis
sudo apt install redis-server
# 启动Redis服务
sudo systemctl start redis-server
# 设置Redis在系统启动时自动启动
sudo systemctl enable redis-server
# 检查Redis是否正在运行
sudo systemctl status redis-server
# 使用Redis命令行界面
redis-cli
# 测试Redis是否正常工作
ping
# 如果返回PONG,则说明Redis正常工作
# 退出Redis命令行界面
exit
配置redis远程连接
# 编辑Redis配置文件
sudo nano /etc/redis/redis.conf
# 找到并修改以下行:
bind 127.0.0.1
# 将其改为:
bind 0.0.0.0
# 如果您想增加安全性,设置密码:
requirepass [your_strong_password]
# 保存并退出
# 重启Redis服务
sudo systemctl restart redis-server
# 确保防火墙允许Redis端口(默认6379)
sudo ufw allow 6379/tcp
# 在客户端使用redis-cli连接(替换为您的实际值):
redis-cli -h [服务器IP] -p 6379 -a [your_password]
安装minio
# 下载MinIO
wget https://dl.min.io/server/minio/release/linux-amd64/minio
# 使MinIO可执行
chmod +x minio
# 移动MinIO到/usr/local/bin/
sudo mv minio /usr/local/bin/
# 创建MinIO的数据目录
sudo mkdir /minio
# 创建MinIO的配置目录
sudo mkdir /etc/minio
# 创建MinIO服务文件
sudo nano /etc/systemd/system/minio.service
# 在服务文件中添加以下内容:
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
[Service]
WorkingDirectory=/usr/local/
User=minio-user
Group=minio-user
EnvironmentFile=/etc/default/minio
# 加载配置
ExecStart=/usr/local/bin/minio server $MINIO_OPTS /minio
# 或者不加载配置,直接跟参数
# ExecStart=/usr/local/bin/minio server /minio --console-address ":9001"
Restart=always
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
# 创建MinIO的环境文件
sudo nano /etc/default/minio
# 在环境文件中添加以下内容:
# 9000是访问地址,9001是web ui访问地址
MINIO_OPTS="--address :9000 --console-address :9001"
MINIO_ROOT_USER=minioadmin(默认管理账号)
MINIO_ROOT_PASSWORD=minioadmin(默认管理账号)
# 创建MinIO用户
sudo useradd -r minio-user -s /sbin/nologin
# 更改MinIO数据目录的所有权
sudo chown minio-user:minio-user /minio
# 启动MinIO服务
sudo systemctl start minio
# 设置MinIO服务开机自启
sudo systemctl enable minio
nginx反向代理
需要注意
:如果想一个域名代理下面2个端口,我自己测试是9001端口会访问不到资源,后面拆分为2个域名(或者只代理9001端口后就正常了)
。
还有个小问题就是配置好https以后,访问9001端口的域名,发现控制台一直提示ws的连接失败,但是用http的ip+端口访问就没问题。后来查询资料,是需要配置一下ws支持。参考链接:github.com/minio/minio…
# 安装Nginx (如果尚未安装)
sudo apt update
sudo apt install nginx
# 创建Nginx配置文件
sudo nano /etc/nginx/sites-available/minio
# 在配置文件中添加以下内容:
server {
listen 80;
# your_domain.com修改为自己的服务器域名
server_name your_domain.com(需要修改);
# 将HTTP请求重定向到HTTPS
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name your_domain.com(需要修改);
# SSL证书配置
ssl_certificate /path/to/your/fullchain.pem(需要修改);
ssl_certificate_key /path/to/your/privkey.key(需要修改);
# MinIO API
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:9000;
}
# MinIO Console
#location /minio {
#proxy_set_header Host $http_host;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header X-Forwarded-Proto $scheme;
#proxy_set_header X-NginX-Proxy true;
# This is necessary to pass the correct IP to be hashed
#real_ip_header X-Real-IP;
#proxy_connect_timeout 300;
# To support websocket
#proxy_http_version 1.1;
#proxy_set_header Upgrade $http_upgrade;
#proxy_set_header Connection "upgrade";
#chunked_transfer_encoding off;
#proxy_pass http://localhost:9001;
#}
}
### TODO: 注意:这里暂时是拆分9001端口给另一个域名处理:
server {
listen 80;
# your_domain.com修改为自己的服务器域名
server_name your_domain.com(需要修改);
# 将HTTP请求重定向到HTTPS
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name your_domain.com(需要修改);
# SSL证书配置
ssl_certificate /path/to/your/fullchain.pem(需要修改);
ssl_certificate_key /path/to/your/privkey.key(需要修改);
# MinIO Console
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-NginX-Proxy true;
# This is necessary to pass the correct IP to be hashed
real_ip_header X-Real-IP;
proxy_connect_timeout 300;
# TODO: 支持 websocket,不然可能会遇到控制台一直打印ws连接失败
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
chunked_transfer_encoding off;
proxy_pass http://localhost:9001;
}
}
# 创建符号链接以启用配置
sudo ln -s /etc/nginx/sites-available/minio /etc/nginx/sites-enabled/
# 测试Nginx配置
sudo nginx -t
# 如果测试通过,重启Nginx
sudo systemctl restart nginx