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
进行命令翻译。
升级软件并且安装必要的依赖。
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
# 解压
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 为下面的内容
vim /usr/local/nginx/conf/nginx.conf
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 证书的申请我们单独在写一篇文章
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;
}
cd /usr/local/nginx/sbin/
./nginx
# 检查配置文件是否正确
./nginx -t
# 重启nginx
./nginx -s reload
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
cd /opt/redis-6.2.7
./src/redis-server ./redis.conf
redis 详细内容可参考
https://mp.weixin.qq.com/s/0ajI4gGK7HUGJGrRjSq_0Q
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 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
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash
nvm install v16.20.0
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 ;
恭喜你又学会了一个新技能~
如果这篇文章对你有帮助欢迎点赞转发。