Open Pinkpiglet opened 1 year ago
环境变量
前端以下变量是可选设置的: VITE_APP_NAME:应用名称,你可以将其更改为你想要的名称。修改后,名称会在各个地方(例如 HTML 标题、登录界面等)显示。
后端以下变量是必需设置的: GOOGLE_APPLICATION_CREDENTIALS_JSON:JSON 字符串格式的私钥文件, 必需。请查看 Firebase 获取该信息。 示例: '{"type": "service_account", "project_id": "xxx", "private_key_id": "xxx", "private_key": "xxx", "client_email": "xxx", "client_id": "xxx", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "xxx"}' ROOT_ACCOUNT: 系统管理员账号 如果你通过 google 登录,那这里填 google 账号对应的邮箱。注意,如果你通过电话号码登录,这里需要填写你的国家呼叫代码+电话号码,如 +8613498888888。 Firebase 中获取 Firebase 项目中获取配置信息: VITE_FIREBASE_API_KEY VITE_FIREBASE_AUTH_DOMAIN VITE_FIREBASE_PROJECT_ID VITE_FIREBASE_STORAGE_BUCKET VITE_FIREBASE_MESSAGING_SENDER_ID VITE_FIREBASE_APP_ID VITE_FIREBASE_MEASUREMENT_ID 开通相应的服务 Cloud Firestore AP申请:https://console.developers.google.com/apis/api/firestore.googleapis.com/overview?project=填写自己的messagingSenderId Datastore 申请连接:https://console.cloud.google.com/datastore/setup?project=填写自己的projectId 其他变量请参阅 chatgpt-web 原项目的 README。 注意:最好不要使用其他变量,其他变量不受 GPTeams 保护,且可能在未来的版本删除。
前端 下载nginx稳定版 将下载的安装包上传至服务器 解压压缩包tar -zxvf nginx-xx.xx.xx.tar.gz 进入解压的目录赋予执行权限chmod +x configure
安装nginx依赖yum -y install gcc gcc-c++ autoconf automake make pcre pcre-devel zlib zlib-devel install pcre pcre-devel zlib zlib-devel openssl openssl-devel 编译nginx ./configure --prefix=安装路径 --with-openssl=/usr/bin/openssl --with-http_stub_status_module --with-http_ssl_module 安装nginx make && make install 进入安装目录,打开nginx.conf,增加include /www/vhost/nginx/*.conf;
进入安装目录,打开nginx.conf,增加include /www/vhost/nginx/*.conf; 在目录中新增nginx配置文件后上传编译后的前端包并重启nginx server { listen 80; server_name 域名; index index.php index.html index.htm default.php default.htm default.html; root 前端地址;
location /api { proxy_pass http://127.0.0.1:3002/api; 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 REMOTE-HOST $remote_addr; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_http_version 1.1;
add_header X-Cache $upstream_cache_status; #Set Nginx Cache if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" ) { expires 1m; } proxy_ignore_headers Set-Cookie Cache-Control expires; proxy_cache cache_one; proxy_cache_key $host$uri$is_args$args; proxy_cache_valid 200 304 301 302 1m;
}
#禁止访问的文件或目录 location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md) { return 404; } #一键申请SSL证书验证目录相关设置 location ~ \.well-known{ allow all; } #禁止在证书验证目录放入敏感文件 if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) { return 403; } access_log /www/wwwlogs/域名.log; error_log /www/wwwlogs/域名.error.log;
} 后端 node.js 版本<=16、17、18。 安装执行curl -fsSL https://rpm.nodesource.com/setup_lts.x | bash - && yum install -y nodejs 查看安装版本node -v 进入后端路径,安装依赖 npm install 执行npm run dev 启动开发模式 测试后端是否正常工作,执行telnet localhost 3002
感谢你的贡献,条理很清晰,我之后会参考你的文档撰写 node.js 部署的 wiki。
这里有几点可以改良一下:
@suikodev 大佬补充 提供的大概部署方法
环境变量
前端以下变量是可选设置的: VITE_APP_NAME:应用名称,你可以将其更改为你想要的名称。修改后,名称会在各个地方(例如 HTML 标题、登录界面等)显示。
后端以下变量是必需设置的: GOOGLE_APPLICATION_CREDENTIALS_JSON:JSON 字符串格式的私钥文件, 必需。请查看 Firebase 获取该信息。 示例: '{"type": "service_account", "project_id": "xxx", "private_key_id": "xxx", "private_key": "xxx", "client_email": "xxx", "client_id": "xxx", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "xxx"}' ROOT_ACCOUNT: 系统管理员账号 如果你通过 google 登录,那这里填 google 账号对应的邮箱。注意,如果你通过电话号码登录,这里需要填写你的国家呼叫代码+电话号码,如 +8613498888888。 Firebase 中获取 Firebase 项目中获取配置信息: VITE_FIREBASE_API_KEY VITE_FIREBASE_AUTH_DOMAIN VITE_FIREBASE_PROJECT_ID VITE_FIREBASE_STORAGE_BUCKET VITE_FIREBASE_MESSAGING_SENDER_ID VITE_FIREBASE_APP_ID VITE_FIREBASE_MEASUREMENT_ID 开通相应的服务 Cloud Firestore AP申请:https://console.developers.google.com/apis/api/firestore.googleapis.com/overview?project=填写自己的messagingSenderId Datastore 申请连接:https://console.cloud.google.com/datastore/setup?project=填写自己的projectId 其他变量请参阅 chatgpt-web 原项目的 README。 注意:最好不要使用其他变量,其他变量不受 GPTeams 保护,且可能在未来的版本删除。
前端 下载nginx稳定版 将下载的安装包上传至服务器 解压压缩包tar -zxvf nginx-xx.xx.xx.tar.gz 进入解压的目录赋予执行权限chmod +x configure
安装nginx依赖yum -y install gcc gcc-c++ autoconf automake make pcre pcre-devel zlib zlib-devel install pcre pcre-devel zlib zlib-devel openssl openssl-devel 编译nginx ./configure --prefix=安装路径 --with-openssl=/usr/bin/openssl --with-http_stub_status_module --with-http_ssl_module 安装nginx make && make install 进入安装目录,打开nginx.conf,增加include /www/vhost/nginx/*.conf;
进入安装目录,打开nginx.conf,增加include /www/vhost/nginx/*.conf; 在目录中新增nginx配置文件后上传编译后的前端包并重启nginx server { listen 80; server_name 域名; index index.php index.html index.htm default.php default.htm default.html; root 前端地址;
PROXY-START/
location /api { proxy_pass http://127.0.0.1:3002/api; 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 REMOTE-HOST $remote_addr; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_http_version 1.1;
proxy_hide_header Upgrade;
}
PROXY-END/
} 后端 node.js 版本<=16、17、18。 安装执行curl -fsSL https://rpm.nodesource.com/setup_lts.x | bash - && yum install -y nodejs 查看安装版本node -v 进入后端路径,安装依赖 npm install 执行npm run dev 启动开发模式 测试后端是否正常工作,执行telnet localhost 3002