nuxtjs项目部署Ubuntu服务器

本文详述了如何使用Nuxt.js进行服务端渲染(SSR),并配合nginx在Ubuntu服务器上部署Node项目。涵盖了技术栈介绍、本地打包、服务器环境搭建、依赖安装、PM2守护进程启动及nginx配置等关键步骤。

由于为了达到更好的SEO效果,最近研究了下nuxt.js 来做服务端渲染(SSR)。

本文来讲讲,在本地开发完成后怎么在服务器上配合nginx部署node项目。

技术栈:

  • nuxt.js -- 2.9.2
  • nginx -- 1.10.3
  • pm2 -- 3.5.1
  • node -- v10.16.3
  • npm -- 6.9.0

步骤:

  1. 本地打包、上传到服务器
  2. 安装服务器环境
  3. 安装项目依赖和测试启动
  4. PM2 守护启动
  5. nginx配置

正文:

本地打包

打包前,先设置好在服务器中要打开的端口

设置在 package.json中:(我设置的8004端口)

[外链图片转存失败(img-GrI7KyQh-1569229030947)(nuxtjs项目部署Ubuntu服务器\Image.png)]
在项目终端执行:

npm run build
上传服务器

本地打包完成后,上传文件到服务器。

只需要把下图中所示的四个文件(夹) 上传到服务器即可。

[外链图片转存失败(img-YV2IyULH-1569229030948)(nuxtjs项目部署Ubuntu服务器\Image1.png)]

怎么上传文件到服务器本文不再做说明。

安装服务器环境
  1. 安装node
  2. 安装npm
  3. 安装 PM2
  4. 安装 nginx

这些安装 网上一搜一堆,本文不再做说明。

安装项目依赖

cd 切换到项目文件夹内,执行npm install 安装项目依赖环境

npm install
测试启动

当安装完依赖后,npm start 就可以看到 nuxt 运行起来了。

npm start

这时就已内网 IP+设置的端口(8004)启动了

pm2 守护开启进程

在项目的根目录下,执行一下命令。启动nuxt项目

pm2 start npm --name "my-nuxt" -- run start

可以用 pm2 list 看到当前所有node进程列表。

关于pm2的使用,请访问:https://juejin.im/post/5be406705188256dbb5176f9

顺利的话,nuxt项目已经启动起来了,但是只能内网IP进行访问。

此时,可以使用nginx做反向代理 通过外网来访问nuxt项目

nginx配置

切换到nginx目录,并打开nginx配置项。

cd /etc/nginx
vim nginx.conf

配置nginx:

server{
         listen 80/port;
         server_name your_domain;

         gzip on;
         gzip_types      text/plain application/xml text/css application/javascript;
         gzip_min_length 1000;

         location / {
             expires $expires;
             proxy_redirect                      off;
             proxy_set_header Host               $host;
             proxy_set_header X-Real-IP          $remote_addr;
             proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
             proxy_set_header X-Forwarded-Proto  $scheme;
             proxy_read_timeout          1m;
             proxy_connect_timeout       1m;
             proxy_pass  http://127.0.0.1:8004;
  # http://127.0.0.1 + nuxt启动端口
          }
      }

重启nginx

nginx -s reload
要在Linux系统上部署Nuxt项目,您可以按照以下步骤进行操作: 1. 确保您的Linux系统已经安装了Node.js和npm。您可以通过运行以下命令来检查它们是否已安装: ``` node -v npm -v ``` 2. 在您的Linux系统上安装一个Web服务器,比如Nginx。您可以使用包管理器来安装它,例如apt(Debian/Ubuntu)或yum(CentOS/RHEL)。以下是在Debian/Ubuntu上安装Nginx的示例命令: ``` sudo apt update sudo apt install nginx ``` 3. 克隆或复制您的Nuxt项目到Linux系统上。您可以使用Git来克隆项目,或者通过其他方式将项目文件复制到服务器上。 4. 进入到您的Nuxt项目目录,并运行以下命令来安装项目依赖: ``` cd /path/to/your/nuxt/project npm install ``` 5. 构建您的Nuxt项目。运行以下命令: ``` npm run build ``` 6. 配置Nginx以处理您的Nuxt项目。打开Nginx配置文件(通常位于`/etc/nginx/sites-available/default`或`/etc/nginx/nginx.conf`),并添加以下配置块: ``` server { listen 80; server_name your-domain.com; # 替换为您的域名或服务器IP地址 location / { proxy_pass http://localhost:3000; # Nuxt项目运行的端口,默认为3000 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } ``` 7. 保存并关闭Nginx配置文件后,重新加载Nginx以使更改生效: ``` sudo systemctl reload nginx ``` 8. 您的Nuxt项目现在应该已经部署并在Linux系统上运行了。您可以通过访问服务器的域名或IP地址来访问它。 希望这些步骤能帮助您在Linux系统上成功部署Nuxt项目!如果您遇到任何问题,请随时提问。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值