博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【nuxtjs指南】nuxt js 利用nginx反向代理如何优雅的部署
阅读量:6905 次
发布时间:2019-06-27

本文共 2541 字,大约阅读时间需要 8 分钟。

准备环境

使用的是nuxt-express模板 在Linux 选的是Ubuntu系统

安装vue cli

npm i vue-cli -D

下载项目

vue init nuxt/express sexpress

部署方式:

第一步先构建

npm run build

第二步启动

pm2 start ./build/main.js

此时是映射到127.0.0.1:3000

此时去访问主机的外网ip是访问不到的,因为映射的是内网ip,于是有些同学就把express监听的ip去掉直接监听80端口,就可以直接用域名访问了,当然这样做最简单直接了。

一般作为开发者自己就买一台vps,土豪就不说了,当又想部署一个网站怎么办呢?

优雅的部署方式

前面的步骤一样

npm run build
pm2 start build/main.js

此时可以是3000 端口

然后使用nginx 作为反向代理把这个端口专门映射到一个域名上

nginx反向代理的操作方式

这有个坑,不需要为nuxt指定静态文件的nginx规则,坑了我很久

nginx反向配置如下

upstream shudong {        server 127.0.0.1:3000;}server{        listen 80;        server_name shudong.wang;        index index.html index.htm index.php default.html default.htm default.php;        location / {                proxy_set_header X-Real-Ip $remote_addr;                proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;                proxy_set_header X-Nginx-Proxy true;                proxy_pass http://shudong;                proxy_redirect off;                #try_files $uri $uri/ /index.html;  ##使用docker环境下这个不需要        }         location ~ /\.        {            deny all;        }        access_log  /home/wwwlogs/blog.shudong.wang.log;    }

上面配置就这么简单

修改完配置需要重启nginx

service reload nginx

最后一步

我上面的域名是 shudong.wang

把我的这个域名解析到这个主机的外网ip就可以使用这个域名访问了

如果还想在搭建一个node服务 或 nuxt 或其他项目

直接监听

项目一 :127.0.0.1:3001

对应的nginx配置

upstream shudong {        server 127.0.0.1:3001;}server{...}

以此类推

下面贴一个正常配置的完整版本 有注释说明坑的地方

upstream shudong {        server 127.0.0.1:3001;}server{        listen 80;        #listen [::]:80;        server_name shudong.wang;        index index.html index.htm index.php default.html default.htm default.php;        #root  /home/wwwroot/shudong.wang;  #在nuxt 动态不需要配置,静态的可以指定        include other.conf;        #error_page   404   /404.html;        include enable-php.conf;        #下面这个解析图片的nuxt千万不要加        #location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$         #{        #    expires      30d;        #}        location / {                proxy_set_header X-Real-Ip $remote_addr;                proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;                proxy_set_header X-Nginx-Proxy true;                proxy_pass http://shudong;                proxy_redirect off;                try_files $uri $uri/ /index.html;        }            #下面这个解析js的千万不要加        #location ~ .*\.(js|css)?$        #{        #    expires      12h;        #}        location ~ /\.        {            deny all;        }        access_log  /home/wwwlogs/blog.shudong.wang.log;    }

tips:服务器上面的代码可以使用 git webhook,本地push远程自动拉取

后续会写利用docker部署nuxt项目

转载地址:http://pymdl.baihongyu.com/

你可能感兴趣的文章
NLP系列学习:DBOW句向量
查看>>
Centos7.x下Nginx安装及SSL配置与常用命令
查看>>
币安布局去中心化交易所,原来是因为这三个原因!
查看>>
Python爬虫笔记3-解析库Xpath的使用
查看>>
刷前端面经笔记(九)
查看>>
98. Validate Binary Search Tree
查看>>
《Java编程思想》读书笔记-对象导论
查看>>
mysql 的delete from where 子查询的一些限制
查看>>
【Android】Retrofit 2.0 的使用
查看>>
Java程序员幽默爆笑锦集
查看>>
工作中常用到的ES6语法
查看>>
SAPGUI系统登录页面配置的SAProuter有什么用
查看>>
小程序hover-class点击态效果——小程序体验
查看>>
安装chrome插件
查看>>
Vue 中给组件绑定原生事件
查看>>
Vue CLI3.0 中使用jQuery 和 Bootstrap
查看>>
this 改变this的指向
查看>>
测试格式
查看>>
gcc版本升级
查看>>
个人愚见: React 和 Vue 区别
查看>>