NuxtJS 项目部署到nginx

NuxtJS 项目完成之后,如何部署到nginx?

总流程:Nuxtjs打包----》服务器上部署运行----》nginx监听----》PM2进程守护

一:NuxtJS打包部署

npm run build 打包应用,打包完成后,我们将:

.nuxt
server文件夹(里面有index.js)
nuxt.config.js
package.json

传到服务器空间里,然后在服务器上部署运行:

npm install #运行npm install安装package里的依赖
npm start #运行npm start就可以运行起来nuxt的服务渲染了

注意:npm install如果报错?Error: EACCES: permission denied, mkdir ‘......node-sass/build‘错误?

           解决:npm install node-sass --unsafe-perm --save-dev

在浏览器地址栏:http://127.0.0.1:3000/  即可访问。

二:配置nginx代理监听3000端口,package打包时端口3000(默认 可修改)

找到nginx配置文件:nginx.conf

server {
        listen       80;
		server_name  test.ssr.net;
        root D:/nginx/html;
        location / {
            proxy_pass http://127.0.0.1:3000 ;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $remote_addr;
        }
    }

启动nginx

输入域名即可访问

三:pm2开启进程守护

1、全局安装pm2

npm install -g pm2

2、进入到对应的目录执行:

pm2 start npm --name "SSR-service" -- run start  #SSR-service的名称是我们在package中的项目名称

执行完pm2的启动命令后,我们用 pm2 list 查看一下进程列表,我截一下我个人服务器的pm2列表:

pm2的一些命令:

查看当前守护进程 :pm2 list
停止所有的应用程序:pm2 stop all
停止某个应用程序:pm2 stop id
重启所有应用程序:pm2 restart all
关闭并删除所有应用:pm2 delete all
删除指定应用:pm2 delete id

 

### 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; } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值