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簡單整合到此完成了,其中很多配置方法並不唯一,選擇自己喜歡的方式即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM