分类 建站学习 下的文章

Ⅰ、// 电脑端安装(WIN)

一、环境搭建

1. 安装Git命令行工具

详情想看 “杂谈手记” ? ”WIN下安装Git并美化”一文

杂谈手记” ? ”WIN下安装Git并美化

2.安装Node.JS

详情想看 “杂谈手记” ? ”WIN下安装简易Web服务器环境”一文

杂谈手记” ? ”WIN下安装简易Web服务器环境

3.安装pm2管理工具

在Git命令行工具中输入如下指令:

npm i pm2 -g

安装过后记得查看是否成功

node -v
pm2 -v

二、安装Sharelist

1.打开Git命令行工具,进入要安装Sharelist的目录

我这里以D:/Git/download目录为例

2.输入如下命令,下载Sharelist程序安装包

#本地安装
git clone https://github.com/reruin/sharelist.git 
如果速度很慢的话,切换这个镜像地址
git clone --depth=1 https://github.com.cnpmjs.org/reruin/sharelist.git
或者
git clone --depth=1 https://hub.fastgit.org/reruin/sharelist.git

#远程安装(可选)
wget --no-check-certificate -qO-  https://raw.githubusercontent.com/reruin/sharelist/master/netinstall.sh | bash

#更新
bash update.sh

3.进入Sharelist目录

cd sharelist

4.运行安装命令

bash install.sh

5.此时打开 "http://localhost:33001"并显示界面,即为安装成功

6.安装报错,进行排查

当显示npm和pm2命令找不到时,进入sharelist文件夹,打开install.sh文件:

使用VS Code或者别的文本编辑器打开这个文件

注释掉这一行

这是一段PATH路径寻址的代码,因为我在安装Node.js环境时配置了全局环境变量,可能导致了它加载不到正确的路径,所以我们注释掉这段代码,就可以依靠全局环境变量正确寻址。

注释完毕重新安装Sharelist即可

三、启动并配置Sharelist挂载各大网盘

1.首次启动要配置网站管理员密码、名称、虚拟路径等等。随意,后期可改

2.点击页面下方的管理,输入刚刚设置的管理员密码,进入管理后台

3.配置自己所需的网盘,具体可以参考官方文档

大神的官方文档:ShareList Docs

4.逆天功能介绍:虚拟路径

① 首先创建一个文件夹,随便在哪都行,我这里D:\Git\download\虚拟路径

② 然后创建一个.d.ln格式的文件,我这里以ctcc.d.ln为例

③ 文件的内容格式是这样 挂载标识:挂载内容

具体如下:?

Sharelist虚拟路径挂载配置内容

④ 然后在Sharelist的管理后台绑定虚拟路径

⑤ 然后在首页刷新,出现“目录选项”

⑥ 点击进去,这个ctcc其实就是等效于首页的ctcc文件夹了

四、配置Sharelist挂载WebDav

如下配置即可?

WedDav可以把整个虚拟路径的配置转出,方便我们等下搭配RaiDrive映射本地硬盘

五、使用RaiDrive本地挂载硬盘

1.下载、安装RaiDrive

点我下载:RaiDrive, The Best Way to the remote storage

2.配置RaiDrive

3.配置信息如下

4.这样就是挂载成功了

5.成果如下

六、其他的注意事项?

Sharelist的其他注意事项

七、设置pm2自启动sharelist

pm2 start app.js --name sharelist --env prod //开启sharelist进程
pm2 save //保存进程信息
pm2 startup //开机自启动

八、pm2常用命令

pm2 start app.js # 启动app.js应用程序
pm2 start app.js -i 4 # cluster mode 模式启动4个app.js的应用实例
# 4个应用程序会自动进行负载均衡
pm2 start app.js --name="api" # 启动应用程序并命名为 "api"
pm2 start app.js --watch # 当文件变化时自动重启应用
pm2 start script.sh # 启动 bash 脚本

pm2 list # 列表 PM2 启动的所有的应用程序
pm2 monit # 显示每个应用程序的CPU和内存占用情况
pm2 show [app-name] # 显示应用程序的所有信息

pm2 logs # 显示所有应用程序的日志
pm2 logs [app-name] # 显示指定应用程序的日志
pm2 flush

pm2 stop all # 停止所有的应用程序
pm2 stop 0 # 停止 id为 0的指定应用程序
pm2 restart all # 重启所有应用
pm2 reload all # 重启 cluster mode下的所有应用
pm2 gracefulReload all # Graceful reload all apps in cluster mode
pm2 delete all # 关闭并删除所有应用
pm2 delete 0 # 删除指定应用 id 0
pm2 scale api 10 # 把名字叫api的应用扩展到10个实例
pm2 reset [app-name] # 重置重启数量

