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。
相关文章推荐
- linux下安装nginx并简单配置,利用tomcat-redis共享session
- Nginx安装配置,简单构建LNMP环境配置反向代理,实现动静分离,以及实现负载均衡。
- Nginx简单安装配置(V1.7.8)
- Nginx+PHP+Mysql+Tomcat安装配置
- tomcat的简单安装及配置
- Tomcat 在Mac OS X中的安装和配置
- (转)在Mac OS X中安装配置Apache + PHP + MySQL +Tomcat
- mac下tomcat的安装与配置
- centos下nginx+tomcat安装配置 nginx结合tomcat
- Java--mac下简单配置Tomcat
- Linux(Ubuntu)下Nginx安装配置及与Tomcat整合
- CentOS6.5系统简单安装与配置Nginx服务器的方法
- 在Mac上关于tomcat服务器的安装、配置、启动、部署web详细流程
- Nginx与tomcat的简单配置属性解析
- Nginx+Tomcat 安装配置
- Linux CentOS 6.5 中安装与配置JDK-7-tomcat-nginx-rabbitmq
- [CentOS 7] 安装nginx及简单配置
- Mac os X 配置 django + uWSGI + nginx 简单构建过程分享
- nginx安装 以及与tomcat的主从配置
- Mac上关于tomcat服务器的安装、配置、启动、部署web详细流程