【问题标题】:How to deploy SSR Nuxt app to Plesk web server?如何将 SSR Nuxt 应用程序部署到 Plesk Web 服务器?
【发布时间】:2020-06-25 13:02:15
【问题描述】:
我完全是 Nuxt.js 的菜鸟。
我创建了一个没有任何自定义服务器(例如 express)的 nuxt.js 应用程序。我想上传到我的网络服务器 Plesk Onyx。我该怎么做?
我读到了几种不同的方法可以做到这一点,例如使用 docker 或直接部署它,如 here 所述。我不知道如何使用 docker,所以我选择了后一种方法,但没有成功。
谁能指导我如何在 Plesk Onyx 等网络服务器上正确部署 nuxt 应用程序?
如果您需要更多信息,请告诉我。
谢谢。
【问题讨论】:
标签:
vue.js
nuxt.js
web-deployment
plesk
【解决方案1】:
你需要在根目录下有 server.js 文件并使用 plesk 节点运行
const express = require('express');
const { Nuxt, Builder } = require('nuxt');
const config = require('./nuxt.config.js');
// Create new express app
const app = express();
// Listen to port 3000 or PORT env if provided
app.listen(process.env.PORT || 3000);
// Enable production mode
config.dev = false;
// Create instance of nuxt
const nuxt = new Nuxt(config);
// Add nuxt middleware
app.use(nuxt.render);
// Build on start
// new Builder(nuxt).build().catch(err => {
// console.error(err);
// process.exit(1);
// });
【解决方案2】:
我没有检查Plesk Onyx
但我假设 Plesk Onyx 为您提供具有 root 访问权限的 VPN
你需要做的是这个
VPN 操作系统是 ubuntu
- 使用 ssh 访问 vpn(如果您愿意,请阅读 putty)或仅使用 ssh root@serverip
- sudo apt 更新
- sudo 安装 nginx
- cd ~
- sudo curl -sL https://deb.nodesource.com/setup_10.x -o nodesource_setup.sh
- sudo bash nodesource_setup.sh
- sudo apt install nodejs
- sudo vim /etc/nginx/sites-available/nuxt_config(搜索关于nuxtjs nginx的配置)
- sudo ln -s /etc/nginx/sites-available/nuxt_config /etc/nginx/sites-enable
- sudo nginx -s reload(重新加载您的 nginx 设置)
- cd /var/www/
- mkdir nuxt-site && cd nuxt-site
- 如果你的 repo 中没有 dist 文件夹,请使用 git clone 安装 nuxtjs 文件并运行 npm i 和 npm run build
- 安装pm2(阅读PM2)npm i -g pm2
- 确保您在项目文件夹中并运行
sudo pm2 start --name YourApplicationName npm -- start
PS:如果您将来推送任何更新,您应该拉取它,然后重新启动或重新加载您的 pm2,如 sudo pm2 reload 0 其中 0 是您的项目在 pm2 中的索引,您可以执行 pm2 list 来查看您的项目的索引有