Linux部署nuxt

tech2023-08-23  99

首先,你需要一个Linux服务器,上面安装好node和nginx(安装流程参考我前两篇博客)

然后,你有一个nuxt项目上去....废话不多说。

部署方法有三种:

一、在电脑上打包后上传到Linux运行(以防服务器被黑客攻破拿走你的源码可以如此选择):

项目打包:npm run build 然后把根目录下面的五个文件: .nuxt文件夹 static文件夹 nuxt.config.js package.json package-lock.json 把这几个文件上传到linux上面你的项目目录里,然后运行: 安装依赖:npm install 运行项目:npm start

二、直接把项目除了node_modules以外的文件都上传到Linux里的项目目录里,然后运行(适合从git 或 svn 直接拉代码部署):

安装依赖:npm install 打包:npm run build 运行项目:npm start

三、通过npm run generate把项目打包成html页面

部署方式和vue一样:把根目录下的dist里的文件扔到Linux里的项目目录里,然后nginx指向即可。

 

以下说说方法一、二跑起来后的配置:

项目跑起来了,默认3000端口。如果要用域名访问这个项目的话,还需要:

1.域名映射服务器IP。(这一步很简单,阿里云、腾讯云都有教程)

2.配置nginx:

nuxt端口默认是3000,所以将http://www.aliranking.com进来的代理转发向http://127.0.0.1:3000

server { listen 80; server_name aliranking.com; location / { proxy_pass http://127.0.0.1:3000 ; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }

此时,在浏览器里打开域名已经可以访问nuxt项目了。但是你会发现你把Xshell关闭后,域名又打不开项目了。

为了能让nuxt项目能在Linux上面持久运行,最好采用pm2运行和监听程序。

安装pm2:npm install -g pm2 然后建立软连接:ln -s /node/node-v12.18.1-linux-x64/lib/node_modules/pm2/bin/pm2 /usr/local/bin

然后进入项目文件夹

pm2 start npm --name 'cjmz' -- run start //cjmz是package.json里的name

然后就能一直通过域名访问项目了~~~~

之后可以通过pm2的命令对nuxt项目进行监控和操作

查看项目列表:pm2 ls 删除项目进程:pm2 delete 0 //删除id为0的进程

这是我自己做的个人网站:http://aliranking.com/

从vue=>html+vue.js=>nuxt  多次改版,通过这个小网站来回折腾练手,其中开发到部署再到备案的经验还是蛮有用的。

最新回复(0)