• Centos6.7配置Nginx+Tomcat简单整合


      系统环境:Centos 6.7
      软件环境:JDK-1.8.0_65、Nginx-1.10.3、Tomcat-8.5.8
      文档环境:/opt/app/ 存放软件目录,至于mkdir创建文件就不用再说了

      首先将东西下载或上传到服务器上,/opt/app/目录存放Tomcat和JDK的包,分别是apache-tomcat-8.5.8.tar.gz和jdk-8u65-linux-x64.tar.gz,使用tar -zxvf xxx.tar.gz解压,而nginx-1.10.3.tar.gz随便找个地方存放着,不要放在一起,下面再说为什么!


      1、配置JDK
        编辑/etc/profile(vi /etc/profile),在最底下加上:
        export JAVA_HOME=/opt/app/jdk1.8.0_65
        export JRE_HOME=${JAVA_HOME}/jre
        export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
        export PATH=${JAVA_HOME}/bin:$PATH
        使用source /etc/profile 令配置文件生效,通过java -version判断是否成功即可

     

      

     

     

      2、安装Tomcat
        其实都不算安装,Tomcat解压可用,配置好Java的环境变量之后进入Tomcat解压后的目录,进入其bin目录,执行以下startup.sh文件即可,Tomcat默认端口是8080,通过ip:8080即可判断  Tomcat是否成功启动,或者通过netstat -nltp查看端口、jps查看java进程显示Bootstrap都可以检测Tomcat是否启动

        

     

      3、安装Nginx
        在任意地方解压nginx-1.10.3.tar.gz,之所以不将该文件与JDK等文件存放一起是因为Nginx是编译安装,可以指定编译安装路径,使三个软件都存放在相同位置,没有强迫症的童鞋可随意。
    在编译安装nginx之前需要先安装一些依赖包,这是非常重要的。其中包括有C/C++的编译等,由于使用的是centos系统,所以apt-get什么就不会出现,使用的是yum安装
          yum -y install gcc gcc-c++ autoconf automake
          yum -y install zlib zlib-devel openssl opsenssl-devel pcre pcre-devel
        安装好依赖项之后,进入nginx解压目录,使用./configure --prefix=/opt/app/nginx配置nginx安装目录,之后使用make && make install进行编译安装,安装好了之后,在/opt/app/中就会生成nginx目录了。进入/opt/app/nginx/sbin,执行./nginx启动nginx。Nginx默认端口是80,通过IP即可判断Nginx是否成功启动,或者通过nestat -nltp查看端口,ps -ef | grep nginx查看Nginx进程都可以检测Nginx是否启动

      

      4、配置Nginx重定向到Tomcat
        修改ngin配置文件,进入nginx安装好的目录里面的conf目录,修改nginx.conf文件,vi nginx.conf,找到server的设置,在location一项中添加proxy_pass http://localhost:8080;如下图,即将原本指向Nginx的地址重定向到Tomcat的地址,重新启动Nginx,通过IP直接访问即可重定向到Tomcat页面,这就是简单的Nginx+Tomcat整合。


      5、配置Tomcat开机自启动
        服务器经常会不明原因地奔溃、重启,尤其是云服务器,如果每次都要自己手动启动Tomcat那就太麻烦了,因为我们需要将Tomcat配置开机启动。首先,在/etc/init.d/目录下创建一个名为tomcat的文件,直接vi tomcat进入编辑即可,然后输入一下内容(可复制):
        

    #!/bin/bash
    # chkconfig: 345 99 10
    # description: Auto-starts tomcat
    # /etc/init.d/tomcat
    # Tomcat auto-start
    # Source function library.
    #. /etc/init.d/functions
    # source networking configuration.
    #. /etc/sysconfig/network
    RETVAL=0
    ##这里是配置jre路径
    export JRE_HOME=/root/app/jdk1.8.0_65/jre
    ##这里是Tomcat路径
    export CATALINA_HOME=/opt/app/apache-tomcat-8.5.8
    start()
    {
    if [ -f $CATALINA_HOME/bin/startup.sh ];
    then
    echo $"Starting Tomcat"
    $CATALINA_HOME/bin/startup.sh
    RETVAL=$?
    echo " OK"
    return $RETVAL
    fi
    }
    stop()
    {
    if [ -f $CATALINA_HOME/bin/shutdown.sh ];
    then
    echo $"Stopping Tomcat"
    $CATALINA_HOME/bin/shutdown.sh
    RETVAL=$?
    sleep 1
    ps -fwwu tomcat | grep apache-tomcat|grep -v grep | grep -v PID | awk '{print $2}'|xargs kill -9
    echo " OK"
    # [ $RETVAL -eq 0 ] && rm -f /var/lock/...
    return $RETVAL
    fi
    }
    
    case "$1" in
    start) 
    start
    ;;
    stop) 
    stop
    ;;
    
    restart)
    echo $"Restaring Tomcat"
    $0 stop
    sleep 1
    $0 start
    ;;
    *)
    echo $"Usage: $0 {start|stop|restart}"
    exit 1
    ;;
    esac
    exit $RETVAL

        保存后配置一下权限chmod a+x tomcat(a+x参数表示 ==> all user can execute 所有用户可执行)
        然后这个脚本设置为开机启动,chkconfig --add tomcat
        通过service tomcat start/stop/restart就可以启动/停止/重启Tomcat了,而且还会有提示信息

      6、配置Nginx开机自启动
        与Tomcat配置同理,在/etc/init.d/目录下添加nginx脚本文件,输入以下代码:

    #!/bin/bash
    
    #
    
    # nginx - this script starts and stops the nginx daemin
    
    #
    
    # chkconfig: - 85 15
    
    # description: Nginx is an HTTP(S) server, HTTP(S) reverse
    
    # proxy and IMAP/POP3 proxy server
    
    # processname: nginx
    
    # config: /usr/local/nginx/conf/nginx.conf
    
    # pidfile: /usr/local/nginx/logs/nginx.pid
    
    # Source function library.
    
    . /etc/rc.d/init.d/functions
    
    # Source networking configuration.
    
    . /etc/sysconfig/network
    
    # Check that networking is up.
    
    [ "$NETWORKING" = "no" ] && exit 0
    ## Nginx路径
    nginx="/opt/app/nginx/sbin/nginx"
    
    prog=$(basename $nginx)
    ## Nginx配置文件路径
    NGINX_CONF_FILE="/opt/app/nginx/conf/nginx.conf"
    
    lockfile=/var/lock/subsys/nginx
    
    start() {
    
    [ -x $nginx ] || exit 5
    
    [ -f $NGINX_CONF_FILE ] || exit 6
    
    echo -n $"Starting $prog: "
    
    daemon $nginx -c $NGINX_CONF_FILE
    
    retval=$?
    
    echo
    
    [ $retval -eq 0 ] && touch $lockfile
    
    return $retval
    
    }
    
    stop() {
    
    echo -n $"Stopping $prog: "
    
    killproc $prog -QUIT
    
    retval=$?
    
    echo
    
    [ $retval -eq 0 ] && rm -f $lockfile
    
    return $retval
    
    }
    
    restart() {
    
    configtest || return $?
    
    stop
    
    start
    
    }
    
    reload() {
    
    configtest || return $?
    
    echo -n $"Reloading $prog: "
    
    killproc $nginx -HUP
    
    RETVAL=$?
    
    echo
    
    }
    
    force_reload() {
    
    restart
    
    }
    
    configtest() {
    
    $nginx -t -c $NGINX_CONF_FILE
    
    }
    
    rh_status() {
    
    status $prog
    
    }
    
    rh_status_q() {
    
    rh_status >/dev/null 2>&1
    
    }
    
    case "$1" in
    
    start)
    
    rh_status_q && exit 0
    
    $1
    
    ;;
    
    stop)
    
    rh_status_q || exit 0
    
    $1
    
    ;;
    
    restart|configtest)
    
    $1
    
    ;;
    
    reload)
    
    rh_status_q || exit 7
    
    $1
    
    ;;
    
    force-reload)
    
    force_reload
    
    ;;
    
    status)
    
    rh_status
    
    ;;
    
    condrestart|try-restart)
    
    rh_status_q || exit 0
    
    ;;
    
    *)
    
    echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
    
    exit 2
    
    esac  

        保存后配置一下权限chmod a+x nginx(a+x参数表示 ==> all user can execute 所有用户可执行)
        然后这个脚本设置为开机启动,chkconfig --add nginx
        通过service nginx start/stop/restart就可以启动/停止/重启Nginx了,而且还会有提示信息

      Centos6.7配置Nginx+Tomcat简单整合到此完成了,其中很多配置方法并不唯一,选择自己喜欢的方式即可。

  • 相关阅读:
    浅谈项目管理之平衡原则
    MediaFoundation初步研究
    只有我一个人觉得cnblogs的页面超丑么?
    Xcode entitlement 问题定位和解决指南
    做游戏,不加班行不行?
    主程的工作职责有哪些?
    第N次开博
    企业级Java电商网站开发(服务端)
    JDK1.8版本特性
    POI操作Excel
  • 原文地址:https://www.cnblogs.com/ChampionLam/p/6546069.html
Copyright © 2020-2023  润新知