• 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/aa.html


    http:// www.aatest.com /index.jsp

    http://www.aatest.com/index.do

    更多linux、网络、shell、数据库等相关技术想和博主交流的,致信邮箱,大家互相学习alec1312linux@163.com
  • 相关阅读:
    strak组件(9):关键字搜索
    strak组件(8):基本增删改查实现及应用和排序
    stark组件(7):增加分页功能
    strak组件(6):列表定制列应用和引入静态文件
    strak组件(5):为列表定制预留钩子方法
    stark组件(4):列表定义列,展示数据库数据
    strak组件(3):URL别名的优化
    windows开启3389
    kali安装AVWS13
    SQLMAP使用大全
  • 原文地址:https://www.cnblogs.com/alec1312/p/5829332.html
Copyright © 2020-2023  润新知