进阶-登录-数据库-s3
lobechat源码安装
下载源码
wget https://github.com/lobehub/lobe-chat/archive/refs/tags/v1.12.20.tar.gz
解压
解压完成之后会在当前目录下创建lobechat-1.12.20文件夹
tar -xvf v1.12.20.tar.gz
编译并启动
cd lobechat-1.12.20
# 安装依赖
pnpm install
# 拷贝配置环境变量的配置文件,打开.env.local进行编辑,填写自己的参数
cp .env.example .env.local
# 编译
pnpm run build
# 启动
pnpm run start
配置项修改
- 关于编译和启动的参数都在package.json文件中进行控制,默认启动监听的是127.0.0.1,我们要分享给别人使用的话就得修改监听的ip地址。
- 打开package.json文件,找到如下配置(scripts->start)
- 例如要监听所有的ip地址就修改为 next start -H 0.0.0.0 -p 3000
- 修改完之后重新编译,然后再重新启动就可以了
后台服务启动
上述启动后是在终端里面执行的,如果你的终端关闭了,服务也就没法使用了。 当然你也可以使用screen或者tmux开一个窗口来启动,但始终都不是一个优雅的方式。 最好的方式还是以后台服务的方式来启动。
-
使用 PM2 来管理你的 Node.js 应用程序是一个很好的选择,因为 PM2 提供了进程管理、负载均衡、日志管理等功能。
- 安装pm2
npm install -g pm2
- 启动
cd lobechat-1.12.19 #name是一个自定义的名称,你可以在后续用它来管理你启动的服务 pm2 start npx --name "lobe-chat" -- next start -H 0.0.0.0 -p 3210
- 安装pm2
- 启动后你可以通过检查端口的方式查看是否启动成功
# yum install net-tools 如果没有netstat命令的话执行此命令安装 netstat -nltpa
- 下面是一些关于pm2其它的操作
- 停止
pm2 stop lobe-chat
- 删除
pm2 delete lobe-chat
- 查看日志
pm2 logs lobe-chat
- 查看状态
pm2 status lobe-chat
- 将pm2的服务加入开启启动
执行完上述启动命令(
pm2 start lobechat
)之后,再执行pm2 save
命令保存当前运行的pm2的进程列表。 然后我们来设置pm2的开机启动,设置开启启动非常的简单,一句命令就搞定:pm2 startup systemd # macos pm2 startup launchd
设置完成之后,结果如下图所示
以后如果遇到关机重启或者重新开机之后就会自动拉起前面pm2保存的列表
-
问题(FIX)
实际使用的过程中发现配置没有生效,最后发现是有两个问题。
①默认生成的service文件里面用户是ubuntu,但是装的node环境必须用root权限才可以,将user改为root。
②指定了PID文件,但是启动的时候提示找不到,尝试手动生成也不能解决问题,将其删除后问题得以解决。
- 停止
数据库安装
本文演示环境为ubuntu20,postgresql的版本为16.4
安装编译依赖
sudo apt-get update
sudo apt-get install libicu-dev libreadline-dev
下载源码包
postgresql官网下载最新的14版本包:
https://www.postgresql.org/ftp/source/
wget https://ftp.postgresql.org/pub/source/v16.4/postgresql-16.4.tar.gz
编译安装
tar -xvf postgresql-16.4.tar.gz
cd postgresql-16.4/
编译参数:
# --prefix 为指定的安装目录,按照自己的实际情况就行修改
./configure --prefix=/opt/pgsql
make -j8 && make install
初始化
sudo -i -u postgres
初始化
/opt/pgsql/bin/initdb -D /opt/pgsql/data
添加密码
/opt/pgsql/bin/psql
执行完上述命令之后会进入到psql的交互界面,再执行以下sql语句来添加密码
- 将’new_password’修改为自己的密码,如果你的用户不是postgres的话也进行相应的修改
ALTER USER postgres WITH PASSWORD 'new_password';
编辑配置文件让密码生效
打开/opt/pgsql/data/pg_hba.conf文件,翻到最后几行,将默认local/ipv4/ipv6对应的连接的trust改为md5,方便起见将三个都修改,当然你也可以自定义。
- 注意,一般情况下你会看到有6行,下面的三行有replacation是关于数据库备份的,可以先暂时不用管,保持默认就行,我们只需要修改上面的三行。
vi /opt/pgsql/data/pg_hba.conf
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 192.168.100.0/24 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all trust
host replication all 127.0.0.1/32 trust
host replication all ::1/128 trust
修改监听IP和端口
默认情况下,数据库只打开了本地(localhost)的5432端口连接,如果你想在另外的机器上进行连接,则需要修改postgresql.conf这个配置文件。 找到listen_addresses这一行,可以设置以下几种:
- listen_addresses = ‘*’ 表示监听所有的地址
- listen_addresses = ‘192.168.100.21’ 表示只监听192.168.100.21这个ip地址(假如你有多个网卡的话,会有多个ip地址,你只想监听某一个)
- listen_addresses = ‘192.168.100.21,127.0.0.1’ 多个ip地址用,分割 端口的话修改port 这个参数就可以,按自己的情况来,默认是5432
vi /opt/pgsql/data/postgresql.conf
listen_addresses = '192.168.100.21,127.0.0.1'
port = 5432
重载配置
上述修改都完成后,我们就可以重载配置并且进行启动了
- -D参数表示指定数据库的数据目录
- -l 表示日志文件
/opt/pgsql/bin/pg_ctl reload -D /opt/pgsql/data /opt/pgsql/bin/pg_ctl -D /opt/pgsql/data -l logfile start
测试连接
执行完成start的命令之后,pgsql的数据库就启动了,我们可以测试下是否设置成功
- 使用数据库连接的客户端(navicat/others)
- 执行命令,按照提示输入刚才配置的密码
psql -U postgres -h 127.0.0.1 -W
将数据库加入后台服务
上述的启动方式虽然可以能够让我们的lobechat服务正常使用,但是不够优雅。所有我们要配置能够以后台(background/daemon service)方式启动。
创建 PostgreSQL 服务文件
首先需要为 PostgreSQL 创建一个 systemd 服务文件。通常这个文件位于 /etc/systemd/system/ 目录下。
sudo vi /etc/systemd/system/postgresql.service
# 在该文件中添加以下内容(根据你的 PostgreSQL 安装路径和用户进行调整):
[Unit]
Description=PostgreSQL RDBMS
After=network.target
[Service]
Type=simple
User=postgres
Group=postgres
ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
ExecStop=/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data stop
Restart=on-failure
[Install]
WantedBy=multi-user.target
重新加载 systemd 配置
创建或修改完服务文件后,需要重新加载 systemd 配置:
sudo systemctl daemon-reload
启动 PostgreSQL 服务
使用以下命令启动 PostgreSQL 服务
sudo systemctl start postgresql
设置 PostgreSQL 服务开机自启
sudo systemctl enable postgresql
查看服务状态
sudo systemctl status postgresql
安装pgvector
pgvector 是一个 PostgreSQL 扩展,用于处理向量(vectors),特别是高维度向量。这种类型的扩展在处理机器学习、数据科学和向量搜索等应用中非常有用。向量搜索在推荐系统、图像识别、自然语言处理等领域有广泛的应用。
编译安装的时候会搜索当前数据库的pg_conf这个命令,默认情况下在你安装的pgsql的bin/目录下,比如我的就是在/opt/pgsql/bin这个目录下。 如果这个目录没有在当前的环境变量里面的话,会提示找不到这个文件。所以在安装之前,需要将这个目录加入到环境变量中。
添加环境变量
- 打开/etc/profile ,在末尾添加
export PATH=/opt/pgsql/bin:$PATH
- 再执行命令让环境变量生效
source /etc/profile
源码安装
https://github.com/pgvector/pgvector.git
cd /tmp
git clone --branch v0.7.4 https://github.com/pgvector/pgvector.git
cd pgvector
make
make install # may need sudo
版权声明: 如无特别声明,本文版权归 sshipanoo 所有,转载请注明本文链接。
(采用 CC BY-NC-SA 4.0 许可协议进行授权)
本文标题:《 lobechat本地部署进阶 》
本文链接:http://0.0.0.0:3015/tech/lobechat%E6%9C%AC%E5%9C%B0%E9%83%A8%E7%BD%B2%E8%BF%9B%E9%98%B6.html
本文最后一次更新为 天前,文章中的某些内容可能已过时!