nginx 配置 同一域名端口下,根据URL 导向不同的项目目录
我们现在拥有2个项目。但是只有一个域名,通过nginx配置来实现以下url导向不同的项目。
后台管理台:{域名}/admin
用户客户端:{域名}/client
server {
listen 8888;
server_name ****.*****.com;
root /home/work/***/static/client;
index index.html;
autoindex on;
charset utf-8;
location ~ /(system|car)/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://192.168.1.1:3000;
}
#配置Nginx动静分离,定义的静态页面直接从Nginx发布目录读取。
location /admin {
alias /home/work/****/static/admin/;
expires 1d;
index index.html;
autoindex on;
}
access_log /home/work/****/logs/static_admin_ng_access.log;
location /api/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://192.168.1.1:3000;
}
#配置Nginx动静分离,定义的静态页面直接从Nginx发布目录读取。
location /client {
alias /home/work/****/static/client/;
#expires 为用户信息的缓存时间。1d为一天
expires 1d;
index index.html;
autoindex on;
}
access_log /home/work/****/logs/static_client_ng_access.log;
}
在配置这个的时候,遇到一个坑,就是alias 和root 的区别,导致获取的静态文件的获取的路径不对,一直报404;郁闷的很;
在配置ng 的location 的生活;一般不要加后面的斜杆;然后加上autoindex on; 自动首页;这样就会自动跳转到首页了;
alias 和 root 的区别; root 的话;location 中的地址会拼接到root后面;alias就直接代替后面的东西
如:
location /admin {
root /admin/res/;
index html.html;
autoindex no;
}
location /admin {
alias /admin/res/;
index html.html;
autoindex no;
}
访问地址:localhost:8888/admin/res/app.js;
root实际访问的地址就是: localhost:8888/admin/res/admin/res/app.js
也就是说这个实际访问的地址 ./admin/res/admin/res/app.js ;这样根本找不到文件;
alias 实际的访问地址就是: localhost:8888/admin/res/app.js;
访问的地址是 ./admin/res/app.js
location /admin/{
root /admin/res/;
index html.html;
autoindex no;
}
上面这种配置 localhost:8888/admin 是不能跳转到首页的;
需要加上斜杆 localhost:8888/admin/ 才能跳转到首页
location /admin{
root /admin/res/;
index html.html;
autoindex no;
}
这种访问的时候: localhost:8888/admin 这样就可以直接访问了;
配置服务器代理:
location /api/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://192.168.1.1:3000;
}
一定要填写
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://192.168.1.1:3000;
这4项了;
现在这样访问的地址就是 http://192.168.1.1:3000/api/...........;
nginx 配置 同一域名端口下,根据URL 导向不同的项目目录的更多相关文章
- nginx配置虚拟主机-端口号区分/域名区分
Nginx实现虚拟机 可以实现在同一台服务运行多个网站,而且网站之间互相不干扰.同一个服务器可能有一个ip,网站需要使用80端口.网站的域名不同. 区分不同的网站有三种方式:ip区分.端口区分.域名区 ...
- 使用nginx配置二级域名
使用nginx配置二级域名 2018.11.21 11:51:17字数 613阅读 170 最近想把三个项目配在一个服务器上,于是想使用nginx配置二级域名实现. 1.域名添加解析 我的是阿里云的域 ...
- Nginx配置同一个域名同时支持http与https两种方式访问
Nginx配置同一个域名http与https两种方式都可访问,证书是阿里云上免费申请的 server{listen 80;listen 443 ssl;ssl on;server_name 域名;in ...
- nginx配置基于域名、端口、IP的虚拟主机
1.基于域名的虚拟主机: 绝大多数企业对外提供服务的网站使用的都是基于域名的主机,通过不同的域名区分不同的虚拟主机. 首先我们进入安装nginxd的目录下:/application/nginx-1.6 ...
- Nginx配置以及域名转发
工程中的nginx配置 #user nobody; worker_processes 24; error_log /home/xxx/opt/nginx/logs/error.log; pid /ho ...
- Nginx配置多域名代理
目的 当我们有多个站点需要对外网开放,每个站点的域名都不一样,然而我们只有一个外网ip.这种情况下,我们就可以使用一个Nginx来配置多域名代理.这种代理方式可以解决,在同一个端口上针对不同域名代理不 ...
- nginx配置多域名映射方法(本地hosts)
本地测试网站的时候如果不想用localhost/xxxx的形式访问,可能就需要修改hosts文件来映射了,但是一个网站还好,假如有多个网站的话就不行了. 这时就需要配置多域名映射 比如hosts中配置 ...
- 使用SSL安全证书和nginx配置将域名HTTPS化
一.在阿里云后台申请免费版证书: 二.在域名解析里面添加记录: 三.提交审核: 四.等待审核通过后,下载nginx证书: 五.按照文档修改nginx配置文件: https://help.aliyun. ...
- nginx配置二级域名
我在我的服务器上面跑了两个node应用程序,分别一个端口2368跑的是ghost博客,一个端口8000跑的是我的demo程序.想要一级域名zhangruojun.com用来访问博客,二级域名demo. ...
随机推荐
- IDEA(添加类注释以及方法注释)
添加类注释: File---Setting----Editor----Code Style-----File and Code Templates--------Class #if (${PA ...
- javascript高级程序设计第3版——第5章 引用类型
- div模拟文本框textarea
需求:利用highlight.js对文本框中的内容进行高亮显示 1.highlight.js使用 js中:<script src="js/highlight/highlight.pac ...
- Angular7.1.4+Typescript3.1框架学习(一)
起因:学习ionic4之前先学习下angular+ts 以win10为开发平台:当前最新版本为angular7;根据官网资料做如下总结: 1. angular安装 前提:Node.js 的 8.x 或 ...
- 360开启wifi无网络访问处理办法
一.背景说明 台式机默认没有无线网卡的,想开个wifi,在电脑上插上了个usb无线网卡然后开启“360免费WiFi”.但显示“无网络访问”,连上之后确实也不能访问外部网站. 二.处理办法 依次打开“控 ...
- json对象转对象
方式1:var obj = JSON.parse(jsonObject); 方式2:var obj = eval("("+jsonObject+")");
- php中excel以及cvs等导入以及导出
一般网站后台都有人员导入或者是订单导出之类的操作,今天分享一下几种php excel cvs等文件导入导出的办法. 第一种比较简单的,自己写的,不引用任何excel类.但是会有bug,代码如下: 首先 ...
- c# 关于Threading.ApartmentState
今天在做一个需求 就是 客户端的注销重新登录的操作,想必大家很清楚这个逻辑应该怎么去做, 在主线程里面去调用这个注销的方法 然后关闭当前应用域,重新开一个线程 让应用域在上面执行. STA(singl ...
- tensorflow 经典教程及案例
导语:本文是TensorFlow实现流行机器学习算法的教程汇集,目标是让读者可以轻松通过清晰简明的案例深入了解 TensorFlow.这些案例适合那些想要实现一些 TensorFlow 案例的初学者. ...
- react-redux-action
Action 是把数据从应用(view等)传到 store 的有效载荷,store.dispatch() 将 action 传到 store. //尽量减少在 action 中传递的数据//actio ...