Nginx [engine x] 是俄罗斯的 Igor Sysoev 编写的一个 强大的 HTTP 和反向代理服务器,而且也推出了 Windows 版本。Windows 版本使用 select 模型,仅供测试,不推荐在生产环境中使用。

Nginx 强大的反向代理能力,使它成为前端工程师不折不扣的好帮手,关于 Nginx 助力前端开发上的一些使用,可以看看这篇文章,这里说说我的一些使用。

我的前端开发环境是这样的:

1. 我们正式的网站在最外层是一个反向代理,可以代理访问后端部署的一个个子网站。
2. 数据是通过接口提供的,接口与子网站是分开部署的,端口或IP是不同的。
3. 开发的时候,网站是在本机发布和调试的。
4. 请求数据需要通过 ajax 调用接口,接口是部署在另外一台服务器上的。

很明显,我这里遇到的就是跨越的问题 (关于跨域,请看看这里)。 由于最外层反向代理的存在,子网站与接口对外是表现为一个网站,因此没有跨域问题。但是在我的开发机这里,就存在跨域问题了。为了解决它,可以引入一个反向代理,让我开发机上的网站和接口表现为一个网站,就跟我们最外层的反向代理是一样的。

在 Nginx 中可以这么配置

server {
listen *:5000;
access_log logs/mysite_access.log;
error_log logs/mysite_error.log; # 为了调试方便,我不缓存
expires 0; # 开启 gzip,跟真实环境一样
gzip on; # 网站的路径
location / {
root "D:/path/to/mysite/html";
index index.html index.htm;
} # 静态文件的路径
location /static {
alias "D:/path/to/mysite/static";
} # 我们的 api 接口会使用特殊前缀 @ 来区分
# 把所有 uri 以 /@api_some_data 开头的转发到接口服务器
location /@api_some_data {
# 看情况,是否需要重写 uri
# rewrite /@api_some_data/(.*) /$1 break;
# 转发到接口服务器的地址
proxy_pass http://192.168.1.2:8000;
proxy_set_header Cookie $http_cookie;
}
}

在 js 中 就可以这么写 ajax

$.ajax({
url: '/@api_some_data/get_data/',
type: 'POST',
cache: false,
dataType: 'json',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(post_data),
success: function (response) {
// handle success
},
error: function () {
// handle error
}
});

就这样,借助 Nginx 强大的反向代理功能,我就在开发机上轻松的模拟出了真实环境,并且可以愉快的开发和调试了。

Nginx 是前端工程师的好帮手的更多相关文章

  1. 写给想成为前端工程师的同学们  ―前端工程师是做什么的?a

    前端工程师是做什么的? 前端工程师是互联网时代软件产品研发中不可缺少的一种专业研发角色.从狭义上讲,前端工程师使用 HTML.CSS.JavaScript 等专业技能和工具将产品UI设计稿实现成网站产 ...

  2. 如何才能成为一个合格的web前端工程师

    转载原文地址:https://juejin.im/post/5cc1da82f265da036023b628 开篇前端开发是一个非常特殊的行业,它的历史实际上不是很长,但是知识之繁杂,技术迭代速度之快 ...

  3. 006_饿了么大前端总监sofish帮你理清前端工程师及大前端团队的成长问题!

    作者|Sofish编辑|小智 & 尾尾本文是前端之巅向 sofish 的约稿<什么样的人可以称为架构师?>.采访< 饿了么大前端团队究竟是如何落地和管理的?>以及 so ...

  4. 前端工程师面试问题归纳(一、问答类html/css/js基础)

    一.参考资源 1.前端面试题及答案整理(一) 2.2017年前端面试题整理汇总100题 3.2018最新Web前端经典面试试题及答案 4.[javascript常见面试题]常见前端面试题及答案 5.W ...

  5. 转: 写给想成为前端工程师的同学们 (from 360前端团队)

    转自:     http://www.75team.com/post/to-be-a-good-frontend-engineer.html 前端工程师是做什么的? 前端工程师是互联网时代软件产品研发 ...

  6. 一个Web前端工程师或程序员的发展方向,未来困境及穷途末路

    如果你刚好是一个Web前端工程师,或者你将要从事web前端工作.你应该和我有同样的感慨,web前端技术到了自己的天花板,前端工作我能做多少年?3年或5年?自己的职业规划应该怎么样?收入为什么没有增长? ...

  7. 前端工程师手中的Sublime Text

    原文地址:http://css-tricks.com/sublime-text-front-end-developers/ 我的Blog:http://cabbit.me/sublime-text-f ...

  8. Web前端工程师成长之路——知识汇总

    一.何为Web前端工程师?          前端工程师,也叫Web前端开发工程师.他是随着web发展,细分出来的行业.Web前端开发工程师,主要职责是利用(X)HTML/CSS/JavaScript ...

  9. 前端工程师技能之photoshop巧用系列第三篇——切图篇

    × 目录 [1]切图信息 [2]切图步骤 [3]实战 前面的话 前端工程师除了使用photoshop进行测量之外,更重要的是要使用该软件进行切图.本文是photoshop巧用系列的第三篇——切图篇 切 ...

随机推荐

  1. wpf中把按钮变成圆角

      <Button x:Name="btn" Content="改变" Width="100" Height="50&quo ...

  2. C#MVC中@HTML中的方法

    //生成表单 @{ Html.BeginForm("Index", "Simple", FormMethod.Post, new { id = "my ...

  3. Getting 'The AWS Access Key Id you provided does not exist in our records' error with Amazon MWS

    I upgraded from one version of Amazon MWS (marketplace web service) version https://mws.amazonservic ...

  4. iTerm2的设置和Zsh.

    很好的说明文: https://xiaozhou.net/learn-the-command-line-iterm-and-zsh-2017-06-23.html iTerm2是Mac os用户使用的 ...

  5. DOM window的事件和方法; Rails查询语法query(查询结构继承); turbolinks的局限;

    window.innerHeight 是浏览器窗口可用的高度. window.outerHeight 是浏览器窗口最大的高度. 打开chrome-inspector,上下移动inspector,看到s ...

  6. 快速理解 FastCGI、PHP-CGI、PHP-FPM

    你(PHP)去和泰国人(web服务器,如 Apache.Nginx)谈生意 你说中文(PHP代码),他说泰语(C代码),互相听不懂,怎么办?那就都把各自说的话转换成英语(FastCGI 协议)吧. 怎 ...

  7. VirtualBox使用物理硬盘建立磁盘

    VirtualBox,只能用命令行来 建立磁盘才可以使用物理硬盘. 1.运行cmd,cd进入你的VirtualBox目录,如:  cd C:\Program Files\Sun\VirtualBox ...

  8. linux 命令 --while

    shell while 语法: while [条件判断式] do 程序 done 对 while 循环来讲,只要条件判断式成立,循环就会一直进行,直到条件判断式不成立,循环才会停止. 例如: 循环从1 ...

  9. CentOS7进程管理systemd详解

      概述: 系统启动过程中,当内核启动完成,后加载根文件系统,后就绪的一些用户空间的服务的管理工作,就交由init进行启动和管理,在CentOS6之前的init的管理方式都类似,相关的内容我们在之前的 ...

  10. CSS 中文字体的英文名称 (simhei, simsun) 宋体 微软雅黑等

    Mac OS的一些:   华文细黑:STHeiti Light [STXihei] 华文黑体:STHeiti 华文楷体:STKaiti 华文宋体:STSong 华文仿宋:STFangsong 俪黑 P ...