网站相关

本篇文章记录了有关网站的一些笔记

注意:本文大多数情况除非注明,都是在Windows环境下

有关Node.JS升级

第一步安装Nvm环境

1.nvm for windows安装包下载地址:
Releases · coreybutler/nvm-windows · GitHub

2.安装nvm
根据个人习惯下载setup或noinstall,setup包自动配置环境变量,加入系统PATH,如果下载noinstall包,解压到任意位置(惯例,路径不包含空格、特殊字符及中文),并配置环境变量。

注意:如果安装过程报错,请尝试使用管理员打开命令行

打开命令行,输入nvm -v指令,能显示版本号即可

1
2
C:\Users\Aidy>nvm -v
版本号(数字.数字.数字形式)

3.配置nvm

输入nvm -h,显示帮助(示例如下)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
C:\Users\Aidy>nvm -h

Running version 1.1.11.

Usage:

nvm arch : Show if node is running in 32 or 64 bit mode.
nvm current : Display active version.
nvm debug : Check the NVM4W process for known problems (troubleshooter).
nvm install <version> [arch] : The version can be a specific version, "latest" for the latest current version, or "lts" for the
most recent LTS version. Optionally specify whether to install the 32 or 64 bit version (defaults
to system arch). Set [arch] to "all" to install 32 AND 64 bit versions.
Add --insecure to the end of this command to bypass SSL validation of the remote download server.
nvm list [available] : List the node.js installations. Type "available" at the end to see what can be installed. Aliased as ls.
nvm on : Enable node.js version management.
nvm off : Disable node.js version management.
nvm proxy [url] : Set a proxy to use for downloads. Leave [url] blank to see the current proxy.
Set [url] to "none" to remove the proxy.
nvm node_mirror [url] : Set the node mirror. Defaults to https://nodejs.org/dist/. Leave [url] blank to use default url.
nvm npm_mirror [url] : Set the npm mirror. Defaults to https://github.com/npm/cli/archive/. Leave [url] blank to default url.
nvm uninstall <version> : The version must be a specific version.
nvm use [version] [arch] : Switch to use the specified version. Optionally use "latest", "lts", or "newest".
"newest" is the latest installed version. Optionally specify 32/64bit architecture.
nvm use <arch> will continue using the selected version, but switch to 32/64 bit mode.
nvm root [path] : Set the directory where nvm should store different versions of node.js.
If <path> is not set, the current root will be displayed.
nvm [--]version : Displays the current running version of nvm for Windows. Aliased as v.

常用命令:

nvm install:安装指定版本的node.js

nvm list:查看已安装的版本

nvm list available:查看远程可用版本

nvm node_mirror:设置node.js下载镜像地址,根据个人爱好设置,我一般使用阿里镜像

1
nvm node_mirror https://npmmirror.com/mirrors/node/

nvm use:选用已安装的版本

第二步使用nvm安装node.js

1.查看可用的node.js版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
C:\Users\Aidy>nvm list available

| CURRENT | LTS | OLD STABLE | OLD UNSTABLE |
|--------------|--------------|--------------|--------------|
| 20.5.0 | 18.17.0 | 0.12.18 | 0.11.16 |
| 20.4.0 | 18.16.1 | 0.12.17 | 0.11.15 |
| 20.3.1 | 18.16.0 | 0.12.16 | 0.11.14 |
| 20.3.0 | 18.15.0 | 0.12.15 | 0.11.13 |
| 20.2.0 | 18.14.2 | 0.12.14 | 0.11.12 |
| 20.1.0 | 18.14.1 | 0.12.13 | 0.11.11 |
| 20.0.0 | 18.14.0 | 0.12.12 | 0.11.10 |
| 19.9.0 | 18.13.0 | 0.12.11 | 0.11.9 |
| 19.8.1 | 18.12.1 | 0.12.10 | 0.11.8 |
| 19.8.0 | 18.12.0 | 0.12.9 | 0.11.7 |
| 19.7.0 | 16.20.1 | 0.12.8 | 0.11.6 |
| 19.6.1 | 16.20.0 | 0.12.7 | 0.11.5 |
| 19.6.0 | 16.19.1 | 0.12.6 | 0.11.4 |
| 19.5.0 | 16.19.0 | 0.12.5 | 0.11.3 |
| 19.4.0 | 16.18.1 | 0.12.4 | 0.11.2 |
| 19.3.0 | 16.18.0 | 0.12.3 | 0.11.1 |
| 19.2.0 | 16.17.1 | 0.12.2 | 0.11.0 |
| 19.1.0 | 16.17.0 | 0.12.1 | 0.9.12 |
| 19.0.1 | 16.16.0 | 0.12.0 | 0.9.11 |
| 19.0.0 | 16.15.1 | 0.10.48 | 0.9.10 |

