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

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

 

前端是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杀死进程

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值