Nginx反向代理到后端的tomcat上实现动静分离
2013-09-29 17:53
961 查看
实验环境centos6.4代理服务器:
外网地址 172.16.4.7
内网地址 192.168.4.11
静态内容服务器 192.168.10.13动态内容服务器 192.168.10.12 用户通过访问代理服务器的外网ip请求到后端服务器的资源,静态页面的通过192.168.10.13得到,动态页面通过192.168.10.12得到。
配置论坛服务器的ip地址
#ifconfig eth0 192.168.10.12/24
#route add default gw 192.168.10.254
apache-tomcat-7.0.42.tar.gzjdk-7u9-linux-x64.rpm
一、在后端服务器上安装 tomcat、jdk
1、安装jdk
#rmp -ivh jdk-7u9-linux-x64.rpm
# vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/latest
export PATH=$JAVA_HOME/bin:$PATH
#. /etc/profile.d/java.sh
# java -version
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)
2、安装部署tomcat
# tar xf apache-tomcat-7.0.42.tar.gz -C /usr/local/
# cd /usr/local/
# ln -sv apache-tomcat-7.0.42 tomcat
# vim /etc/profile.d/tomcat.sh
export CATALINA_HOME=/usr/local/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
#. /etc/profile.d/tomcat.sh
3、为Tomcat提供SysV脚本
# vim /etc/init.d/tomcat
#!/bin/sh
# Tomcat init script for Linux.
#
# chkconfig: 2345 96 14
# description: The Apache Tomcat servlet/JSP container.
CATALINA_HOME=/usr/local/tomcat #注意你的脚本路径
export CATALINA_HOME
# export CATALINA_OPTS="-Xms128m -Xmx256m"
exec $CATALINA_HOME/bin/catalina.sh $*
#chmod +x /etc/init.d/tomcat
# chkconfig --add tomcat
就可以使用命令启动服务了
#service tomcat start
否则需要命令
# catalina.sh start
4、进行配置
# catalina.sh version查看版本
# catalina.sh configtest 检查错误之前要保证服务关闭状态
#cd tomcat/conf
#vim tomcat-users.xml 加用户
-->
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<role rolename="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>
# mkdir /tomcat/app1 -pv
# vim server.xml 配置文件
找到host添加
<Host name="www.test.com" appBase="/tomcat/app1"
unpackWARs="true" autoDeploy="true">
<Context path="/" docBase="/tomcat/app1" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="test_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
修改默认主机为 <Engine name="Catalina" defaultHost="www.test.com">
#service tomcat stop
#service tomcat start
# jps
7334 Bootstrap
7355 Jps
5、安装并启动mysql服务
可以使用源码包编译安装或rpm包安装,这里我们使用系统自带的包
#yum -y install mysql-server
#service mysqld start
6、安装论坛程序
# unzip JspRun\!_6.0.0_GBK.zip
# mv upload/* /tomcat/app1
#service tomcat stop
#service tomcat start
在mysql中授权一个用户
mysql> grant all on jsprun.* to 'jspuser'@'localhost' identified by 'jspmypass';
mysql> flush privileges;
访问http://172.16.4.5/install.jsp 进入论坛安装界面,按照要求安装就可以进入论坛首页了
再次访问时172.16.4.5就可以进入论坛了
二、安装并配置nginx服务器
1、参考http://qidian510.blog.51cto.com/7319882/1297951
2、开启转发功能
#vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 打开转发功能
#sysctl -p
#sysctl -a | grep ip_forward 验证确认开启转发
3、编辑配置文件
#cd /etc/nginx
#vim nginx.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#root html;
#index index.html index.htm;
proxy_pass http://192.168.10.12/;
}
4、启动服务
#service nginx start
Nginx服务器就可以代理后端的服务提供论坛了
在浏览器访问172.16.4.7
三、如果要实现动静分离该如何配置?
1、我们重新配置nginx的配置文件
#cd /etc/nginx
#vim nginx.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
location ~*\.(jsp|do)$ {
proxy_pass http://192.168.10.12;
}
这样配置会使有的内容不能显示
2、需要再配置一台服务器提供论坛的静态内容
安装nginx
#yum install nginx -y
编辑配置文件
#cd /etc/nginx
#vim nginx.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /web/html;
index index.html index.htm;
}
#mkdir /web/html -pv
3、下载并安装论坛程序
# unzip JspRun\!_6.0.0_GBK.zip
# mv upload/* /web/html/
#service nginx start
然后调整ip地址为 192.168.10.13
#ifconfig eth0 192.168.10.13/24
#route add default gw 192.168.10.254
4、回到转发服务器配置
#cd /etc/nginx
#vim nginx.conf
添加静态转发的服务器
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
index index.jsp;
location / {
root html;
index index.html index.htm;
}
location ~* \.(jpg|png|js|jpeg|gif|htm|html) {
proxy_pass http://192.168.10.13;
}
location ~* \.(jsp|do|css)$ {
proxy_pass http://192.168.10.12;
}
5、重新加载并进行测试
#service nginx reload
访问http://172.16.4.7/index.jsp
至此,就可以实现动静分离了。
外网地址 172.16.4.7
内网地址 192.168.4.11
静态内容服务器 192.168.10.13动态内容服务器 192.168.10.12 用户通过访问代理服务器的外网ip请求到后端服务器的资源,静态页面的通过192.168.10.13得到,动态页面通过192.168.10.12得到。
配置论坛服务器的ip地址
#ifconfig eth0 192.168.10.12/24
#route add default gw 192.168.10.254
apache-tomcat-7.0.42.tar.gzjdk-7u9-linux-x64.rpm
一、在后端服务器上安装 tomcat、jdk
1、安装jdk
#rmp -ivh jdk-7u9-linux-x64.rpm
# vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/latest
export PATH=$JAVA_HOME/bin:$PATH
#. /etc/profile.d/java.sh
# java -version
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)
2、安装部署tomcat
# tar xf apache-tomcat-7.0.42.tar.gz -C /usr/local/
# cd /usr/local/
# ln -sv apache-tomcat-7.0.42 tomcat
# vim /etc/profile.d/tomcat.sh
export CATALINA_HOME=/usr/local/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
#. /etc/profile.d/tomcat.sh
3、为Tomcat提供SysV脚本
# vim /etc/init.d/tomcat
#!/bin/sh
# Tomcat init script for Linux.
#
# chkconfig: 2345 96 14
# description: The Apache Tomcat servlet/JSP container.
CATALINA_HOME=/usr/local/tomcat #注意你的脚本路径
export CATALINA_HOME
# export CATALINA_OPTS="-Xms128m -Xmx256m"
exec $CATALINA_HOME/bin/catalina.sh $*
#chmod +x /etc/init.d/tomcat
# chkconfig --add tomcat
就可以使用命令启动服务了
#service tomcat start
否则需要命令
# catalina.sh start
4、进行配置
# catalina.sh version查看版本
# catalina.sh configtest 检查错误之前要保证服务关闭状态
#cd tomcat/conf
#vim tomcat-users.xml 加用户
-->
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<role rolename="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>
# mkdir /tomcat/app1 -pv
# vim server.xml 配置文件
找到host添加
<Host name="www.test.com" appBase="/tomcat/app1"
unpackWARs="true" autoDeploy="true">
<Context path="/" docBase="/tomcat/app1" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="test_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
修改默认主机为 <Engine name="Catalina" defaultHost="www.test.com">
#service tomcat stop
#service tomcat start
# jps
7334 Bootstrap
7355 Jps
5、安装并启动mysql服务
可以使用源码包编译安装或rpm包安装,这里我们使用系统自带的包
#yum -y install mysql-server
#service mysqld start
6、安装论坛程序
# unzip JspRun\!_6.0.0_GBK.zip
# mv upload/* /tomcat/app1
#service tomcat stop
#service tomcat start
在mysql中授权一个用户
mysql> grant all on jsprun.* to 'jspuser'@'localhost' identified by 'jspmypass';
mysql> flush privileges;
访问http://172.16.4.5/install.jsp 进入论坛安装界面,按照要求安装就可以进入论坛首页了
再次访问时172.16.4.5就可以进入论坛了
二、安装并配置nginx服务器
1、参考http://qidian510.blog.51cto.com/7319882/1297951
2、开启转发功能
#vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 打开转发功能
#sysctl -p
#sysctl -a | grep ip_forward 验证确认开启转发
3、编辑配置文件
#cd /etc/nginx
#vim nginx.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#root html;
#index index.html index.htm;
proxy_pass http://192.168.10.12/;
}
4、启动服务
#service nginx start
Nginx服务器就可以代理后端的服务提供论坛了
在浏览器访问172.16.4.7
三、如果要实现动静分离该如何配置?
1、我们重新配置nginx的配置文件
#cd /etc/nginx
#vim nginx.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
location ~*\.(jsp|do)$ {
proxy_pass http://192.168.10.12;
}
这样配置会使有的内容不能显示
2、需要再配置一台服务器提供论坛的静态内容
安装nginx
#yum install nginx -y
编辑配置文件
#cd /etc/nginx
#vim nginx.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /web/html;
index index.html index.htm;
}
#mkdir /web/html -pv
3、下载并安装论坛程序
# unzip JspRun\!_6.0.0_GBK.zip
# mv upload/* /web/html/
#service nginx start
然后调整ip地址为 192.168.10.13
#ifconfig eth0 192.168.10.13/24
#route add default gw 192.168.10.254
4、回到转发服务器配置
#cd /etc/nginx
#vim nginx.conf
添加静态转发的服务器
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
index index.jsp;
location / {
root html;
index index.html index.htm;
}
location ~* \.(jpg|png|js|jpeg|gif|htm|html) {
proxy_pass http://192.168.10.13;
}
location ~* \.(jsp|do|css)$ {
proxy_pass http://192.168.10.12;
}
5、重新加载并进行测试
#service nginx reload
访问http://172.16.4.7/index.jsp
至此,就可以实现动静分离了。
相关文章推荐
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- [原创]java局域网聊天系统
- java很神奇 用swing制作欢迎屏幕
- java自动生成验证码插件-kaptcha
- ITeye上“10个人,8个人不会解释这个问题”的帖子
- Java IO与NIO的一些文件拷贝测试
- Java反射随记
- Java简单字符串插值实现
- String.intern
- 学习prefuse
- Linux平台下Java程序员的基本功
- dns。dhcp,ftp
- 代理服务器的路由分析
- 解决Default storage engine (InnoDB) is not available导致mysql无法启动的修改办法