linux服务器上使用nginx部署前端静态资源和反向代理后台接口。html
官网介绍前端
nginx(engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件代理服务器。vue
安装node
安装完,使用nginx -v
,查看是否安装成功。linux
命令行参数nginx
配置文件正则表达式
linux系统安装完,有个默认的nginx.conf配置文件通常在/etc/nginx目录下。后端
nginx的配置文件主要由几个指令控制的模块组成。这些指令有简单的指令和块级指令(模块)。简单的指令包括名称和参数,二者之间要有空格,使用逗号结尾。模块由花括号组成。使用#来注释。api
官网上列出的全部指令bash
server
主要是配置一个虚拟的服务器,配置ip地址和域名均可以,listen
指令监听链接虚拟服务器的地址和端口号,server_name
指令能够列出全部server names。
只有ip地址的话,默认是80端口。
location
值能够为特定的字符串或者一个正则表达式。nginx优先检查特定字符串,而且采用匹配到最长的字符串定义的location。根据正则表达式在配置文件出现的前后顺序检查。若是没有匹配到正则表达式,则使用以前的location。
根据特定location中匹配到的URI,设置被代理的虚拟服务器协议和地址。http或者https协议必需要有,地址能够是具体的域名或者ip地址(端口号无关紧要)。例如:
proxy_pass http://localhost:8000/uri/;
复制代码
诸如:$host $remote_addr
/data/vue-app/dist
目录下,将node开发的后台应用部署启动后,监听7001端口。URI匹配到
/
,就会去前端包的主页,因为是单页面应用且路由是history模式,因此有个
try_files
指令的对未匹配到的路径时,让应用进入主页的处理,而当匹配
/api/
路径下的xhr请求时,则会转发到node写的后台应用。例如URI是
/api/login
时,nginx就会转发到node后台应用,后台服务给出响应,再经过nginx返给前端。