pm2 startup # 创建开机自启动命令
pm2 save # 保存当前应用列表
pm2 resurrect # 重新加载保存的应用列表
pm2 update # Save processes, kill PM2 and restore processes
pm2 generate # Generate a sample json configuration file
pm2 start app.js --node-args="--max-old-space-size=1024"

Ⅱ、// 电脑端安装(Linux)

Linux桌面端

首先很遗憾的是,RaiDrive的客户端只支持WIN系统。如果你电脑的主力系统是Linux,那么搭建完Sharelist以后只能用在网页访问,没法映射磁盘。

1.安装Git

#Debian/Ubuntu 系统及其发行分支
sudo apt-get -y install git

CentOS/RHEL 系统及其发行分支
sudo yum -y install git

2.下载Sharelist

#本地安装
git clone https://github.com/reruin/sharelist.git 
如果速度很慢的话,切换这个镜像地址
git clone --depth=1 https://github.com.cnpmjs.org/reruin/sharelist.git
或者
git clone --depth=1 https://hub.fastgit.org/reruin/sharelist.git

#远程安装(可选)
wget --no-check-certificate -qO-  https://raw.githubusercontent.com/reruin/sharelist/master/netinstall.sh | bash

#更新
bash update.sh

3.安装Sharelist

cd sharelist
bash install.sh

4.启动Sharelist

浏览器输入http://localhost:33001即可

5.设置自启动命令同WIN

Linux服务器端

上述不管是WIN还是Linux桌面端,都无法摆脱的问题是电脑一关机Sharelist也就关闭了,对于搞资源分享的小伙伴来说不是很友好啊,那么如果你有这个需求恰好还有一台Linux服务器的话,不妨试试这样配置,能实现24H不间断的服务。

1.至5.同桌面端

6.安装宝塔,配置好Web环境

我估摸着能看到这里的都是老司机了,我就不赘述这些过程了

7.建立好一个新的站点,绑定、解析好域名

8.域名反代,如图所示

9.启动Sharelist

接下来在任何一台设备输入站点域名即可成果启动Sharelist

10.映射磁盘

虽然Sharelist服务端在Linux服务器上跑着,但只要你工作的电脑不是Linux而是WIN,那么你也可以像文章一开始那样映射磁盘,只需要修改一下RaiDrive的配置:将127.0.0.1改为?宝塔面板绑定的Sharelist域名;33001端口改为?网站域名端口(默认80端口)

Ⅲ、//手机端安装

1.下载Termux

Termux是一个命令行工具,前往官网下载最新版

点我下载:Termux

2.安装git

pkg install git

3.安装Node.js

pkg install nodejs

4.下载Sharelist

#本地安装
git clone https://github.com/reruin/sharelist.git 
如果速度很慢的话,切换这个镜像地址
git clone --depth=1 https://github.com.cnpmjs.org/reruin/sharelist.git
或者
git clone --depth=1 https://hub.fastgit.org/reruin/sharelist.git

#远程安装(可选)
wget --no-check-certificate -qO-  https://raw.githubusercontent.com/reruin/sharelist/master/netinstall.sh | bash

#更新
bash update.sh

5.安装Sharelist

cd sharelist
bash install.sh

6.安装npm

npm install

7.安装pm2

npm i pm2 -g

8.启动Sharelist服务

pm2 start app.js --name sharelist --env prod

9.输入网址"http://127.0.0.1:33001",完成

一、检测是否需要跳过WIN11检测

微软官方检测软件下载地址:https://aka.ms/GetPCHealthCheckApp

1.下载安装完毕以后,打开Health Check软件。

image-20221011123122926

2.点击上图的Windows11引入"立即检查"按钮

image-20221011123402699

3.如果电脑符合WIN11安装要求,那么就直接正常安装即可。如果不符合,请按照“步骤五”进行设置

image-20221011123705360

4.我的实体机满足WIN11装机需求,但是VM虚拟机我做了限制,不符合安装需求的,正好做演示使用。

二、下载安装Ventoy

官网下载地址:https://github.com/ventoy/Ventoy/releases

如果没有科学上网能力来访问Github,可以看文末高速下载方式。

三、插入 >= 8GB的U盘(备份好数据!)

本文使用32GB的U盘制作装机系统盘。

四、制作Ventoy装机系统盘

1.解压下载好的Ventoy文件,双击Ventoy2Disk.exe文件。

image-20221007121755996

2.确保选择正确的U盘(千万别选择本地磁盘)。

image-20221007122608809

3.设置U盘分区格式为GPT模式(因为GPT模式对于UEFI的BIOS启动模式更友好)。

image-20221007122752697

image-20221007122909070

4.点击安装即可。

image-20221007123027396

五、WIN11绕过TPM2.0和CPU限制

