Linux下安装nginx和tomcat集群

王峰发表于:2015年08月26日 17:41

  • SSH连接时中文乱码解决:

  • 打开/etc/sysconfig/i18n
    设置为:
    LANG="zh_CN.GB2312"
    LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
    SUPPORTED="zh_CN.GB18030:zh_CN.GB2312:zh_CN.UTF-8:zh:en_US.UTF-8:en_US:en:ja_JP.UTF-8:ja_JP:ja"
    SYSFONT="lat0-sun16"
    SYSFONTACM="8859-15"

 

  • 安装一些组件

yum -y install subversion

 yum install pcre-devel

#yum install openssl openssl-devel

# yum -y install gcc gcc-c++ autoconf automake

 

# yum -y install zlib zlib-devel openssl openssl?devel pcre pcre-devel

 

  • 下载安装程序:

  • cd/opt

  • wget http://nginx.org/download/nginx-1.2.8.tar.gz

  • wgethttps://nginx-upstream-jvm-route.googlecode.com/files/nginx-upstream-jvm-route-0.1.tar.gz

  • wgethttp://fossies.org/linux/misc/pcre-8.34.tar.gz

  • 编译环境设置

  • 安装gcc编译器:yum install gcc

  • 安装c++扩展:yum install -y gccgcc-c++

  • 安装mysql

  • yum -y install mysql-server

  • 设定为系统服务

# chkconfigmysqld on  ← 设置MySQL服务随系统启动自启动
# chkconfig –list mysqld  ← 确认MySQL自启动mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off  ← 如果2–5为on的状态就OK

  1. #service mysqld start    ←启动服务(# /etc/rc.d/init.d/mysqld start也可以)

  2. 修改root密码(默认密码为空):

# mysql -u root  ←用root用户登录MySQL服务器
select user,host,password from mysql.user;  ←查看用户信息
set password for root@localhost=password(‘在这里填入root密码’);  ←设置root密码
select user,host,password from mysql.user;  ←查看用户信息
exit  ←退出MySQL服务器

 

  • 安装nignx:

  • Tar zxvfnginx-1.2.8.tar.gz

  • svn checkout http://nginx-upstream-jvm-route.googlecode.com/svn/trunk/ nginx-upstream-jvm-route-read-only

  • cd nginx-1.2.8

  • patch -p0 < ../nginx-upstream-jvm-route.tar.gz/jvm_route.patch

  • useradd www

  • ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/opt/nginx-upstream-jvm-route-read-only

  • make

  • make install

  • 配置tomcat

  • tarzxvfapache-tomcat-7.0.52.tar.gz -C /opt/tomcat_1

  • tarzxvfapache-tomcat-7.0.52.tar.gz -C /opt/tomcat_2

  • 分别打开tomcat_1和tomcat_2下的conf/server.xml,将tomcat_1指向7080,tomcat_2指向8080

  • 分别tomcat的jvRoute:

配置为<Engine name="Catalina" defaultHost="localhost"jvmRoute="jvm1">

配置为<Engine name="Catalina" defaultHost="localhost"jvmRoute="jvm2">

  • 配置nginx

  • cd /usr/local/nginx/conf

  • vi nginx.conf,主要增加内容如下:

http {

upstream backend {

server 127.0.0.1:7080 srun_id=jvm2 weight=6;

server 127.0.0.1:8080 srun_id=jvm1 weight=6;

jvm_route $cookie_JSESSIONID|sessionid reverse;

    }


#此处省略了默认内容

 

 

 

 

server {

listen       80;

server_namelocalhost;

 

        #charset koi8-r;

 

        #access_log  logs/host.access.log  main;

 

location / {

proxy_pass http://backend;

proxy_redirect    off;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header Host $http_host;

        }

#此处省略了默认内容

}

注意:请对应和jvmRote和端口。

  • 启动测试

  • /opt/tomcat_1/bin/startup.sh

  • /opt/tomcat_1/bin/startup.sh

  • /usr/local/nginx/sbin/nginx

  • /usr/local/nginx/sbin/nginx -s stop (停止nginx)

 



    您需要登录后才可以回复
    提供技术服务