
使用宝塔面板部署本网站
本文介绍了如何使用宝塔面板部署网站。首先,需要准备服务器和完成网站备案,并选择高版本操作系统(Ubuntu 20+ 或 CentOS 8+)。通过终端输入指定命令安装宝塔面板,安装完成后获取面板地址和登录信息。接着,在宝塔面板中初始化配置,安装Node.js、Nginx和MySQL 8.0等必要软件。文章详细步骤清晰,适合需要使用宝塔面板部署网站的用户参考。
前言
首先,部署一定需要服务器和网站(ps: 国内的要做好备案),然后我们这里是配合宝塔面板来部署。因为我也是部署在宝塔上面的。如果后续有需要的话,我这边再出个教程,例如docker、vercel、cloudflare之类的部署。
宝塔面板安装
首先,登录服务器,看下你的云服务器商,一般都有远程链接的方式,登录上去即可。这里要选择高版本的OS(ubuntu > 20、centos > 8),因为我们后面要装node20,在不符合版本的机器上是装不了的。然后在服务器的终端输入下面这个命令,结束后,宝塔面板就安装完成了。访问外网ipv4面板地址,登录后就可以进入面板了。
if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec
# 安装完成后会出现下面的信息,注意保存
#【云服务器】请在安全组放行xxxx 端口
# 外网ipv4面板地址: https://xx.xxx.xxx.xxx:xxx/xxxxxxxx
# 内网面板地址: https://xx.xxx.xxx.xxx:xxx/xxxxxxxx
# username: abc
# password: bcd
宝塔初始化配置
接下来我们要在宝塔安装一些软件,主要是node、nginx、mysql,数据库我们装mysql8.0的版本。
然后呢,我们来初始化下数据库和node,mysql我们初始化一个blog的数据库,node我们装 22的最新版本(20也行)。
到这一步呢,我们的面板基础配置也就完成了,接下来我们可以安装和启动服务了,下面我将从服务端
,管理端
和前台展示端
的每个端部署讲起。
服务端
首先我们要进入终端,拉取我们的服务端代码,一般我们放在www\wwwroot
下,然后拉取,主要命令如下:
cd /www/wwwroot/
git clone https://github.com/codedogQBY/blog-main-server.git
cd blog-main-server
接下来就是下载依赖啦,不过在此之前,建议装下pnpm
npm i pnpm -g
pnpm i
接下来该初始化我们的服务了,在初始化我们的服务之前呢,我们要先完善下我们的.env文件。
.env文件
# 数据库配置
DATABASE_URL="mysql://username:password@hostname:port/database_name"
# 邮件服务配置
SMTP_HOST=smtp.163.com
SMTP_PORT=465
SMTP_SECURE=true
SMTP_USER=your-email@163.com
SMTP_PASS=your-smtp-password
SMTP_FROM="your-email@163.com"
# JWT配置
JWT_SECRET=your-super-secret-jwt-key-here
JWT_EXPIRES_IN=7d
# 管理员账户配置
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=admin123
# 又拍云存储配置
UPYUN_BUCKET=your-bucket-name
UPYUN_OPERATOR=your-operator
UPYUN_PASSWORD=your-upyun-password
UPYUN_DOMAIN=your-domain.upcdn.net
UPYUN_API_DOMAIN=v0.api.upyun.com
UPYUN_PROTOCOL=http
# SEO配置
SITE_URL=https://your-domain.com
BAIDU_SEO_TOKEN=
GOOGLE_SEO_TOKEN=
# AI服务配置
ZHIPU_API_KEY=your-zhipu-api-key
配置不知道怎么拿?不要着急,下面我带你一步一步的获取,一步一步配置
数据库
在刚才我们在宝塔上面安装了mysql数据库,现在我们回到宝塔面板,点击菜单栏的数据库
,点击root密码
,弹出一个数据库密码,这个就是我们的数据库配置里的password
,然后username
我们就填 root
就好了。hostname
和port
我们就使用localhost
和 3306
,database_name
就填blog
就可以了。
为什么这里用root去访问数据库呢,因为root权限够高,可以避免一些权限之类的报错。
邮件
邮件这里的话,有很多很多的邮件服务商,具体我们就不一个个说对应的参数怎么获取了,这里我们以163邮箱为例,其他的邮箱服务可以百度搜下。
首先我们登录网易邮箱,来到网易邮箱的首页,点击上方的设置,然后点击 POP3/SMTP/IMAP
进入设置页。
刚进去的时候IMAP/SMTP服务
是没有开启的,我们需要点击一下开启,然后网易会要求发送验证码。验证完之后会弹出一个弹框,有个一个授权密码,这个授权密码就是我们的SMTP_PASS
,请注意,这里并不是等里密码。然后SMTP_HOST
直接填写smtp.163.com
就可以了。SMTP_PORT
填465
,然后SMTP_PORT
填了465
之后,SMTP_SECURE
要设置为true
。SMTP_USER
和 SMTP_FORM
填写登录邮箱就可以,当然SMTP_FORM
填写你的昵称也是OK的。
JWT
JWT这里呢,就是生成token的,这里的配置就没有那么复杂了。主要也就两个参数,JWT_SECRET
随便填一个你喜欢的字符串就可以了,例如i-love-you JWT_EXPIRES_IN
这里是过期时间,你也可以默认填写 7d
,或者你希望过期时间长一点,数值填大点也是没有关系的,
管理员账户
管理员账户这里有两个参数,主要是我们初始化系统时,默认超级管理员的邮箱和密码,建议用你个人的邮箱就可以了,密码的话可以建个简单的密码,后续我们登录进后台管理系统再改也行,ADMIN_EMAIL
是填你的真实邮箱即可,ADMIN_PASSWORD
设置个简单的密码就OK啦。
又拍云
又拍云是一家提供一站式在线业务加速服务的企业级云服务商。它主要提供包括云存储、云处理、CDN加速、云安全等一系列服务,帮助客户解决数据存储、处理和加速问题,实现快速上云。
我们的文件系统,也就是图床背后的服务是又拍云,这里我们使用的是又拍云的云存储,又拍云的云储存还是很不错的,同时又拍云也有又拍云联盟,网站上线后在页脚挂上又拍云的链接就可以加入了,每个月 10G的云空间还是很香的。具体大家可以看这篇文章。好了,话不多说,我们来看下,又拍云相关的配置是怎么配的。
我们进入又拍云,登录后点击右上角的控制台,然后我们点击云存储的立即使用。
一开始我们是没有服务的,我们点击云存储页面左上角的,新建服务,进入下面的弹框。接下来我们一个个的参数怎么填。首先配置里的服务名就是UPYUN_BUCKET
参数,这里是我们云存储的桶,我们网站的所有文件都会存到这个桶里。然后是下面的操作员,我们要把权限都勾上,因为我们需要在后台管理文件。操作员就是 UPYUN_OPERATOR
这个参数,下面的密码是 UPYUN_PASSWORD
参数,这里复制后便不可查看了,所以要保存好。当然,后面要是忘了,也可以在又拍云后台重新生成。
服务创建好后,我们点击进入服务,滑到最下面,我们可以绑定自己的专属域名,当然也可以使用测试域名,不过,测试域名好像会有限制,不建议在生产环境中使用。这里我们域名填入UPYUN_DOMAIN
这个参数,然后UPYUN_API_DOMAIN
参数填v0.api.upyun.com
就可以了。 UPYUN_PROTOCOL
这里如果你用的是测试域名或者你绑定的域名不支持https
就直接填http
就好了。
SEO配置
SEO这里的配置其实不影响服务的启动,就算不添加也不会有什么问题,他的作用仅仅是在你发布文章时,将你的文章提交给百度/谷歌收录。SITE_URL
这里填写你的前台的域名就可以了。 BAIDU_SEO_TOKEN
和GOOGLE_SEO_TOKEN
是两个token
,具体可百度/谷歌查一下,就不细讲了。
智谱配置
智谱的配置就是文章编辑的时,用作文章摘要
、文章别名
、SEO配置
的 AI生成。为什么选择智谱呢?当然是因为智谱有免费的api呀。(果然白嫖的就是香)。我们访问智谱的后台 ,第一次访问需要登录,登录完之后我们点击右上角的小钥匙icon。进入APPI keys
页面,点击新增api key,创建完成后,我们复制下key,就是我们的ZHIPU_API_KEY
的值。
后端启动服务
基本的配置完成后,我们就可以来启动服务啦。我们回到宝塔面板里,点击终端,进入到/www/wwwroot/blog-main-sserver
目录下,进行数据库初始化和构建,依次执行下面的命令。
npx prisma generate
npx prisma migrate dev
npx prisma db seed
pnpm build
然后我们点击左侧菜单栏的网站,选中Node项目
,添加Node项目
,按照我下面的配置来填写,这里的api.doain.com
填写你准备分配给后端服务的地址。点击确认,等待一会就好了。我们可以看下网站的项目日志,没有报错就是启动成功啦。或者直接访问后端服务的地址就可以了,如果看到Hello World
也是启动成功了。
管理后台
管理后台的启动和配置就没有那么复杂了。
后台启动服务
首先我们要进入终端,拉取我们的管理后台的代码,这里我们也放在/www/wwwroot
下拉取,主要命令如下:
cd /www/wwwroot/
git clone https://github.com/codedogQBY/blog-main-admin.git
cd blog-main-admin
接下来我们要先完善下我们的.env文件。很简单,就一条,将我们的api指向服务端域名即可。
VITE_API_BASE_URL=https://api.abc.com
接下来就是下载依赖,前面我们已经下载了pnpm
,然后我们进行构建,构建后会在管理后台的目录下生成dist
文件,这个就是我们要部署的文件夹。
pnpm i
pnpm build
点击确定后,我们等一会就可以部署完成了。接下来了在启动前台前,我们先进入管理后台去做一些配置。首先我们登录我们配置在服务端.env
的初始化超管账号和密码。登录后呢,由于我们没有双因素认证,因此我们要先配置,下载auth的app,然后扫码绑定,最后再输入对应的验证码登录即可。
后台系统的配置
登录后,我们先来到个人信息页
,修改初始用户名和初始密码
然后我们来到站点配置页面,填入一些基本的网站配置信息。
接下来是配置关于页面,这里我们只需要暂时配置基本信息和个性标签页即可。
再然后我们来到权限管理页面,点击下同步权限。
最后是来到前面页面,配置一个激活前面。
到这里我么后台网站的基本配置就可以了。
前端
接下来就是前端的部署了,其实前端的部署也没有什么难度。首先我们还是要进入终端,拉取我们的前端代码,这里我们也放在/www/wwwroot
下拉取,主要命令如下:
cd /www/wwwroot/
git clone https://github.com/codedogQBY/blog-main.git
cd blog-main
接下来我们要先完善下我们的.env.local文件。很简单,就一条,将我们的api指向服务端域名即可。(一定一定一定要指定,不然会默认请求到我的服务来,你也不想成为我的镜像站吧哈哈哈)
NEXT_PUBLIC_API_URL=https://api.abc.com
接下来就是下载依赖,前面我们已经下载了pnpm
,然后我们进行构建,构建后会在管理后台的目录下生成dist
文件,这个就是我们要部署的文件夹。
pnpm i
pnpm build
到这里呢,其实就差不多,我们还是打开我们的宝塔面板。还是来到网站-Node项目-添加Node项目,然后按照我下面的配置即可,点击确定,等待next服务器启动,完成后访问网站,数据符合预期就访问成功啦!!!
总结
其实整体使用宝塔部署还是很简单的,很多东西都不用上机敲命令行,直接可视化操作,也没啥难度。
谷月
作者
评论 (0)
还没有评论,来发表第一条评论吧!