素材巴巴 > 程序开发 >

Nginx配置同一个域名访问不同端口的项目(前后端分离项目)

程序开发 2023-09-07 17:08:06

一、配置同一端口访问两个服务器项目

 

前端是8080,

访问地址不变,www.xx.com即可

后端访问为 www.xx.com/api  开头。

以egg.js为列,需要配置前缀/api开头才可以,否则会报404 not found

二、配置访问静态资源目录

 

项目中在服务端会生成预览页面,所有还需要配置一个用于访问静态资源的地址,但是域名都是一个www.xx.com开头

在nginx中指定文件路径有两种方式root和alias,指令的使用方法和作用域:
[root]
语法:root path
默认值:root html
配置段:http、server、location、if
[alias]
语法:alias path
配置段:location

root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。
root的处理结果是:root路径+location路径
alias的处理结果是:使用alias路径替换location路径
alias是一个目录别名的定义,root则是最上层目录的定义。
还有一个重要的区别是alias后面必须要用“/”结束,否则会找不到文件的,而root则可有可无

 

假设资源地址是E:/xxproject/app/public/tmp/;

1、使用alias方式,不会把location后的内容加到路由后面,所以采用www.xx.com/api/preview可以访问到

	server {listen 80;client_max_body_size 8m;server_name www.xx.com;location /api/preview/ {alias   E:/xxproject/app/public/tmp/;autoindex on;}}

2、采用root方式,会把localtion后的内容加到路由后面,即访问路径为www.xx.com/tmp/ ,映射的地址为E:/xxproject/app/public/tmp/;

        location /tmp/ {root   E:/xxproject/app/public/;autoindex on;}

三、nginx命令

1、Linux系统

nginx 目录/usr/local/nginx/conf/

进入 vim /etc/profile 文件

添加 export PATH=$PAHT:/usr/local/nginx/sbin

source /etc/profile

停止 nginx -S stop

启动/usr/local/nginx/sbin/nginx -s reload

执行nginx -s reload报错:nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
 解决方法:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
 

 

2、window系统(进入nginx所在目录执行哈~)

nginx -s stop/reload

start nginx

taskkill /f /im nginx.exe杀死进程


标签:

上一篇: Android 沉浸标题栏状态栏 下一篇:
素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。