其它系统直接从“六”开始看,这里是WIN11绕过限制的专版内容。

1.双击Ventoy解压文件夹内的VentoyPlugson.exe程序,并点击启动。

image-20221007123404837

2.在自动弹出的网页中选择“全局控制插件”。

image-20221011114903143

3.将“VTOY_WIN11_BYPASS_CHECK—— 绕过Windows 11硬件检查”的“选项设置”从“0”变为“1”。

image-20221011115002611

4.将下面几个选项依次重复上述设置。

image-20221011115429563

六、将ISO镜像文件导入U盘

image-20221011115525912

七、重启电脑进入BIOS界面(或者直接进入USB设备选择界面)

img

八、选择启动U盘

image-20221011121838486

我这里为了方便录制,使用了VM虚拟机,所以识别的U盘名称如上图。请大家自行确定各自的U盘型号即可。

九、选择系统ISO镜像系统

image-20221011121723340

十、选择normal模式进入

image-20221011121954186

十一、进行设置安装

image-20221011122107743

image-20221011122120162

image-20221011122142680

若Ventoy和镜像下载过慢,可以关注公众号“卓继非凡网络工作室”,后台回复“Ventoy”和“WIN11”即可获得高速下载链接!

qrcode_for_gh_ae83a00e0add_258

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=3svr12kkscyss

一、负载均衡情况

  • 腾讯云CDN节点 负载主域名:https://caoyongzhuo.cn
    1. 178个探测点(完成178个)
    2. 最快四川成都[电信] 1ms
    3. 最慢美国 235ms
    4. 平均65.0ms

image-20220516191257912

  • 百度云CDN节点 负载子域名:https://www.caoyongzhuo.cn
    1. 178个探测点(完成178个)
    2. 最快四川成都[电信] 10ms
    3. 最慢韩国 596ms
    4. 平均47.5ms

image-20220516191431566

二、网站链接速度对比

  • 总体来说不尽如人意
  • CDN节点覆盖偏向东南地区且相较集中
  • 速度差异明显,网站实测负载效果差强人意吧

screencapture-tool-chinaz-speedcom-caoyongzhuo-cn-www-caoyongzhuo-cn-2022-05-16-18_57_18

三、负载过程

先不写了,学不完了。以后更新!

官网文档地址

项目演示:聊天室地址

记得先换源(一键换源):

