前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GPTMini.AI 要开源了,一站式Linux服务器环境搭建指南

GPTMini.AI 要开源了,一站式Linux服务器环境搭建指南

作者头像
一个程序猿的异常
发布2024-04-10 16:21:05
960
发布2024-04-10 16:21:05
举报

引言

chat.gptmini.ai 第一批独立付费用户的服务期已经终止,这一年 AIGC 变化太快,在与客户商量以后我决定把代码开源出来,今天先介绍下 Linux 服务器环境准备,所需要的所有依赖都打包在网盘了,如果你需要最新版本的,自行在官网下载即可。

chat.gptmini.ai

我用夸克网盘分享了「LinuxRuntime」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。链接:https://pan.quark.cn/s/881024a05086

无论您是Linux初学者还是有一定基础的运维专业人员,这里都将为您提供一套完整的Linux服务器环境搭建流程。

通过本教程,您将学会配置Linux服务器,安装并运行关键的网络服务,从而为部署您的应用程序打下坚实基础。

安装依赖

我习惯使用的操作系统是 CentOS-7 后续所有操作都是基于 CentOS-7 的,其他操作系统建议使用 ChatGPT 进行命令翻译。

升级软件并且安装必要的依赖。

代码语言:javascript
复制
yum -y update
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel patch git vim bzip2 readline-devel unzip

下载软件

我们需要下载 nginx、maven、jdk、redis、postgres,已经打包好,可直接下载,https://pan.quark.cn/s/881024a05086

建议将下载下来的软件放 /opt 目录,统一操作

image-20240409085945925

安装 nginx

解压安装

代码语言:javascript
复制
# 解压
tar -zxvf nginx-1.21.6.tar.gz

# 添加ngixn运行用户&用户组
groupadd www
useradd -g www www

# 切换到解压后的目录
cd nginx-1.21.6

# 配置安装信息,将nginx 安装到/usr/local/nginx目录
./configure \
--user=www \
--group=www \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_realip_module \
--with-threads

# 
make
make install

# 创建 域名配置目录,我的习惯是每个域名单独一个配置文件
mkdir -p /usr/local/nginx/conf/vhost

nginx.conf 配置

修改 nginx.conf 为下面的内容

vim /usr/local/nginx/conf/nginx.conf

代码语言:javascript
复制

user  www;
worker_processes  auto;
worker_rlimit_nofile 65535;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
 multi_accept       on;
    worker_connections 65535;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        off;
    client_max_body_size 500M; 
    keepalive_timeout  65;
    include vhost/*.conf;
}
域名配置

vhost 目录新建域名对应的配置文件,我们以 chat.gptmini.ai 为例

vim /usr/local/nginx/conf/vhost/chat.gptmini.ai.conf

https 证书的申请我们单独在写一篇文章

代码语言:javascript
复制
server {
    listen 443 ssl;
    #证书文件名称
    ssl_certificate  /usr/local/nginx/conf/ssl/chat.gptmini.ai_bundle.crt;
    #私钥文件名称
    ssl_certificate_key /usr/local/nginx/conf/ssl/chat.gptmini.ai.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    #填写绑定证书的域名
    server_name chat.gptmini.ai;
    location /ai/ {
        proxy_pass http://127.0.0.1:9009/ai/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection '';
        proxy_set_header Host $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_cache off; 
        proxy_buffering off;
        proxy_connect_timeout 300s;
        proxy_send_timeout 300s;
        proxy_read_timeout 300s;
    }
    location /resources {
        alias /data/aigc-resources;
        expires 1d;
    }
    location / {
        root /data/aigc-front/dist ;
        try_files $uri $uri/ /index.html;
    }
}

server {
    listen 80;
    server_name chat.gptmini.ai; 
    return 301 https://$host$request_uri; 
}

启动 nginx

代码语言:javascript
复制
cd /usr/local/nginx/sbin/
./nginx 

# 检查配置文件是否正确
./nginx -t
# 重启nginx
./nginx -s reload

安装redis

代码语言:javascript
复制
tar -zxvf redis-6.2.7.tar.gz
# /opt/redis-6.2.7
cd redis-6.2.7
make 

cp redis.conf redis.conf_bak

启动redis

代码语言:javascript
复制
cd /opt/redis-6.2.7
./src/redis-server ./redis.conf

redis 详细内容可参考

https://mp.weixin.qq.com/s/0ajI4gGK7HUGJGrRjSq_0Q

安装 java 运行环境

jdk&maven 安装

代码语言:javascript
复制
tar -zxvf jdk-8u333-linux-x64.tar.gz
unzip apache-maven-3.8.5-bin.zip
echo 'export JAVA_HOME=/opt/jdk1.8.0_333' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
echo 'export MAVEN_HOME=/opt/apache-maven-3.8.5' >> /etc/profile
echo 'export PATH=${PATH}:${MAVEN_HOME}/bin' >> /etc/profile

source /etc/profile

## 测试
javac -version
java -version

git 配置

代码语言:javascript
复制
git config --global user.name "beifeng"
git config --global user.email "beifffeng@gmail.com"

ssh-keygen -t rsa -C "beifffeng@dafei@gmail.com"
# 一路回车下去~
cat ~/.ssh/id_rsa.pub
# 公钥信息需要配置到 github

安装 node

代码语言:javascript
复制
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash
nvm install v16.20.0

安装 postgres

postgres

代码语言:javascript
复制
bzip2 -d postgresql-15.3.tar.bz2
tar -xvf postgresql-15.3.tar
cd postgresql-15.3
./configure
make
make install
make install-docs
groupadd postgres
useradd -g postgres postgres

echo 'LD_LIBRARY_PATH=/usr/local/pgsql/lib' >> /etc/profile
echo 'export LD_LIBRARY_PATH' >> /etc/profile
echo 'PATH=/usr/local/pgsql/bin:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile
echo 'MANPATH=/usr/local/pgsql/share/man:$MANPATH' >> /etc/profile
echo 'export MANPATH' >> /etc/profile

source /etc/profile

## 安装 pgvector 插件,支持向量搜搜

cd /data

git clone --branch v0.4.4  https://ghproxy.com/https://github.com/pgvector/pgvector.git

cd pgvector
make 
make install 

mkdir -p /data/pgsql
chown postgres /data/pgsql
# 切换到 postgres用户
su postgres

# 设置数据目录
initdb -D /data/pgsql
# 启动数据库
pg_ctl -D /data/pgsql -l logfile start
# postgres -D /usr/local/pgsql/data >logfile 2>&1 &

# 链接数据库
psql
# 创建用户&数据库
CREATE USER beifeng WITH PASSWORD 'beifengpass';

CREATE DATABASE aigc
    WITH 
    OWNER = beifeng
    ENCODING = 'UTF8'
    LC_COLLATE = 'zh_CN.UTF-8'
    LC_CTYPE = 'zh_CN.UTF-8'
    TABLESPACE = pg_default
    CONNECTION LIMIT = -1;

GRANT ALL PRIVILEGES ON DATABASE ai TO beifeng;

exit;
# 使用新用户登录
psql -U beifeng -d aigc

# 向量支持
create extension vector ;

恭喜你又学会了一个新技能~

如果这篇文章对你有帮助欢迎点赞转发。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一个程序猿的异常 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
    • 安装依赖
      • 下载软件
        • 安装 nginx
          • 解压安装
          • nginx.conf 配置
          • 启动 nginx
        • 安装redis
          • 启动redis
        • 安装 java 运行环境
          • jdk&maven 安装
          • git 配置
        • 安装 node
          • 安装 postgres
            • postgres
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档