Centos6.7配置Nginx+Tomcat簡單整合,centos6.7nginx
系統內容: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/networkRETVAL=0##這裡是配置jre路徑export JRE_HOME=/root/app/jdk1.8.0_65/jre##這裡是Tomcat路徑export CATALINA_HOME=/opt/app/apache-tomcat-8.5.8start(){if [ -f $CATALINA_HOME/bin/startup.sh ];thenecho $"Starting Tomcat"$CATALINA_HOME/bin/startup.shRETVAL=$?echo " OK"return $RETVALfi}stop(){if [ -f $CATALINA_HOME/bin/shutdown.sh ];thenecho $"Stopping Tomcat"$CATALINA_HOME/bin/shutdown.shRETVAL=$?sleep 1ps -fwwu tomcat | grep apache-tomcat|grep -v grep | grep -v PID | awk '{print $2}'|xargs kill -9echo " OK"# [ $RETVAL -eq 0 ] && rm -f /var/lock/...return $RETVALfi}case "$1" instart) start;;stop) stop;;restart)echo $"Restaring Tomcat"$0 stopsleep 1$0 start;;*)echo $"Usage: $0 {start|stop|restart}"exit 1;;esacexit $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/nginxstart() {[ -x $nginx ] || exit 5[ -f $NGINX_CONF_FILE ] || exit 6echo -n $"Starting $prog: "daemon $nginx -c $NGINX_CONF_FILEretval=$?echo[ $retval -eq 0 ] && touch $lockfilereturn $retval}stop() {echo -n $"Stopping $prog: "killproc $prog -QUITretval=$?echo[ $retval -eq 0 ] && rm -f $lockfilereturn $retval}restart() {configtest || return $?stopstart}reload() {configtest || return $?echo -n $"Reloading $prog: "killproc $nginx -HUPRETVAL=$?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" instart)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 2esac
儲存後配置一下許可權chmod a+x nginx(a+x參數表示 ==> all user can execute 所有使用者可執行)
然後這個指令碼設定為開機啟動,chkconfig --add nginx
通過service nginx start/stop/restart就可以啟動/停止/重啟Nginx了,而且還會有提示資訊
Centos6.7配置Nginx+Tomcat簡單整合到此完成了,其中很多配置方法並不唯一,選擇自己喜歡的方式即可。