nuxt发布到windows IIS部署(nuxt+node+pm2+iis)

我在网上看到过很多帖子来说明nuxt.js部署到iis上面,不过我觉得都不是很适合我这种第一次接触nuxt.js的新手。

所以我自己经过一顿折磨的摸索,把自己部署的整过过程分享出来。

首先我先说明以下我的服务器搭建环境:

windows server 2008 r2

IIS(我的服务器已经有其他发布过的网站,所以我不想再去装其他的反向代理服务器,如nginx)

ARR(Application Request Routing)下载地址

node.js下载地址

 

一、nuxt.js发布

执行命令:

npm run build

打开项目目录复制以下文件夹到服务器:.nuxt、static、nuxt.config.js、package.json、assets(根据自己项目文件存放情况选择)

我的服务器网站文件夹里面的文件为以下内容:

二、服务器部署环境搭建

1、安装node.js下载地址

我是全部默认下一步的,安装成功之后运行命令查看是否安装成功

如果没有出现版本号,可能是安装出了问题,请根据情况自行解决。

2、安装ARR(Application Request Routing)

下载地址

三、项目运行

1、服务器运行nuxt

cmd进入nuxt项目文件夹目录,安装依赖

运行命令:

npm install 

安装完成后,会多出一个文件夹

接下来,我们先运行一下nuxt项目,看看是否能正常运行:

npm run start

然后浏览器输入网址看看是否能正常运行,我监听的端口是3001,所以输入:http://127.0.0.1:3001

如果能够正常运行,那进入下一步

2、安装pm2(node.js进程守护)

用管理员启动cmd,全局安装pm2:

 npm i pm2 -g

然后设置pm2开机自启动 :

(1)安装并配置:

npm i -g pm2-windows-service

安装完成后重启服务器

 (2)添加系统环境变量: PM2_HOME= C:\Users\***\.pm2  (具体路径可用 pm2 -v 查看) 

 (3)  以管理员权限打开新的cmd命令行窗口,执行以下命令来安装服务:

 pm2-service-install

提示Perform environment setup ?     选 n, 继续,此时, PM2服务已安装成功并已启动, 可以通过 [win + r] - [services.msc] 来查看,服务名称为PM2

npm start启动站点  新开cmd,进入对应应用目录:

 pm2 start npm --name "你要取得名称" -- run start

如果你的运行状态为:online,说明正常。

如果你运行后状态为:stopped,说明没有正常启动,百度搜索了以下,有人说是node.js没有权限操作cmd控制台。

于是我跟着操作,问题解决:

安装依赖:

npm install node-cmd

然后在项目根目录创建一个:start.js,内容如下:

const cmd=require('node-cmd'); 
cmd.run('npm start');

然后在cmd执行:

pm2 start start.js

发现运行成功,但是有个小黑框,关掉后无法运行网站就无法访问。

但是我无意间发现,重启一下服务器,此问题得到解决。

3、nxut网站运行正常之后,将其添加到开机启动

pm2 save

然后重启服务器,cmd执行

pm2 ls

查看当前托管运行的网站是否正常:

四、IIS发布网站

打开IIS->选中服务器名称->双击 右侧功能视图 IIS 节点下的Application Request Routing Cache->点击 右侧操作视图Proxy节点下的Server Proxy Settings->勾选上Enable Proxy前面的复选框

添加网站test,目录选择nuxt项目文件夹,配置自己的项目域名

然后选中刚刚发布test网站,选中url重写,添加规则

模式:^(.*)

条件:{HTTP_HOST}    ^www.xxxx.com(你的域名)$

重写url:http://127.0.0.1:3000/{R:1}  你nuxt项目配置的地址和端口

 

到此你的网站就通过iis发布成功了!

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值