NextJS项目部署NodeServerPM2NginxLinux
最近nextjs 13发布,于是用它写了个小项目 妹子图-魔力美少女[1] ,部署在阿里云上,简单记录一下过程。
妹子图-魔力美少女• meizitu.mzh.ren[2] • 妹子图-魔力美少女[3] Vercel备用地址
nextjs 官方文档 Deployment | Next.js[4] 有详细的部署指南,主要是三种方式: • 部署到 Vercel 云平台[5] • 导出为静态文件,随意托管[6] • 自己部署• Nodejs Server• Docker 方式
其中 Vercel.com 我访问不了,静态文件 不支持某些特性,Docker 暂时没用过,所以就选了 Node.js Server 方式。 安装 Node Server环境
Node Server 环境主要涉及到: • 运行环境:Node.js • 包管理器:npm/cnpm/yarn • 版本管理:nvm
安装过程略。
nextjs要求node版本在16以上,我本地也是16,所以没什么问题。但部署上去的时候,我发现我的服务器上的node版本是14,于是我就安装了nvm,用nvm安装了node16。 运行项目
下载项目文件到服务器。在next项目文件 package.json 会有 "build" 和 "start" 两个命令: { "scripts": { "dev": "next dev", "build": "next build", "start": "next start" } }
首先,运行 build 来构建您的应用程序。然后,运行 next start 启动 Node.js 服务器 。该服务器支持 Next.js 的所有功能。 PM2进程守护
PM2[7] 是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。 安装 PM2npm install pm2 -g启动项目pm2 start npm --name "nextjs" -- start设置端口(默认为3000)sudo pm2 start npm --name "nextjs" -- run start -- --port=8080
也可以在 package.json 文件中添加端口: { "scripts": { "dev": "next dev", "build": "next build", "start": "next start -p 8080" } }查看进程pm2 list pm2 show nextjs进程监控pm2 monit关闭、重启、删除进程pm2 stop nextjs pm2 restart nextjs pm2 delete nextjs查看日志pm2 logs nextjspm2 服务开机、重启自启动pm2 startup绑定域名
我服务器上用的是nginx。 nginx[8] 是一个高性能的HTTP和反向代理服务器,同时也提供了IMAP/POP3/SMTP服务。反向代理配置如下: server { server_name meizitu.mzh.ren; location / { proxy_pass http://127.0.0.1:8080; proxy_read_timeout 60; proxy_connect_timeout 60; proxy_redirect off; # Allow the use of websockets 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; } }Linux 目录权限问题
因为我不经常使用Linux,部署的时候遇到了一些权限问题,比如: Error: EACCES: permission denied, mkdir "/root/.next/cache"
给目录加上权限就好了: sudo chmod -R 777 /root/.next参考资料• Deploying NEXTJS site with nginx + pm2[9] • Setup a Next.js project with PM2, Nginx and Yarn on Ubuntu 18.04[10] • How to Update Node and NPM to the Latest Version[11] • Setup a Next.js project with PM2, Nginx and Yarn on Ubuntu 18.04[12] 引用链接
[1] 妹子图-魔力美少女: http://meizitu.mzh.ren/
[2] meizitu.mzh.ren: http://meizitu.mzh.ren/
[3] 妹子图-魔力美少女: https://mgirls.vercel.app/
[4] Deployment | Next.js: https://nextjs.org/docs/deployment
[5] 部署到 Vercel 云平台: vercel.com
[6] 导出为静态文件,随意托管: https://nextjs.org/docs/advanced-features/static-html-export
[7] PM2: https://pm2.keymetrics.io/
[8] nginx: https://www.nginx.com/
[9] Deploying NEXTJS site with nginx + pm2: https://gist.github.com/jjsquady/5399d6e1b23f501083a9c262d806e248
[10] Setup a Next.js project with PM2, Nginx and Yarn on Ubuntu 18.04: https://www.willandskill.se/en/articles/setup-a-next-js-project-with-pm2-nginx-and-yarn-on-ubuntu-18-04
[11] How to Update Node and NPM to the Latest Version: https://www.freecodecamp.org/news/how-to-update-node-and-npm-to-the-latest-version/
[12] Setup a Next.js project with PM2, Nginx and Yarn on Ubuntu 18.04: https://www.willandskill.se/en/articles/setup-a-next-js-project-with-pm2-nginx-and-yarn-on-ubuntu-18-04
请问我五一去美国旅游都需要准备什么?这个时候去美国旅游要多带口罩,多备氧气瓶,在带一台呼吸机。因为这些东西美国买不到,美国政府都等待中国支援,其次写好遗嘱,把动产或不动产都移交给继承人。轻装美死游。不过,看在都是炎黄
听说很多夫妻在上海就只买50多平做婚房,是真的吗?没有什么大惊小怪的,能在上海市内买得起50平米的人,已经很不错了。同事儿子儿媳在上海,买了一个小套,同事去看了说太小了,等我退休了把县城的房子卖了,给你们换个大点的,然后烧饭带孩子
发糕怎么做?怎样才能蒸好发糕?食无边良有界,更多美食问答,请关注觅源良食,让我们给您答疑解惑,深深地相信,美食是抚慰人心的不二法门!发糕这种大众化的传统美食,味道清香甜而不腻,口感非常的松软,
为什么酒店楼层没有131418层?解锁酒店没有131418层的秘密?你知道吗?大家在生活中经常回去酒店吃饭住宿等等,不知道你们有没有注意,酒店其实是没有131418层的。这到底是为什么呢?是什么原因让酒店的老板不安
不用暴露年龄,说说你家的第一台电脑是什么时候买的?这是我买的第一台电脑的收款收据,还是二手的,时间是2000年,配置相当于586,系统是windows98,经常都需要用3。5英寸1。44M那种软盘做为启动盘或者拷贝数据。当时浙江电
微单相机成像比手机好多少?感谢邀请。当然好得多,并且不少。目前微单无反相机成为热门销售,不管是佳能还是尼康,全画幅微单已经搞得风生水起,热登榜首,貌似有一统天下之潮流。虽然都是挤牙膏似地发展,但是实际上都是
上海初中生升高中难度大吗?很难,从媒体统计看初中普通学校的高中升学率在4045但是水份很大中考前学校为了保持录取率好看会劝退部分差生直接去某些职业学校而不参加中考而40的录取率其中包括普通高中,民办高中这里
哈工大研究生都能找到工作吗?哈工大研究生都能找到工作吗?一个都字让这个问题难以回答。因为再牛的大学,就业率也不可能100。作为工科实力超强的大学,哈尔滨工业大学的毕业生就业应该不是问题,更别说硕士生了。从20
在深圳扣完五险一金月收入7000算低吗?深圳的工资收入一直是来深圳打拼的人最为关注的事,按你所表述的意思其实就是你每个月实际可以拿到手的收入。7000元,是每个月你到手的可支配收入。下面我们来简单剖析一下,这个收入是高还
羊肉饺子怎么调馅?作为一个北方人,我非常喜欢吃饺子,在众多饺子馅中,最惹人喜欢的是羊肉馅,鲜嫩多汁的口感,较高的营养价值,让人欲罢不能。今天小简跟大家分享6种羊肉馅的调制方法,再教您4个调馅技巧,绝
月薪多少才能过上好日子?谢谢邀请。月收入多少?才可以过上你心中想要的生活。钱你是挣不完的,月收入多少,才可以过上心中想要的生活呢?光凭想象力是不行的,这就要根据一个人的实力而定的。争取努力是可以的。生活是