This is a partial list. For a complete list, visit https://nodejs.org/en/download/releases

2.安装node.js

1
2
3
4
5
6
7
8
9
10
C:\Users\Aidy>nvm install 16.20.1
Downloading node.js version 16.20.1 (64-bit)...
Extracting node and npm...
Complete
npm v8.19.4 installed successfully.


Installation complete. If you want to use this version, type

nvm use 16.20.1

安装完成后查看版本,验证是否安装成功

1
2
3
C:\Users\Aidy>nvm list

16.20.1

选择使用安装的版本(这里以站主16.20.1为例)

1
2
3
4
5
6
7
8
C:\Users\Aidy>nvm use 16.20.1
Now using node v16.20.1 (64-bit)

C:\Users\Aidy>nvm list

* 16.20.1 (Currently using 64-bit executable)
C:\Users\Aidy>npm -v
9.8.1

第三步配置node.js

1
2
3
C:\Users\Aidy>npm config set registry https://registry.npmmirror.com/

C:\Users\Aidy>npm config set prefix e:\repos\npm\pkgs

使用阿里镜像地址

修改全局包路径(修改后将该路径加入系统环境变量PATH中)

安装cnpm及yarn管理工具

1
2
3
npm install -g cnpm

npm install -g yarn

至此Node.js升级配置完毕


有关网站后台Qexo

部署程序

得益于 Python 强大的跨平台功能, Qexo 支持在各种平台进行部署, 受支持的部署方式为 Vercel 或本地部署。值得注意的一点是, 如果你使用的是 Vercel 部署, 我不建议你自备数据库, 因为你往往无法保证与 Vercel 的连接质量。

由于 Vercel方面的Bug 你需要在项目 Settings -> General -> Node.js Version 将 Node.js 版本改为 18.x 以完成部署

Vercel 部署 (PostgreSQL/Vercel)

你可以通过 Vercel 提供的免费数据库。但请注意这是个 Beta 功能

一键部署

部署到 Vercel

首次部署会报错, 请无视并进行接下来的步骤

申请 Vercel 数据库

进入Vercel Storage 界面 然后点击右上角的 Create Database 并选择 Postgres 创建免费 PostgreSQL 数据库, 在 Connect 页面获取数据库连接信息。请注意在地区选择的位置选择与你上一步项目对应的地区(通常为 Washington, D.C., USA (East) - iad1)。

绑定项目

在左侧边栏选择 Projects 点击 Connect Project 连接到你第一步创建的项目

部署

回到你的项目页面,在 Deployments 点击 Redeploy 开始部署, 若没有 Error 信息即可打开域名进入初始化引导

Vercel 部署 (MySQL/PlanetScale)

流行的数据库平台PlanetScale删除免费计划 开发者必须在4月8日前付费

你可以通过使用 PlanetScale 提供的免费数据库

申请 PlanetScale 数据库

注册 PlanetScale 账号 创建免费 MySQL 数据库(不支持大陆IP), 区域一定要选择 AWS / N. Virginia (us-east-1), 并记录数据库连接信息

一键部署

部署到 Vercel

首次部署会报错, 请无视并重新进入项目, 在项目设置界面添加环境变量 Environment Variables

名称 意义 示例
MYSQL_HOST MySQL 数据库连接地址 us-east.connect.psdb.cloud
MYSQL_PORT MySQL 数据库通信端口 默认应填写 3306 3306
MYSQL_USER MySQL 数据库用户名 abudu
MYSQL_NAME MySQL 数据库名 mydatabase
MYSQL_PASSWORD MySQL 数据库密码 password
PLANETSCALE (可选)用PlanetScale则设置为1 1

