Nuxtjs项目部署

题外话

首先说一点题外话,之前大概5月份的时候我做过一次简单的项目部署。但是过了两个多月我忘完了,一点关于此的记忆都没有了。Google了大半天,结果都是关于直接部署到服务器的,很少有讲到部署到CDN的,虽然官方也说明了,但是在没弄好之前我实在是不理解官方的那种简单的说明。

服务端环境

node.js安装

下载

首先服务器先安装node,我是直接去官网下载Linux版的安装包,然后再FTP到我的服务器。

解压

tar -xvf 你的文件名

然后进入解压目录下面的bin目录,不出意外,会有三个文件,分别是: node, npm, npx。然后分别创建软连接(命令这里只列举node)

ln nodejs解压后的目录/bin/node /usr/local/bin

执行完过后,可以通过下列命令检查

node -v

npm也按上诉步骤执行

安装cnpm和注册淘宝镜像

这类似本地配置一样

npm install cnpm -g  --registry=https://registry.npm.taobao.org

安装pm2

为了方便管理node项目,所以选择安装这个工具,似乎也可以通过其他方式管理,后序再去了解了。

nginx安装

至此,服务器端的环境就搭建好了

nuxtjs项目打包

执行npm run build
然后在服务器上创建一个文件夹,名字随意,不过一般就叫项目名
然后上传本地打包后的:
.nxutjs
server
static
nuxt.config.js
package.json
这几个文件夹到新建的那个目录
然后运行:(注意命令中的空格)

pm2 start npm --name "随意取一个名字" -- run start

可以参看一下常用的pm2命令

### Nuxt.js 打包部署教程最佳实践 #### 配置 `nuxt.config.js` 文件 为了组织 Nuxt.js 应用的个性化配置并覆盖默认设置,在项目的根目录下编辑或创建 `nuxt.config.js` 文件。此文件允许自定义应用的行为,如路由模式、加载进度条样式等[^1]。 ```javascript export default { // 全局页面头部信息 head: { title: 'My App', meta: [ { charset: 'utf-8' }, { name: 'viewport', content: 'width=device-width, initial-scale=1' } ], link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }] }, // 路由模式 (hash 或 history) router: { mode: 'history' }, // 加载进度条颜色 loading: { color: '#3B8070' } // 更多选项... } ``` #### 修改 `package.json` 中的服务端监听参数 为了让应用程序能够被外部网络访问,在 `package.json` 的 `config` 字段内指定主机地址为 `0.0.0.0` 和端口号为 `3000`,这使得服务可以在所有可用接口上运行,并通过该端口接收请求[^3]。 ```json { "name": "my-nuxt-app", "version": "1.0.0", "private": true, "scripts": {}, "dependencies": {}, "devDependencies": {}, "config": { "nuxt": { "host": "0.0.0.0", "port": "3000" } } } ``` #### 构建生产环境下的静态资源 完成上述配置之后,执行构建命令以生成适合生产的优化后的前端资产: ```bash npm run build && npm start ``` 对于 SSR(服务器端渲染)的应用程序来说,还需要额外启动 Node.js 服务来处理 HTTP 请求;而对于纯静态站点,则可以直接上传至任何支持 HTML/CSS/JS 文件托管的服务提供商处[^4]。 #### 使用 Web Server 进行反向代理 当采用像 NGINX 这样的 web server 来作为反向代理时,可以将来自客户端浏览器发出的目标 URL 映射到本地正在运行的 Nuxt.js 实例所在的 IP 地址与端口组合之上,从而实现透明转发功能[^5]。 NGINX 配置示例如下所示: ```nginx server { listen 80; server_name example.com; location / { proxy_pass http://localhost:3000/; 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; } } ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值