bash <(curl -sSL https://img.caoyongzhuo.cn/gh/SuperManito/LinuxMirrors@main/ChangeMirrors.sh)

一、前提要求

系统要求 内存要求 硬盘要求
Centos7x(别选8) 4G+(8G最好) 20G+(40G最好)
带宽要求 环境要求 软件要求
5Mbps+(10Mbps最好) GIT YARN NVM NODE.JS等 Finalshell(其它SSH软件)

二、环境配置

  • 要运行 Fiora, 你需要 Node.js(推荐 v14 LTS 版本), MongoDB 和 redis

(一)安装nvm、Node.js、yarn

这里推荐使用nvm安装node.js然后使用npm安装yarn

  • 安装nvm

nvm官网

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
或者
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
或者
cd /home
git clone https://github.com/nvm-sh/nvm.git .nvm
cd ~/.nvm
git checkout v0.39.1
. ./nvm.sh
vim ~/.bashrc
将下面的代码输入配置文件
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
  • 使用nvm安装node.js
nvm install 14 #使用nvm安装V14.x的node.js
nvm use 14     #启用V14.x的node.js
node -v        #查看node版本
npm -v         #查看npm版本
  • 使用npm安装yarn
npm install -g yarn
yarn --version #查看安装的yarn版本。有版本号就是安装成功。

(二)安装Redis和MongoDB

Redis官网地址 MongoDB官网地址

  • 安装Redis(这里只演示Cenos7的系统。其它系统自行解决。)

1.使用Centos的官网源来安装Redis

sudo yum update  #更新系统源
sudo yum upgrade #升级软件包
sudo yum insatll redis #安装redis

2.从 Snapcraft 安装Redis(替代方案)

sudo yum install epel-release
sudo yum install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
sudo snap install redis

3.设置开机启动Redis

sudo vim /usr/lib/systemd/system/redis.service

添加下面的内容到配置文件
[Unit]
Description=The redis-server Process Manager
After=syslog.target network.target

[Service]
Type=forking
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/bin/kill -SIGINT $MAINPID

[Install]
WantedBy=multi-user.target

sudo systemctl daemon-reload #保存并退出,执行这句话
sudo systemctl start redis.service #启动服务
sudo systemctl enable redis.service #设置开机自启动
  • 安装MongoDB(这里只演示Cenos7的系统。其它系统自行解决。)

1.配置包管理系统

vim /etc/yum.repos.d/mongodb-org-5.0.repo #编辑软件源,并添加下面的内容
[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc

2.安装 MongoDB 包

sudo yum install -y mongodb-org

3.请将以下exclude指令添加到您的/etc/yum.conf文件中

exclude=mongodb-org,mongodb-org-database,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools

4.启动 MongoDB

sudo systemctl daemon-reload
sudo systemctl start mongod
sudo systemctl status mongod #验证MongoDB状态

三、安装Fiora主程序

  • 下载主程序文件。
#作者的原始版本
git clone https://github.com/yinxin630/fiora.git -b master
#我自己的修改版(修改了有些BUG)
git clone https://github.com/TonaSmith/fiora_signed
  • 进入到安装目录安装依赖
cd fiora
yarn install
  • 构建客户端代码并配置 JwtSecret
yarn build:web
echo "JwtSecret=<string>" > .env2 #要将 <string> 替换为一个秘密文本
  • 启动服务端
yarn start

使用浏览器打开 http://[ip地址]:[端口](比如 http://127.0.0.1:9200)

  • 使用 yarn start 运行服务端会在断开 ssh 连接后停止运行, 推荐使用 pm2 来运行
# 安装 pm2
npm install -g pm2
# 使用 pm2 运行 fiora
pm2 start yarn --name fiora -- start
# 查看 pm2 应用状态
pm2 ls
# 查看 pm2 fiora 日志
pm2 logs fiora

四、域名反代

  • 在宝塔面板中新建网站
  • 然后配置HTTPS(SSL证书)
  • 打开配置文件,将文件内容替换为如下内容
  • chat.caoyongzhuo.cn换为自己的网站地址
server
{
    listen 80;
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    listen [::]:80;
    server_name chat.caoyongzhuo.cn;
    root /www/wwwroot/chat.caoyongzhuo.cn;
    #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
    #error_page 404/404.html;
    #HTTP_TO_HTTPS_START
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }
    #HTTP_TO_HTTPS_END
    ssl_certificate    /www/server/panel/vhost/cert/chat.caoyongzhuo.cn/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/chat.caoyongzhuo.cn/privkey.pem;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    add_header Strict-Transport-Security "max-age=31536000";
    error_page 497  https://$host$request_uri;
location / {
    proxy_pass http://127.0.0.1:9200;
    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 Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Forward-Proto http;
    proxy_set_header X-Nginx-Proxy true;
    proxy_http_version 1.1;
    proxy_redirect off;
}
    include enable-php-71.conf;
    #PHP-INFO-END
    #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
    include /www/server/panel/vhost/rewrite/chat.caoyongzhuo.cn.conf;
    #REWRITE-END
    access_log  /www/wwwlogs/chat.caoyongzhuo.cn.log;
    error_log  /www/wwwlogs/chat.caoyongzhuo.cn.error.log;
}

五、搭建中遇到的问题

  • 启动yarn install时候遇到“权限不够的问题”

这是由于nvm的node目录对Fiora主程序目录进行请求时用户组不是root原因导致的。解决办法:

#进入宝塔面板 /www/wwwroot/自己的网站
例如:/www/wwwroot/chat.caoyongzhuo.cn
#将chat.caoyongzhuo.cn整个文件夹的权限从www改为root即可
  • 启动yarn install报错

很有可能是node的版本低于14导致的。解决办法:

nvm install 15 #使用nvm安装node v.15 版本
nvm use 15     #使用nvm启动node v.15 版本
yarn insatll   #重新安装依赖
  • 第二次运行yarn start或者pm2 start yarn --name fiora -- start时失败

这是由于9200端口被占用导致的。解决办法:

sudo lsof -i :9200 #查看端口9200下的程序pid号
sudo kill -9 31363 #杀死该pid。如31362
yarn start 或者 pm2 start yarn --name fiora -- start #重新运行即可
  • PM2管理器中有多个fiora项目

这是由于多次运行pm2 start yarn --name fiora -- start导致的。解决办法:

pm2 delete all #删除所有项目
pm2 start yarn --name fiora -- start #重新创建fiora项目
pm2 retart fiora #重新启动fiora项目
pm2 ls #查看运行中的项目
pm2 save #保证重启VPS时候pm2也自启动

项目演示:聊天室地址

创建 GitHub Action 动作并复制以下命令

name: image
on:
  pull_request:
    paths:
      - 'static/**'
jobs:
  compress:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          ref: ${{ github.head_ref }}
      - uses: namoscato/action-tinify@v1
        with:
          api_key: ${{ secrets.TINIFY_API_KEY }}
          github_token: ${{ secrets.GITHUB_TOKEN }}
input description
api_key Tinify API key (create one here)
github_token GITHUB_TOKEN秘密