用Nginx作反向代理简单多了

简介:

 上次说到用 NodeJS 做反向代理,是因为正好在用NodeJS,不过后来因为测试功能都需要登录,而 NodeJS 要支持 cookie 貌似比较麻烦,所以决定试试 Ngnix。这东东一直听说,从来没用过,一开始很担心要花大把时间在里面——事实证明,这个担心是多余的。


  Ngnix 原生支持反向代理,只需要改一点点配置。配置文件当然一如既往的在 conf/nginx.conf,不用看任何文件,一眼就能找出来。而且配置文件是自解释的,基本上可以看得明白是怎么回事。


  nginx.conf 中有一小段说明如何配置反向代理


1
2
3
4
5
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
#    proxy_pass   http://127.0.0.1;
#}


  当然我用不到这么复杂,我只需要将 /view/、/css/ 和 /js/ 使用本地目录的文件,其它的页面全部代理 http://product.company.com/。稍稍试验了几把,就得到一段配置了:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
location / {
     proxy_pass  http: //product .company.com;
}
location  /view/  {
     root   c: /_james/documents/workspace/local ;
     index  index.html index.htm;
}
location  /css/  {
     root   c: /_james/documents/workspace/local ;
     index  index.html index.htm;
}
location  /js/  {
     root   c: /_james/documents/workspace/local ;
     index  index.html index.htm;
}


  只有两个地方需要注意:


  1) 记得每项配置后面加分号

  2) root 真的就是 root,不要加子路径,比如上面 3 个 root 都是指向的 local 目录。而 view、css 和 js 分别是local目录下的 3 个子目录。


  然后运行 nginx,打开浏览器访问……Perfect!


  如果修改了配置文件,理所当然是需要重启 nginx 的。虽然在命令行下 nginx 是阻塞试运行,但是千万不要以为 [Ctrl+C] 或者关闭了命令行窗口,就退出了 Nginx——我曾经尝试了若干次这样的“重启”,结果发现完全不起作用,一看系统进程,MM呀,十几个 nginx 进程在里面,直接结束还结束不了,得用“结束进程树”,而且还必须是选中主进程(没去研究是何原因,ngnix 每次启动都是两个进程)。


  如果正常启动 nginx (仅一次),可以用更官方的办法来关闭,下面这两个命令都可以:


1
2
nginx -s stop
nginx -s quit


  现阶段我不在意这两个命令的区别,反正能退出就行。



本文转自边城__ 51CTO博客,原文链接:http://blog.51cto.com/jamesfancy/1394935,如需转载请自行联系原作者
相关文章
|
3月前
|
应用服务中间件 nginx
百度搜索:蓝易云【如何用NGINX实现UDP四层反向代理?】
请注意,这个回答是基于NGINX目前的特性和功能,如果有新的版本或更新的特性,建议查阅NGINX官方文档或其他权威资源,以确保你得到最准确的配置信息。
33 0
|
3月前
|
JSON 应用服务中间件 API
利用Grafana的API Key+Nginx反向代理实现Grafana免登录访问
利用Grafana的API Key+Nginx反向代理实现Grafana免登录访问
91 1
|
3月前
|
负载均衡 应用服务中间件 nginx
nginx-tomcat反向代理以及负载均衡测试
nginx-tomcat反向代理以及负载均衡测试
|
15天前
|
应用服务中间件 nginx
nginx进行反向代理的配置
在Nginx中设置反向代理的步骤:编辑`/etc/nginx/nginx.conf`,在http段加入配置,创建一个监听80端口、服务器名为example.com的虚拟主机。通过`location /`将请求代理到本地3000端口,并设置代理头。保存配置后,使用`sudo nginx -s reload`重载服务。完成配置,通过example.com访问代理服务器。
22 0
|
5月前
|
应用服务中间件 nginx Docker
nginx反向代理踩坑(容器方式)
nginx反向代理踩坑(容器方式)
184 0
|
5月前
|
负载均衡 Unix 应用服务中间件
深入解析HTTP反向代理:探索NGINX的神奇之处
深入解析HTTP反向代理:探索NGINX的神奇之处
|
1月前
|
负载均衡 应用服务中间件 Linux
|
2月前
|
tengine Rust 负载均衡
反向代理学习笔记(一) Nginx与反向代理绪论
反向代理学习笔记(一) Nginx与反向代理绪论
|
2月前
|
负载均衡 Java 应用服务中间件
|
2月前
|
消息中间件 关系型数据库 MySQL
使用Nginx的stream模块实现MySQL反向代理与RabbitMQ负载均衡
使用Nginx的stream模块实现MySQL反向代理与RabbitMQ负载均衡
61 0