DTCMS.CORE8 的DTcms.Web是Nuxt 3服务端渲染(SSR)项目,它包含前端和后端运行程序,所以相对于其它项目来说,是复杂点,但一切都是值得的。
1.项目发布
用HBuilderX打开DTcms.Web项目,双击打开一个项目的文件,让HBuilderX知道你要发布哪个项目。在主菜单栏中选择 运行 > 运行到终端 > npm run build,如图所示:
命令执行完毕后,在项目里面就多出了一个 .output 目录,要注意的是,要将 .output 目录上传到网站空间下,而不是 .output 目录里面的文件 。
例如我的网站路径是:F:\vc.alaibao.cn,那么上传后的目录是这样的,F:\vc.alaibao.cn\.output\...
2. 安装Nodejs
点击进入Nodejs的官网下载最新版的LTS稳定版,它包含了npm。MSI安装包下载,下载后直接运行安装即可。
安装完成后通过node -v 检测是否安装成功;
3.安装pm2
在服务器上操作, 前提是安装好了Nodejs环境。
npm install pm2@latest -g --registry=http://registry.npm.taobao.org
npm i -g pm2-windows-service --registry=http://registry.npm.taobao.org
PM2_HOME 设置环境变量,放到c盘之外
pm2-service-install
安装完成之后服务中会有PM2的服务项
4.配置pm2
我们需要在网站的根目录下,创建一个ecosystem.config.js 文件,目录F:\vc.alaibao.cn\ecosystem.config.js,内容如下:
module.exports = {
apps: [
{
name: 'vcalaibaocn',
port: '3000',
exec_mode: 'cluster',
instances: 'max',
script: './.output/server/index.mjs'
}
]
}
5.启动Nuxt3服务端
到项目目录启动,执行以下命令:
pm2 start ecosystem.config.js
顺利的话,我们就成功启动了一个http://localhost:3000的站点,这是Nuxt3服务端,但是如果服务器重启的话,Nuxt3服务端就停止了,所以我们还需要执行以下命令:
全局安装pm2-windows-startup
npm install pm2-windows-startup -g
保存当前进程
pm2 save
开机自启动(记得回车健)
pm2-startup install
如果网站文件更新后,需要重新启动进程,在项目目录下执行CMD命令如下:
pm2 restart all
6.安装URL Rewrite
点击链接可以下载,URL Rewrite : The Official Microsoft IIS Site
安装Application Request Routing
点击链接可以下载,Application Request Routing : The Official Microsoft IIS Site
7.配置URL重写
选中刚才创建的站点,在IIS右边有个URL 重写,双击进入,如图:
在右边操作里选择添加规则,如图: