安装 :
 brew install nginx

查看信息 :
 nginx -v (此处为大写字母V)

启动方式 :
nginx -c /usr/local/etc/nginx/nginx.conf (conf为你配置文件路径) 
配置文件 :

新建服务:

upstream tomcat_server {

server localhost:8080;

}

指定跳转路径:

location / {

proxy_pass http://tomcat_server;

}

修改端口号:

listen       8010;

启动端口为8080的tomcat:

启动端口为80100的nginx,

我这里因为刚才启动了,所以显示占用! 杀了她重启就好。

此时直接访问8010会跳转到8080!

nginx 常用命令:

启动:nginx -c conf(前面加路径位置)

重启:nginx -t (重启后会提示启动成功)

关闭:ps -ef|grep nginx    kill -9 端口号

以下内容转载于 :https://segmentfault.com/a/1190000007803704

Nginx+Tomcat

接下来就进入本文的主题,将Nginx和Tomcat整合在一起使用。这部分工作其实也就是修改nginx.conf里的配置。

JSP页面请求交给Tomcat处理

具体的,在nginx.conf中新建一个location,用正则表达式将所有JSP的请求匹配到该location中:

其中最核心的就是"proxy_pass http://localhost:8080;"这条配置,它将匹配到的请求都转发给Tomcat去处理。

其他的配置:

  • proxy_set_header Host $host; 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP。

  • client_max_body_size 10m; 允许客户端请求的最大单文件字节数。

  • client_body_buffer_size 128k; 缓冲区代理缓冲用户端请求的最大字节数。

  • proxy_connect_timeout 90; Nginx跟后端服务器连接超时时间。

  • proxy_read_timeout 90; 连接成功后,后端服务器响应时间。

  • proxy_buffer_size 4k; 设置代理服务器保存用户头信息的缓冲区大小。

  • proxy_buffers 6 32k; proxy_buffers缓冲区。

  • proxy_busy_buffers_size 64k; 高负荷下缓冲大小。

  • proxy_temp_file_write_size 64k; 设定缓存文件夹大小。

此时访问http://localhost/index.jsp,会发现跳转到了Tomcat的页面。但是你会发现,此时的页面是这样的:

这是因为虽然JSP的请求转发给Tomcat的了,但是图片、css等静态文件却找不到。所以接下来我们要配置静态文件的路径,完成动静分离。

动静分离

对于静态文件的请求,我们也新建一个location,将常见图片、css、js等请求匹配到该location中

如图所示,配置非常简单,通过root关键字,将匹配到的请求都到tomcat/webapps/ROOT目录下直接查找。而expires 30d则表示使用expires缓存模块,缓存到客户端30天。

配置完后重启Nginx。再输入http://localhost/index.jsp,会发现此时的Tomcat页面已经正常显示了。我们已经完成了JSP请求与静态文件请求的动静分离。但是实际上也只是显示这个页面而已,当你点击页面上的其他链接时,会显示404,这是显然的,因为我们只配置了ROOT目录。

如果配置完仍然发现无法读取静态文件,看看访问http://localhost/tomcat.png时是否显示403 forbidden。如果是的话就是因为权限问题导致的,这里简单的解决办法是把nginx.conf首行的user设为root:

当然,如果不想使用root用户运行,可以通过修改目录访问权限解决403问题,但不能把目录放在root用户宿主目录下,放在任意一个位置并给它755,或者通过chown改变它的拥有者与Nginx运行身份一致也可以解决权限问题。

负载均衡

接下来我们来实验一下负载均衡。

在nginx.conf中,通过配置upstream,可以很轻松配置后台服务器的负载均衡:

具体的,可以在upstream中配置后台Tomcat服务器的地址,这里我是配置了两台服务器,分别是本机也就是192.168.6.86和192.168.6.32,其中本机安装的是Tomcat8,另一台安装的是Tomcat7,以示区别。然后在location中,将请求转发给配置好的upstream处理。这里为了不跟前面的配置产生冲突,我新配置了一个server,监听8888端口。

然后,访问http://localhost:8888。刷新几次,会发现请求转发到了不同的服务器上:

可以看到,显示的页面分别是Tomcat7和Tomcat8的主页,证明请求转发成功。

另外,你也可以在server后面加上一个权重weight,权重越大表示访问到的机会越大,默认为1。

