1.先安装好nodejs的版本

我centos7版本,最后发现支持nodejs-v16.20版本

[sytyuser1@syit-dev-linux-01 node]$ pwd
/usr/local/node

在 /usr/local/node   目录下载wget https://nodejs.org/dist/latest-v16.x/node-v16.20.2-linux-x64.tar.gz

解压 tar-zxvf node-v16.20.2-linux-x64.tar.gz

移动到node

[sytyuser1@syit-dev-linux-01 node]$ ll
总用量 33828
drwxr-xr-x 2 sytyuser1 sytyuser1 119 8月 7 14:05 bin
-rw-r--r-- 1 sytyuser1 sytyuser1 720035 8月 9 2023 CHANGELOG.md
drwxr-xr-x 3 sytyuser1 sytyuser1 18 8月 9 2023 include
drwxr-xr-x 3 sytyuser1 sytyuser1 26 8月 9 2023 lib
-rw-r--r-- 1 sytyuser1 sytyuser1 92799 8月 9 2023 LICENSE
drwxr-xr-x 2 sytyuser1 sytyuser1 6 8月 7 13:20 node-v16.20.2-linux-x64
-rw-rw-r-- 1 sytyuser1 sytyuser1 33784208 8月 9 2023 node-v16.20.2-linux-x64.tar.gz
-rw-r--r-- 1 sytyuser1 sytyuser1 35345 8月 9 2023 README.md
drwxr-xr-x 5 sytyuser1 sytyuser1 45 8月 9 2023 share

 

  

2.打包项目

yarn build
# or
npm run build
会得到

 

3.安装pm2

npm install -g pm2

  

 用pm2 -v查看版本,查看是否成功

[sytyuser1@syit-dev-linux-01 test]$ pm2 -v
5.4.2

  

4.配置pm2 

在.output同目录创建touch pm2.config.js

module.exports = {
apps: [
{
  name: 'junjie',
  port: '3005',
  exec_mode: 'cluster',
  instances: 'max',
  script: './.output/server/index.mjs'
}
]
}

  

5.编写SSR对应的nginx脚本

listen 80;
    server_name nacos.firefly;
    # 在server块中设置client_max_body_size
    client_max_body_size 10M;
    #常规写法
    #location / {
    #   root   /usr/share/nginx/html/tieba-app;
    #   index  index.html index.htm;
    #   try_files $uri $uri/ /index.html;
   # }

  
    location /app-api {
        proxy_pass http://app;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;

        # 添加以下指令以处理静态资源
        proxy_set_header Accept-Encoding "";
        proxy_set_header Referer $http_referer;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
   
   location / {
        proxy_pass http://localhost:3005/;
    }

 6.写一个启动脚本start.sh,目录为

[sytyuser1@syit-dev-linux-01 tieba-app]$ pwd
/usr/share/nginx/html/tieba-app
[sytyuser1@syit-dev-linux-01 tieba-app]$ ll -a
总用量 3000
drwxrwxrwx 3 root      root           77 8月   7 14:09 .
drwxr-xr-x 6 root      root          223 7月  30 11:33 ..
drwxrwxr-x 4 sytyuser1 sytyuser1      52 8月   7 13:58 .output
-rw-rw-r-- 1 sytyuser1 sytyuser1 3063634 8月   7 13:56 .output.zip
-rw-rw-r-- 1 sytyuser1 sytyuser1     193 8月   7 13:54 pm2.config.js
-rwxrwxrwx 1 sytyuser1 sytyuser1      25 8月   7 14:09 start.sh内容

内容为:

pm2 start pm2.config.js

 

访问http://nacos.firefly即可成功


借鉴大佬的文章:
https://www.yinchunyu.com/nuxt3/deploy.html

posted on 2024-08-07 15:35  我是坏男孩  阅读(140)  评论(0编辑  收藏  举报