Windows下实现Nginx+Tomcat动静分离
2017-09-10 18:40
501 查看
一、什么是动静分离
所谓动静分离就是通过nginx(或apache等)来处理用户端请求的图片、html等静态的文件,tomcat(或weblogic)处理jsp、do等动态文件,从而达到动静页面访问时通过不同的容器来处理。
nginx处理静态页面效率远高于tomcat,而tomcat擅长动态页面处理,这样一来就能更好的提高并发,处理性能。
二、结构图
三、安装Nginx
从Nginx官网http://nginx.org/下载最新的版本:
其中,mainline是主线版,stable是稳定版,这里选择稳定版进行下载,下载下来之后,解压如下:
点击nginx.exe运行Nginx,然后访问localhost,出现如下的页面
四、安装、配置Tomcat
首先要安装JDK,至于如何安装,百度一搜就出来,安装好JDK之后,安装Tomcat,去官网http://tomcat.apache.org/index.html下载最新的Tomcat进行安装:
选择Tomcat9
选择Core进行,下载下来之后,解压如下:
然后运行bin目录下的startup.bat启动tomcat
运行成功后访问localhost:8080
然后在webapp目录下新建一个Nginx目录并在该目录下创建一个index.jsp和一个img目录,如下所示:
index.jsp文件中的内容如下:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<body>
<h2>Nginx动静分离</h2>
<%
out.println("["+request.getLocalAddr()+":" +request.getLocalPort()+"]" + "<br/>session id:" + session.getId());
%>
<br/>
<img alt="图片" src="/Nginx/img/1.jpg" style="width:300px;height:300px">
</body>
</html>
然后访问: http://localhost:8080/Nginx/
五·、配置Nginx动静分离
修改nginx/conf/nginx.conf文件为如下所示:
#user nobody;
worker_processes 2;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http{
#access日志存放地址
access_log G:/Developer/nginx-1.12.1-jsp/logs/access.log;
#配置代理
upstream mynginx{
server 127.0.0.1:8080;
}
server{
listen 80;
server_name 127.0.0.1;
charset utf-8; #设置编码为utf-8;
location / {
root G:/Developer/nginx-1.12.1-jsp/webapps;
index index.html index.htm;
}
# 所有动态请求都转发给tomcat处理
location ~ \.(jsp|do)$ {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_pass http://mynginx; }
#静态文件交给nginx处理
location ~ .*\.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$
{
root G:/Developer/nginx-1.12.1-jsp/webapps;
}
#静态文件交给nginx处理
location ~ .*\.(js|css)?$
{
root G:/Developer/nginx-1.12.1-jsp/webapps;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
然后通以下命令重启nginx
.\nginx.exe -s reload
通过nginx访问tomcat
可以访问,说明配置的nginx生效了,但是图片没有显示,这是由于静态的文件交由nginx处理了,所以在上面配置的路径下新建文件夹:Nginx/img,然后把图片复制到该目录下就行了
然后从新访问该地址,就能成功的显示了!
所谓动静分离就是通过nginx(或apache等)来处理用户端请求的图片、html等静态的文件,tomcat(或weblogic)处理jsp、do等动态文件,从而达到动静页面访问时通过不同的容器来处理。
nginx处理静态页面效率远高于tomcat,而tomcat擅长动态页面处理,这样一来就能更好的提高并发,处理性能。
二、结构图
三、安装Nginx
从Nginx官网http://nginx.org/下载最新的版本:
其中,mainline是主线版,stable是稳定版,这里选择稳定版进行下载,下载下来之后,解压如下:
点击nginx.exe运行Nginx,然后访问localhost,出现如下的页面
四、安装、配置Tomcat
首先要安装JDK,至于如何安装,百度一搜就出来,安装好JDK之后,安装Tomcat,去官网http://tomcat.apache.org/index.html下载最新的Tomcat进行安装:
选择Tomcat9
选择Core进行,下载下来之后,解压如下:
然后运行bin目录下的startup.bat启动tomcat
运行成功后访问localhost:8080
然后在webapp目录下新建一个Nginx目录并在该目录下创建一个index.jsp和一个img目录,如下所示:
index.jsp文件中的内容如下:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<body>
<h2>Nginx动静分离</h2>
<%
out.println("["+request.getLocalAddr()+":" +request.getLocalPort()+"]" + "<br/>session id:" + session.getId());
%>
<br/>
<img alt="图片" src="/Nginx/img/1.jpg" style="width:300px;height:300px">
</body>
</html>
然后访问: http://localhost:8080/Nginx/
五·、配置Nginx动静分离
修改nginx/conf/nginx.conf文件为如下所示:
#user nobody;
worker_processes 2;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http{
#access日志存放地址
access_log G:/Developer/nginx-1.12.1-jsp/logs/access.log;
#配置代理
upstream mynginx{
server 127.0.0.1:8080;
}
server{
listen 80;
server_name 127.0.0.1;
charset utf-8; #设置编码为utf-8;
location / {
root G:/Developer/nginx-1.12.1-jsp/webapps;
index index.html index.htm;
}
# 所有动态请求都转发给tomcat处理
location ~ \.(jsp|do)$ {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_pass http://mynginx; }
#静态文件交给nginx处理
location ~ .*\.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$
{
root G:/Developer/nginx-1.12.1-jsp/webapps;
}
#静态文件交给nginx处理
location ~ .*\.(js|css)?$
{
root G:/Developer/nginx-1.12.1-jsp/webapps;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
然后通以下命令重启nginx
.\nginx.exe -s reload
通过nginx访问tomcat
可以访问,说明配置的nginx生效了,但是图片没有显示,这是由于静态的文件交由nginx处理了,所以在上面配置的路径下新建文件夹:Nginx/img,然后把图片复制到该目录下就行了
然后从新访问该地址,就能成功的显示了!
相关文章推荐
- 基于ngnix+tomcat实现的动静分离(Windows)
- windows 配置Tomcat8.5多实例,实现开发包文件(Workspace)与源程序分离
- windows下配置Nginx+memcached+tomcat实现负载均衡以及动静资源分离
- 实现Windows XP Live On USB Device
- windows下实现端口映射
- 在windows 与Linux间实现文件传输(C++&C实现)
- 查看文本是linux格式还是windows格式;以及实现linux文本格式和linux文本格式转换
- aspx.cs中使用windows.open打开另一个页面,实现参数传递
- 实现一个跨平台的mysock库(windows、linux)
- windows下ping实现
- 在linux下代码实现ls -l 命令(利用移位 和 与 操作 对指定位的分离 )(指定位段的分离)
- Windows 上静态编译 Libevent 2.0.10 并实现一个简单 HTTP 服务器
- 不重启Windows更改IP地址的多种实现
- dedecms系统ask问答模块如何实现伪静态(windows)
- QTabWidget 实现类似QQ聊天窗口(拖动分离出新的窗口)
- 修改ei.cfg,实现Windows 7旗舰版多版本选择
- windows,linux下SVN实现自动更新WEB目录
- Java使用事件驱动实现业务层与GUI的分离
- Liunx与windows实现文件系统互访
- Linux下通过GRUB2实现与Windows的双启动