2020-06-03 | Vue | UNLOCK

nginx反向代理nuxtjs项目遇到的坑

nuxtjs 的运行,以及常驻进程

1. 运行:我采用的是 npm run start 这种方式启动项目,这种方式需要运行常驻进程,我用的是 pm2

  • 安装,运行命令:npm install pm2 -g

2. 用 pm2 如何启动 nuxtjs 项目

  • 安装一个 npm 包,npm install node-cmd --save
  • 在项目根目录创建一个 .js 的文件,名字随便起,如 startscript.js
  • 书写以下内容
1
2
const cmd = require('node-cmd')
cmd.run('npm start')
  • pm2 启动项目, pm2 start startscript.js

3. nginx 代理 nuxtjs 启动的项目

  • 如果启动了 nginxvhost 功能的,请在对应的域名的 .conf 文件中书写,否则请在 nginx.conf 文件中书写
  • 我启用了 vhost 功能的,书写以下内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
upstream gw_cxhyx_cn {
server 127.0.0.1:3000;
}
server {
.
.
.

proxy_set_header Host $host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

location / {
proxy_pass http://gw_cxhyx_cn;
}

# 特别说明:如果配置文件中有以下内容,请注释掉,前面用 #
#location ~ .*\.(js|css)?$
#{
# expires 12h;
# error_log off;
# access_log /dev/null;
#}

#location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
#{
# expires 30d;
# error_log off;
# access_log /dev/null;
#}
.
.
.

}
  • 重启 nginx , nginx -s reload

评论加载中