Carmineprince's Blog
首页
    • HTML
    • CSS
    • JavaScript
    • Vue
    • React
    • TypeScript
    • Node
    • Flutter
    • Electron
    • Python
    • 运维
    • 重学前端
  • 分类
  • 标签
  • 归档

Ziqi Wang

胡思乱想程序员
首页
    • HTML
    • CSS
    • JavaScript
    • Vue
    • React
    • TypeScript
    • Node
    • Flutter
    • Electron
    • Python
    • 运维
    • 重学前端
  • 分类
  • 标签
  • 归档
  • 从0开始搭建一套规范的Vue3.x项目工程环境
  • 解决vite构建vue3项目报错
  • 解决Vue3中无法使用$ref的问题
  • 项目中手动增加scss支持
  • el-table多选分页保留
  • 解决npm run dev启动两个页面问题
  • PC端和移动端兼容方案
  • SFC-Use-script-setup
  • vue2x面试前回炉重造
  • Vue3+Vite2配置
  • flvjs+vue 视频播放(手动追帧、断开重连、多个视频同时直播)
  • vue平滑滚动到指定位置
  • vant项目使用postcss-pxtorem和amfe-flexible 进行移动端适配
  • vue 使用v-html绑定时,内部元素不会继承外部css的解决方案
  • vue-awesome-swiper缩略图控制循环无效解决方案
  • 如何在Vue项目中优雅的使用svg图标
  • yarn报错及解决方案
  • vue3+ts+vite移动端vw适配方案
  • Vue项目中增加mockjs模拟接口请求
  • Nuxt相关

    • 在nuxt中使用vue-awesome-swiper
    • 在nuxt中使用vue-video-player
    • ubuntu16 TLS nuxt + nginx 部署服务端渲染项目
      • 一、安装node、npm
      • 四、上传项目到服务器
  • Vue3思考及跟Vue2相比的新变化总结
  • Vue相关
  • Nuxt相关
carmineprince
2021-10-20

ubuntu16 TLS nuxt + nginx 部署服务端渲染项目

# 一、安装node、npm

# Ubuntu 16.04 TLS,执行以下命令:
sudo apt-get install nodejs
sudo apt install nodejs-legacy
sudo apt install npm
# Ubuntu 18.04 TLS,执行以下命令:
sudo apt-get install nodejs
sudo apt install libssl1.0-dev nodejs-dev node-gyp npm
1
2
3
4
5
6
7

##二、更新npm的包镜像

sudo npm config set registry https://registry.npm.taobao.org
sudo npm config list
1
2

##三、安装n管理器(用于管理nodejs版本)

# 安装n模块
sudo npm install -g n
# 升级node.js到最新的稳定版本 
sudo n stable
1
2
3
4

重启一下终端,node -v看一下版本,就可以发现我们已经升级到最新版本了 ##四、更新npm npm包的更新其实就是自己更新自己

sudo npm install -g npm
1

##三、安装pm2

npm install -g pm2
1

# 四、上传项目到服务器

本地运行npm run build打包,然后把.nuxt、static、nuxt.config.js、package.json、package-lock.json上传到服务器

//  .nuxt
//  static
//  nuxt.config.js
//  package.json
//  package-lock.json
1
2
3
4
5

# 五、运行项目

方式一:上传好后,运行npm install安装依赖 最后运行npm run start启动项目

npm install
npm run start
1
2

方式二:使用git拷贝整个项目到项目目录 然后依次执行

npm install
npm run build
npm run start
1
2
3

# 六、pm2 守护开启进程

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

pm2 start npm --name "product_name" -- run start
1

可以用 pm2 list 看到当前所有node进程列表。 关于pm2的使用,请访问:https://juejin.im/post/5be406705188256dbb5176f9 (opens new window)

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

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

# 七、nginx配置

server{
         listen 80;
         server_name xxx.xxxx.com;公网地址

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

         location / {
             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;
             # http://127.0.0.1 + nuxt启动端口
             proxy_pass  http://127.0.0.1:8004
          }
      }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# 八、重启nginx

进入nginx的sbin目录下(/user/local/nginx/sbin)

./nginx -s reload
1
#nuxt#部署#nginx#ubuntu
上次更新: 10/21/2021, 1:52:09 PM
在nuxt中使用vue-video-player
Vue3思考及跟Vue2相比的新变化总结

← 在nuxt中使用vue-video-player Vue3思考及跟Vue2相比的新变化总结→

最近更新
01
pc端rem配置
03-02
02
使用动态变量ts报错的解决
02-25
03
React Hook详解
02-18
更多文章>
Theme by Vdoing | Copyright © 2021-2022 Carmineprince | 鲁ICP备2021046263号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式