mac下nginx安装及与tomcat简单配置相关推荐

  1. Mac下Nginx安装与使用

    1. 简介: Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理服务器,也是一个IMAP/POP3/SMTP 代 ...

  2. Mac 下 Nginx、PHP、MySQL 和 PHP-fpm 的安装和配置

    原文:Mac 下 Nginx.PHP.MySQL 和 PHP-fpm 的安装和配置 个人博客永久地址. 文章做了更新,增加了php-fpm的配置相关信息. 杂七杂八的杂 Mac下搭建MNPM环境是每个 ...

  3. JMeter在Mac下的安装

    JMeter篇01:JMeter在Mac下的安装 _stefan__ 关注 6 2018.10.02 17:25:14 字数 1,230 阅读 62,525 其实不论操作系统是Windows.Unix ...

  4. mac mysql密码错误_解决mac 下mysql安装后root用户登录密码错误问题

    使用的mac OS 10.11  安装mysql后访问root/root用户失败,网上找了一些解决办法,下面记录下解决方法方便以后自己查询 概述(看懂下面就不用看了): 停服务:sudo /usr/l ...

  5. Jmeter01 -mac下的安装

    其实,Jmeter 无论是在mac,win,linux下安装,基本步骤都是一样的. 本篇主要介绍在mac下的安装. Jmeter 安装步骤: 1.安装jdk 2.安装jmeter 安装jmeter版本 ...

  6. Windows下Nginx安装使用

    初步接触Nginx,首先是下载Nginx,我的电脑是windows10系统,首先去官网下载最新版:nginx/Windows-1.7.9,解压到英文目录下(我刚开始是放到中文目录下的,启动时会有问题, ...

  7. Mac 下 fastlane 安装 以及常见错误处理

    Mac 下 fastlane 安装 以及常见错误处理 fastlane 流程化提包相关内容,这是我一路自己安装 以及给同事安装遇到的问题汇总 以及我找到的解决方案 记录一下 安装fastlane su ...

  8. Mac下Jekyll安装

    之前一直用Wordpress,虽然功能强大,各种插件各种bug,如果想弄个主题,折腾得要命.最近改用jekyll+gitHub免费空间.记录一下. 我用的是Mac,所以只讲述Mac下如何安装,Wind ...

  9. linux nginx 安装_艾编程基础教程:Linux 环境下 Nginx 安装

    #安装说明:Nginx 安装前需要提前安装相关命令和工具包: make 命令.gcc g++.pcre.zlib.openssl 1.安装 gcc g++ #ubuntu 环境下安装 apt-get ...

  10. linux系统下nginx安装目录和nginx.conf配置文件目录

    linux系统下nginx安装目录和nginx.conf配置文件目录 1.查看nginx安装目录 输入命令 # ps  -ef | grep nginx 返回结果包含安装目录 root      26 ...

最新文章

  1. mysql查看数据文件ibdata_如何从 ibdata文件 恢复 MySQL 数据库
  2. linux AS 5 DNS 配置中的小错误
  3. 汇编语言OFFSET运算符:返回数据标号的偏移量
  4. 浅谈域名发散与域名收敛
  5. Red Hat Enterprise Linux (RHEL) 6.4 DVD ISO 迅雷下载地址
  6. sed: sed command a expects followed by text
  7. 在C#中调用另一个应用程序或命令行(.exe 带参数)zz
  8. QXDM5 中 Qt5WebKit.dll 丢失问题解决办法
  9. vm镜像 黑群晖_使用Vmware Workstation安装黑群晖
  10. 计算机网络之域名系统DNS
  11. python 典型相关分析_Canonical Correlation Analysis 典型相关分析
  12. 联通发布“沃云”品牌 推出云计算产品
  13. Android 短信数据库详细总结分析
  14. 外部中断----高低电平触发,(边沿触发)上升沿触发和下降沿触发区别
  15. Could not set property ‘ sname‘ of ‘class com.cxy.mybatis.pojo.Student‘ with value ‘赵六‘这种报错原因及解决办法
  16. python从TXT文件读取数据并处理
  17. 微信公众号服务器搭建
  18. 为什么很多人吐槽谭浩强的C语言程序设计,端碗吃饭放碗骂娘?
  19. 什么是MISRA?如何满足该行业标准?
  20. 2021/5/12爬虫第十一次课(ajax、selenium、Phantomjs)

热门文章

  1. Cocos2d 利用继承Draw方法制作可显示三维数据(宠物三维等)的三角形显示面板...
  2. 母版页的优点,及母版页与内容页中相互访问方法
  3. 孙鑫VC学习笔记:第三讲 MFC应用程序框架
  4. 拓端tecdat|R语言HAR和HEAVY模型分析高频金融数据波动率
  5. 拓端tecdat|R语言中使用RCPP并行计算指数加权波动率
  6. 拓端tecdat|stata对包含协变量的模型进行缺失值多重插补分析
  7. 拓端tecdat|R语言时间序列TAR阈值模型分析
  8. Windows:定时/进程结束执行命令
  9. PyQt5简单的例子
  10. python实现同一目录文件下所有Excel数据文件的合并