其中 PLANETSCALE 用于禁用外键约束, 以防止PlanetScale数据库部署失败, 若你自备数据库且没有特殊需求请不要填写

在 Deployments 点击 Redeploy 开始部署, 若没有 Error 信息即可打开域名进入初始化引导

Vercel 部署 (PostgreSQL/SupaBase)

你可以通过 SupaBase 提供的免费数据库

申请 SupaBase 数据库

注册 SupaBase 账号 创建免费 SupaBase 数据库, 区域一定要选择 N. Virginia (us-east-1) 在项目设置页面获取数据库连接信息, 密码即为你所设置的值

一键部署

部署到 Vercel

首次部署会报错, 请无视并重新进入项目, 在项目设置界面添加环境变量 Environment Variables

名称 意义 示例
PG_HOST PostgreSQL 数据库连接地址 db.xxx.supabase.co
PG_PORT PostgreSQL 数据库通信端口 默认应填写 5432 5432
PG_USER PostgreSQL 数据库用户名 postgres
PG_DB PostgreSQL 数据库名 postgres
PG_PASS PostgreSQL 数据库密码 password

在 Deployments 点击 Redeploy 开始部署, 若没有 Error 信息即可打开域名进入初始化引导

Vercel 部署 (MongoDB)

鉴于 Djongo 对于 MongoDB 的支持并不够完善, 更建议使用另外的数据库(MySQL/PostgreSQL)

申请 MongoDB 数据库

注册 MongoDB 账号 创建免费 MongoDB 数据库, 区域一定要选择 AWS / N. Virginia (us-east-1) 在 Clusters 页面点击 CONNECT, 按步骤设置允许所有 IP 地址的连接), 创建数据库用户, 并记录数据库连接信息, 密码即为你所设置的值

一键部署

部署到 Vercel

首次部署会报错, 请无视并重新进入项目, 在项目设置界面添加环境变量 Environment Variables

名称 意义 示例
MONGODB_HOST MongoDB 数据库连接地址 mongodb+srv://cluster0.xxxx.mongodb.net
MONGODB_PORT MongoDB 数据库通信端口 默认应填写 27017 27017
MONGODB_USER MongoDB 数据库用户名 abudu
MONGODB_DB MongoDB 数据库名 Cluster0
MONGODB_PASS MongoDB 数据库密码 password

在 Deployments 点击 Redeploy 开始部署, 若没有 Error 信息即可打开域名进入初始化引导

本地部署

从 2.0 版本开始, Qexo 对本地部署进行了较为完善的支持

由于本地部署问题的多样性及不确定性, 维护者不能保证给予有效的支持, 只建议高级用户操作, 且需要自行配置本地 Python3 环境

如果要使用本地部署, 请使用2.0+版本或Dev分支

下载 Release

Release 下载最新的版本 Source code (zip) 并解压

准备数据库

参考 Django 官方文档

官方支持 第三方支持
PostgreSQL CockroachDB
MariaDB Firebird
MySQL Google Cloud Spanner
Oracle Microsoft SQL Server
SQLite ……

注1: 你可能需要根据你使用的数据库修改 requirement.txt 以安装依赖

注2: 在进行一键更新时,名称为db的目录下的文件以及名称为configs.py文件将不会被删除,你应该把重要文件(如数据库)放在该文件夹下

编辑配置

以使用 Mysql 为例, 确认好安装相关依赖后在manage.py的同级目录下创建并修改 configs.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import pymysql
pymysql.install_as_MySQLdb()
DOMAINS = ["127.0.0.1", "yoursite.com"]
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'qexo',
'USER': 'root',
'PASSWORD': 'password',
'HOST': '127.0.0.1',
'PORT': '3306',
'OPTIONS': {
"init_command": "SET sql_mode='STRICT_TRANS_TABLES'"
}
}
}

如果需要引入其他的库, 或在init.py中执行代码, 可以直接在顶部写入import pymysql

执行命令运行

1
2
3
4
pip3 install -r requirements.txt
python3 manage.py makemigrations
python3 manage.py migrate
python3 manage.py runserver 0.0.0.0:8000 --noreload

Hexo4连+1命令:hexo clean; hexo generate; hexo algolia; hexo deploy; hexo server