tomcat + nginx 负载均衡 动静分离 session会话配置

   第一台虚拟机:apache
下载要用的环境包
yum 安装java  环境
java -version  检测
 yum 安装lrzsz  
  rz 拉包
tar -zxvf  解压包
cp -r wenjian /opt/tomcat  解压到指定的目录下
cd /opt/tomcat/bin        
./startup.sh  启动 tomcat    打开网页测试,
echo "/opt/tomcat/bin/startup.sh">>/etc/rc.local   设置开机启动

vim /opt/tomcat/conf/server.xml   编辑主配置文件
  Connector port="80"    修改端口号为80
./shutdown.sh
./startup.sh
 
 网页测试 
/opt/tomcat/webapps/Root/index.jsp    更改默认主页(可以删掉 自己编写 )
-------------------------------
<%@ page contentType="text/html" %>
   <html>
       <body>
             HELLO!
       </body>
    </html>
--------------------------------------
rz  拉进来所需要的  平台信息或者包
yum  unzip  安装

[root@localhost tomcat]# cp Anynote.war /opt/tomcat/webapps/
[root@localhost tomcat]# cd webapps/
[root@localhost webapps]# ls
Anynote  Anynote.war  docs  examples  host-manager  manager  ROOT
[root@localhost webapps]# cd Anynote
[root@localhost Anynote]# ls
database  index.jsp  META-INF  WEB-INF  websrc

再次测试   ip:8080/Anynote


yum -y install mariadb mariadb-server   安装数据库
systemctl start mariadb      开启数据库

[root@localhost ~]# mysqladmin -uroot password 123     创建 用户密码
[root@localhost ~]# mysql -uroot -p         登陆数据库
Enter password:            密码一般 后输入   防止泄密
create databases Anynote;  创建数据库
exit

# mysql -uroot -p123 Anynote < /opt/tomcat/webapps/Anynote/database/Anynote\(Mysql\).sql   :导入数据库

cd /opt/tomcat/webapps/Anynote/WEB-INF/     发布目录下
vim jdbc.properties          配置关联数据库中的 名字,密码等等

jdbc.url=jdbc:mysql://localhost:3306/Anynote     保持创建的数据库的名字 和这个一样
jdbc.password=123           添加密码 

cd /opt/tomcat/bin/      启动目录下
./shutdown.sh
./startup.sh        

登陆 admin   admin   登陆成功

第二台虚拟机 nginx
关闭防火墙
yum -y install lrzsz       rz拉包
tar zxf nginx-1.9.0.tar.gz -C /usr/src/ 解压指定路径
cd /usr/src/nginx-包               : set nu  列出行数
ls
yum -y install gcc gcc-c++ pcre-devel zlib-devel  安装
ls
./configure --prefix=/usr/local/nginx 执行环境检查并指定安装目录
make && make install 编译并安装
cd /usr/local/nginx/  安装目录下看一下
ls    有(conf html logs sbin)就对了
   《conf/nginx.conf(配置文件)》
usr/local/nigix/sbin/nginx  启动nginx

测试 http://ip  页面是 (wellcome to nginx)
-------------------------------------------------------------------------
如果报错的话 端口占用。                                              ---- 《 错误  不用这个
vim conf/nginx.conf  (修改listen :80   为8080就可以了)-----------------
再查看 端口  lsof -i :80     /    :8080   ------------------------------
------------------------------------------------------------------------
优化:                                              ----
nginx  内的woker_processes 1;   取决于自己电脑的CUP  ----
worker_rlimit_nofile 204800;                       -----
gzip  压缩                                          -----
blog.ccdn.net  网站  可以查看 优化配置               -----
-------------------------------------------------------------
 vim /usr/local/nginx/conf/nginx.conf        配置文件下关联数据库

        location ~ .(gif|jpg|jpeg|bmp|png|txt|ico|js|css)$ {        当访问 主页的时候 如果有页面或者图片等找这个路径
                root   /usr/local/nginx/web;
        }
        location ~ {                                 
                proxy_pass http://192.168.70.100:8080;        如没有的话找这个  端口:8080  别忘了写
         }

/usr/local/nigix/sbin/nginx      开启服务

 

虚拟机apache   :
 cd /opt/tomcat/webapps/     进到发布目录下
 ls                      找到ROOT
 mv ROOT ROOT.bak           移走原有的发布目录
 mv Anynote ROOT          把新的 需要显示的 目录放进去   必须与数据库的名字一样,
  

   84  cd /opt/tomcat/webapps/ROOT/WEB-INF/
   85  LS
   86  ls
   87  vim jdbc.properties
   88  cd
   89  cd /opt/tomcat/webapps/ROOT
   90  ls
   91  cd ..
   92  scp -r ROOT root@192.168.70.101:/usr/local/nginx/web   远程把 ROOT 发送至nginx 的发布目录下

   需要输入 nginx 虚拟机登陆的密码  (一般是 123456)
   


     nginx :上查看
  cd /usr/local/nginx/web/
    ls
 
     apache: 启动目录    
   94  cd /opt/tomcat/bin/
   95  ./shutdown.sh
       ./startup.sh   
    在开启   nginx    就可以登陆了 。

 

负载均衡:

apache 2  

 
共享数据库: 
 数据库1 配置
MariaDB [(none)]> grant all on *.* to daxian@'%' identified by '123';    ||||数据库创建并给权限 最大的权限  数据库1 给数据库2 权限

数据库2 配置
cd /opt/tomcat/webapps/Anynote/WEB-INF/
vim jdbc.properties
------------------------------------------------------------------------------
jdbc.url=jdbc:mysql://192.168.70.100:3306/Anynote     要关联数据库的地址 

# Database Login UserName
# If Mysql: Mysql Login UserName
# If Sqlite: Empty                                -------------------------
jdbc.username=daxian      给权限的用户            ------------------------

# Database Login Password
# If Mysql: Mysql Login Password                  --------------------------
# If Sqlite: Empty
jdbc.password=123          设置密码               ---------------------------
----------------------------------------------------

访问就能 显示了

备注:
  修改完配置文件 要重启服务。

  nginx 配置: 代理配置
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

 http {
upstream www{                          实现负载    www 为下面 location ip 解析    
      server 192.168.70.100:8080;        有两个服务器,                             |
      server 192.168.70.102:8080;          
 }
    include       mime.types;
    default_type  application/octet-stream;

 

  location ~ .(gif|jpg|jpeg|bmp|png|txt|ico|js|css)$ {
                root   /usr/local/nginx/web;
        }
        location / {
                proxy_pass http://www;   修改为和上面对应的 名字   www            
         }
负载完成
-------------      ----------------------
 pkill nginx                    关闭   重启
/usr/local/nginx/sbin/nginx

测试 两台tomcat 
tail -f /opt/tomcat/logs/localhost_access_log.2016-12-30.txt

 

session 会话 配置。
 
  nginx配置
[root@localhost ~]# yum -y install memcached memcached-devel       安装 memcached

[root@localhost ~]# systemctl start memcached                  启动  memcached

  
 tomcat :1  2  配置:

 [root@localhost ~]# cd /opt/tomcat/lib/
    rz 
  tomcat_session_jar  里面的9个包
   vim /opt/tomcat/conf/context.xml

   添加 

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" 
            memcachedNodes="n1:192.168.55.128:11211"                            修改为 memcached 的网址
            sticky="false" 
            sessionBackupAsync="false" 
            requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$" 
            transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" 
    />

登陆  ngnix  刷新 界面 不掉 就完成了

posted @ 2017-02-13 11:07  大贤smd  阅读(435)  评论(0编辑  收藏  举报