您的位置:首页 > 运维架构 > Tomcat

mac下nginx安装及与tomcat简单配置

2018-01-29 13:39 288 查看
安装 :


 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。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: