nginx+tomcat网页动静分离配置
1、环境描述
nginx server (Proxy):192.168.1.135(作为代理服务器)
WEB server1: 192.168.1.138(使用tomcat作为web容器)
WEB server2: 192.168.1.139 (使用tomcat作为web容器)
2、安装jdk
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
# tar -xvf jdk-8u5-linux-x64.tar.gz
# mv jdk1.8.0_05/ /usr/local/java
# vim /etc/profile
JAVA_HOME=/usr/local/java
JRE_HOME=/usr/local/java/jre
PATH=$JAVA_HOME/bin:$PATH:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
# source /etc/profile ;使得新添加的配置立即生效
# java –version
3、安装Tomcat(在两台web服务器上都要安装)
1)tomcat安装
http://apache.fayea.com/apache-mirror/tomcat/tomcat-7/v7.0.54/bin/apache-tomcat-7.0.54.tar.gz
# tar -xvf apache-tomcat-7.0.54.tar.gz
# mv apache-tomcat-7.0.54 /usr/local/tomcat
2)配置Tomcat
# vim /usr/local/tomcat/conf/server.xml
<Connector port="8080" protocol="HTTP/1.1" 索搜此项修改默认WEB端口
connectionTimeout="20000"
redirectPort="8443" />
<Host name="localhost" appBase="web" 可以修改域名或者IP,但作代理请保持localhost
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/opt/web"></Context> 新增此项修改WEB的家目录
3)启动tomcat
[root@slave bin]# ./startup.sh start
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/java/jre
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
4、tomcat测试
http://10.0.0.202:8080 在没有修改WEB目录的情况出现此页面就算成功
5、Nginx的安装与配置
1)安装依赖库
# yum -y install gcc openssl-devel zlib-devel
1)安装pcre依赖包
pcre-8.01.tar.gz
# cd /soft/
# tar xf pcre-8.01.tar.gz -C tmp/
# cd tmp/pcre-8.01/
#./configure && make && make install
2)安装libmd5依赖库
libmd5-0.8.2b.tar.gz
# cd /soft/
#tar xf libmd5-0.8.2b.tar.gz -C tmp/
3)安装Nginx
nginx-0.8.55.tar.gz
# cd /soft/
# tar nginx-0.8.55.tar.gz -C tmp/
# cd tmp/nginx-0.8.55/
#CONFOPTS="
--user=user1 \
--group=users \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-md5=/soft/md5/ \
--with-sha1=auto/lib/sha1 \
--with-pcre=/soft/pcre-8.01 \
--without-select_module \
--without-poll_module \
--without-http_ssi_module \
--without-http_userid_module \
--without-http_geo_module \
--without-http_map_module \
--without-http_memcached_module \
--without-mail_pop3_module \
--without-mail_imap_module \
--without-mail_smtp_module \
--prefix=/usr/local/services/nginx-0.8.55 \
"
#./configure $ CONFOPTS >/dev/null
# make >/dev/null && make install >/dev/null
#chown user_00.users /data/www/pvp.fanhougame.net –R
编译参数详解:
--with-http_realip_module
此模块支持显示真实来源IP地址,主要用于NGINX做前端负载均衡服务器使用。
-with-http_stub_status_module
这个模块可以取得一些nginx的运行状态,
--with-http_gzip_static_module
这个模块在一个预压缩文件传送到开启Gzip压缩的客户端之前检查是否已经存在以“.gz”结尾的压缩文件,这样可以防止文件被重复压缩。
--with-md5=/soft/md5/
设定md5库文件路径
--with-sha1=auto/lib/sha1
设定sha1库文件路径
--with-pcre=/soft/pcre-8.01
设定PCRE库路径
--without-select_module
标准连接模式。默认情况下自动编译方式。您可以启用或禁用通过使用-select_module和不带- select_module配置参数这个模块
--without-poll_module
不使用poll模块
--without-http_ssi_module
不使用ngx_http_ssi_module模块,此模块处理服务器端包含文件(ssi)的处理.
--without-http_userid_module
不使用ngx_http_userid_module模块
--without-http_geo_module
这个模块基于客户端的IP地址创建一些ngx_http_geoip_module变量,并与MaxMindGeoIP文件进行匹配,该模块仅用于 0.7.63和0.8.6版本之后。但效果不太理想,对于城市的IP记录并不是特别准确,不过对于网站的来源访问区域的分析大致有一定参考性
。
--without-http_map_module
不使用ngx_http_map_module模块
--without-http_memcached_module
不使用ngx_http_memcached_module模块
--without-mail_pop3_module
不允许ngx_mail_pop3_module模块
--without-mail_imap_module
不允许ngx_mail_imap_module模块
--without-mail_smtp_module
不允许ngx_mail_smtp_module模块
6.编辑nginx主配置文件 /usr/local/nginx/conf/nginx.conf
修改以下配置
user user_00 users; #这个模块指令,指Nginx Worker 运用的用户和组,默认为nobody
worker_processes 8; #指定了要开启的进程数,每进程占用10M~12M的内存,建议和CPU的核心数量一样多的进程就行了。
error_log logs/error.log; #全局错误日志
#===================自定义虚拟机配置文件===========
include vhost/vhost.dali.com; 文件末尾添加反向代理文件
include vhost/vhost.aatest.com;添加本地虚拟主机文件
7、Nginx反向代理(负载)vim /usr/local/nginx/conf/vhost/vhost.daili.com
vhost.daili.com 编辑内容为;
upstream webcount {
server 192.168.1.135:80 weight=1 max_fails=3 fail_timeout=20s;
server 192.168.1.138:8080 weight=1 max_fails=3 fail_timeout=20s;
server 192.168.1.139:8080 weight=1 max_fails=3 fail_timeout=20s;
}
server {
listen 80;
server_name www.aatest.com;
charset utf-8;
location ~ (\.jsp)|(\.do)$ { #jsp和do的交给tomcat处理实现动静分离
index index.html index.htm index.jsp index.do;
proxy_pass http://webcount;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 100m;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|html|htm)$ #html和图片的和其它的静态内容存路径html
{
root /opt/web; #可自由指定
expires 30d;
}
}
8、本地虚拟主机配置
vhost.aatest.com编辑内容为;
server {
listen 80 ;
server_name www.aatest.com;
root /opt/web ;
location / {
index index.php index.html index.htm;
if (!-e $request_filename) {
return 444;
}
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/nginx/html;
}
location ~ \.php$ {
fastcgi_pass unix:/tmp/php-cgi-5313-web.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SERVER_NAME $http_host;
fastcgi_ignore_client_abort on;
}
location ~ \.(swf|js|css|xml|gif|jpg|jpeg|png|bmp)$ {
error_log off;
access_log off;
expires max;
}
}
9、启动与平滑重启
# useradd user1
# chown -R user1:users /opt/web
# cd /usr/local/services/nginx-0.8.55/sbin/
# ./nginx –t 检测配置文件是否有错误
# ./nginx 启动nginx
# ./nginx -s reload
10、 动静分离测试
1)在tomcat上
在WEB目录创建
# cd /opt/web
# echo “this is jsp” >index.jsp
# echo “this is do” >index.do
2)在Nginx上
在Nginx的/opt/alvin目录下
# cd /opt/alvin
# echo “this is index ” >index.html
# echo “this is index a” >aa.html
3、在浏览器里面
http://www.aatest.com/ (在代理服务器上添加主机名和ip地址的映射)
http:// www.aatest.com /index.jsp
http://www.aatest.com/index.do
nginx+tomcat网页动静分离配置的更多相关文章
- 使用nginx+tomcat实现动静分离
动态资源与静态资源的区别 微微的概括一下 静态资源: 当用户多次访问这个资源,资源的源代码永远不会改变的资源. 动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变. 什么是动静分离 动静分离 ...
- Nginx+Tomcat实现动静分离和负载均衡
一.什么是动静分离? Nginx动静分离简单来说就是把动态和静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离.严格意义上说应该是将动态请求和静态请求分开,可以理解成使用Nginx处理静态 ...
- nginx+tomcat实现动静分离
本文设计的动静分离结构 在本文中,我们将静态资源放在 A 主机的一个目录上,将动态程序放在 B 主机上,同时在 A 上安装 Nginx 并且在 B 上安装 Tomcat.配置 Nginx,当请求的是 ...
- nginx+tomcat实现动静分离(转)
本文设计的动静分离结构 在本文中,我们将静态资源放在 A 主机的一个目录上,将动态程序放在 B 主机上,同时在 A 上安装 Nginx 并且在 B 上安装 Tomcat.配置 Nginx,当请求的是 ...
- nginx+tomcat:动静分离+https
nginx server { listen 80; server_name 192.168.0.103; # http访问重写为https rewrite ^ https:/$http_host$re ...
- nginx 的动静分离配置(tomcat)
nginx+tomcat是想动静分离配置 首先在nginx的配置文件中添加tomcat的的集群配置 upstream tomcats { ip_hash; server 192.168.0.251:8 ...
- Nginx+Tomcat的服务器端环境配置详解
这篇文章主要介绍了Nginx+Tomcat的服务器端环境配置详解,包括Nginx与Tomcat的监控开启方法,需要的朋友可以参考下 Nginx+tomcat是目前主流的Javaweb架构,如何让ngi ...
- Nginx+Tomcat+MemCached 集群配置手册
系统实施文档 Nginx+Tomcat+MemCached 集群配置手册 目 录 第1章 概述 1.1 目标 互联网的快速发展带来了互联网系统的高负载和高可用性, 这要求我们在设计系统架 ...
- Linux下Nginx+Tomcat负载均衡和动静分离配置要点
本文使用的Linux发行版:CentOS6.7 下载地址:https://wiki.centos.org/Download 一.安装Nginx 下载源:wget http://nginx.org/pa ...
随机推荐
- Codeforces Round #207 (Div. 1) B (gcd的巧妙运用)
比赛的时候不知道怎么写... 太弱了. 看了别人的代码,觉得这个是个经典的知识点吧. gcd的巧妙运用 自己想的时候苦苦思考怎么用dp求解. 无奈字符串太长而想不出好的算法. 其实在把a和b字符串都分 ...
- 一起做RGB-D SLAM调试
最近在学习高博的一起做RGB-D SLAM第一版本,其中调试出现了挺多问题,百度查找许多资料, 最后调通所有程序,记录以下运行环境. 高博一起做RGB-D SLAM系列主页: http://www.c ...
- phpstrrchr()函数的问题
strrchr — 查找指定字符在字符串中的最后一次出现 说明 string strrchr ( string $haystack , mixed $needle ) 该函数返回 haystack 字 ...
- phpmail发送邮件
---恢复内容开始--- 首先.需要phpmailer的包. 地址:https://github.com/Synchro/PHPMailer 解开压缩包,将class.phpmailer.php,cl ...
- Extjs3 combobox使用
Combobox 在程序中应用十分普遍,每个combobox的选项 一般对应两个值:一个用于前台显示的值,一个与显示值对应的value值.在后台获取value的值需使用combobox的 Hidden ...
- explorer.exe中发生未处理的win32异常
explorer.exe中发生未处理的win32异常的错误提示,是windows系统比较常见的错误事件,多数在开机遇到,也有在电脑使用过程中遇到. 了解explorer.exe进程 从百度百科了解到, ...
- 【转】Spring中@Component的作用
今天在写程序的时候看见一个以前没有见过的注解(@Component),在网上查找过后,经过实践,决定把它记录下来. 1.@controller 控制器(注入服务) 用于标注控制层,相当于struts中 ...
- pandas数据结构和介绍第一天
pandans另种主要的数据结构Series和DateFranme 1,Series 仅由一组数据就而已产生简单的Series 2)Series 有index和values属性,表达索引对象 3)设置 ...
- vim 设置 颜色值
编辑~/.vimrc文件,添加 set t_Co=8 t_Co即terminal Color之意 注意,将 t_Co 设置为256 (或8以外的所有值) 时,mark 的显示不是很正常.
- selector模块
selector selectors模块,此模块允许高级和高效的I / O多路复用,构建在select模块原语上.鼓励用户使用此模块,除非他们需要精确控制所使用的操作系统级原语.( 默认使用epoll ...