系统环境: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进入编辑即可,然后输入一下内容(可复制):
    

  1. #!/bin/bash
  2. # chkconfig: 345 99 10
  3. # description: Auto-starts tomcat
  4. # /etc/init.d/tomcat
  5. # Tomcat auto-start
  6. # Source function library.
  7. #. /etc/init.d/functions
  8. # source networking configuration.
  9. #. /etc/sysconfig/network
  10. RETVAL=0
  11. ##这里是配置jre路径
  12. export JRE_HOME=/root/app/jdk1.8.0_65/jre
  13. ##这里是Tomcat路径
  14. export CATALINA_HOME=/opt/app/apache-tomcat-8.5.8
  15. start()
  16. {
  17. if [ -f $CATALINA_HOME/bin/startup.sh ];
  18. then
  19. echo $"Starting Tomcat"
  20. $CATALINA_HOME/bin/startup.sh
  21. RETVAL=$?
  22. echo " OK"
  23. return $RETVAL
  24. fi
  25. }
  26. stop()
  27. {
  28. if [ -f $CATALINA_HOME/bin/shutdown.sh ];
  29. then
  30. echo $"Stopping Tomcat"
  31. $CATALINA_HOME/bin/shutdown.sh
  32. RETVAL=$?
  33. sleep 1
  34. ps -fwwu tomcat | grep apache-tomcat|grep -v grep | grep -v PID | awk '{print $2}'|xargs kill -9
  35. echo " OK"
  36. # [ $RETVAL -eq 0 ] && rm -f /var/lock/...
  37. return $RETVAL
  38. fi
  39. }
  40.  
  41. case "$1" in
  42. start)
  43. start
  44. ;;
  45. stop)
  46. stop
  47. ;;
  48.  
  49. restart)
  50. echo $"Restaring Tomcat"
  51. $0 stop
  52. sleep 1
  53. $0 start
  54. ;;
  55. *)
  56. echo $"Usage: $0 {start|stop|restart}"
  57. exit 1
  58. ;;
  59. esac
  60. 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脚本文件,输入以下代码:

  1. #!/bin/bash
  2.  
  3. #
  4.  
  5. # nginx - this script starts and stops the nginx daemin
  6.  
  7. #
  8.  
  9. # chkconfig: - 85 15
  10.  
  11. # description: Nginx is an HTTP(S) server, HTTP(S) reverse
  12.  
  13. # proxy and IMAP/POP3 proxy server
  14.  
  15. # processname: nginx
  16.  
  17. # config: /usr/local/nginx/conf/nginx.conf
  18.  
  19. # pidfile: /usr/local/nginx/logs/nginx.pid
  20.  
  21. # Source function library.
  22.  
  23. . /etc/rc.d/init.d/functions
  24.  
  25. # Source networking configuration.
  26.  
  27. . /etc/sysconfig/network
  28.  
  29. # Check that networking is up.
  30.  
  31. [ "$NETWORKING" = "no" ] && exit 0
  32. ## Nginx路径
  33. nginx="/opt/app/nginx/sbin/nginx"
  34.  
  35. prog=$(basename $nginx)
  36. ## Nginx配置文件路径
  37. NGINX_CONF_FILE="/opt/app/nginx/conf/nginx.conf"
  38.  
  39. lockfile=/var/lock/subsys/nginx
  40.  
  41. start() {
  42.  
  43. [ -x $nginx ] || exit 5
  44.  
  45. [ -f $NGINX_CONF_FILE ] || exit 6
  46.  
  47. echo -n $"Starting $prog: "
  48.  
  49. daemon $nginx -c $NGINX_CONF_FILE
  50.  
  51. retval=$?
  52.  
  53. echo
  54.  
  55. [ $retval -eq 0 ] && touch $lockfile
  56.  
  57. return $retval
  58.  
  59. }
  60.  
  61. stop() {
  62.  
  63. echo -n $"Stopping $prog: "
  64.  
  65. killproc $prog -QUIT
  66.  
  67. retval=$?
  68.  
  69. echo
  70.  
  71. [ $retval -eq 0 ] && rm -f $lockfile
  72.  
  73. return $retval
  74.  
  75. }
  76.  
  77. restart() {
  78.  
  79. configtest || return $?
  80.  
  81. stop
  82.  
  83. start
  84.  
  85. }
  86.  
  87. reload() {
  88.  
  89. configtest || return $?
  90.  
  91. echo -n $"Reloading $prog: "
  92.  
  93. killproc $nginx -HUP
  94.  
  95. RETVAL=$?
  96.  
  97. echo
  98.  
  99. }
  100.  
  101. force_reload() {
  102.  
  103. restart
  104.  
  105. }
  106.  
  107. configtest() {
  108.  
  109. $nginx -t -c $NGINX_CONF_FILE
  110.  
  111. }
  112.  
  113. rh_status() {
  114.  
  115. status $prog
  116.  
  117. }
  118.  
  119. rh_status_q() {
  120.  
  121. rh_status >/dev/null 2>&1
  122.  
  123. }
  124.  
  125. case "$1" in
  126.  
  127. start)
  128.  
  129. rh_status_q && exit 0
  130.  
  131. $1
  132.  
  133. ;;
  134.  
  135. stop)
  136.  
  137. rh_status_q || exit 0
  138.  
  139. $1
  140.  
  141. ;;
  142.  
  143. restart|configtest)
  144.  
  145. $1
  146.  
  147. ;;
  148.  
  149. reload)
  150.  
  151. rh_status_q || exit 7
  152.  
  153. $1
  154.  
  155. ;;
  156.  
  157. force-reload)
  158.  
  159. force_reload
  160.  
  161. ;;
  162.  
  163. status)
  164.  
  165. rh_status
  166.  
  167. ;;
  168.  
  169. condrestart|try-restart)
  170.  
  171. rh_status_q || exit 0
  172.  
  173. ;;
  174.  
  175. *)
  176.  
  177. echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
  178.  
  179. exit 2
  180.  
  181. esac  

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

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

Centos6.7配置Nginx+Tomcat简单整合的更多相关文章

  1. CentOS6.5 简单配置Nginx + tomcat

    1.配置nginx.conf vi /usr/local/nginx/conf/nginx.conf --这是你的安装目录 注:红框地方为任意位置,server在配置文件中已存在 我使用的是两个tom ...

  2. Centos6下实现Nginx+Tomcat实现负载均衡及监控

    在性能测试过程中,我们可能会关注很多指标,比如CPU.IO.网络.磁盘等,通过这些指标大致可以判断哪个环节遇到了性能瓶颈,但是当这些指标无法判断出性能瓶颈时,我们可能就需要对一些中间件进行监控,比如N ...

  3. 注意这几点,轻轻松松配置 Nginx + Tomcat 的集群和负载均衡

    Tomcat 集群是当单台服务器达到性能瓶颈,通过横向扩展的方式提高整体系统性能的有效手段.Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,可以通过简单的配置实现 Tomcat 集群 ...

  4. 服务发现之consul理论整理_结合Docker+nginx+Tomcat简单部署案例

    目录 一.理论概述 服务发现的概念简述 consul简述 二.部署docker+consul+Nginx案例 环境 部署 三.测试 四.总结 一.理论概述 服务发现的概念简述 在以前使用的是,N台机器 ...

  5. linux下项目上线配置nginx+tomcat

    nginx.conf server { listen 80; server_name www.examples.com; client_max_body_size 300m; #charset koi ...

  6. 配置nginx+tomcat支持websocket

    问题情景:    最近开发新增加一个项目,需要支持https wss协议 访问https://test.aa.com  使用nginx反向代理到后端tomcat web应用 访问https://tes ...

  7. Linux(Centos6.8)配置Nginx环境

    1.环境配置 操作系统:centos6.8 [root@host79 ~]# uname -a Linux host79.pluto 2.6.32-642.el6.x86_64 #1 SMP Tue ...

  8. Centos6.5 配置Nginx开机自启动

    1.在/etc/init.d/目录下创建 nginx 文件,内容如下: #!/bin/sh # # nginx - this script starts and stops the nginx dae ...

  9. Nginx+Tomcat简单负载均衡

    Nginx,Apache安装完成 复制Tomcat:    tomcat-8080    tomcat-8081 启动Tomcat8080: cd /usr/local/tomcat-8080/bin ...

随机推荐

  1. ac自动机板子

    hdu2222 #include<bits/stdc++.h> #define ll long long #define M 500005 using namespace std; int ...

  2. warning: rpmts_HdrFromFdno: Header V4 DSA/SHA1 Signature, key ID 192a7d7d: NOKEY

    症状描述: 使用yum安装软件时报如下错误: warning: rpmts_HdrFromFdno: Header V4 DSA/SHA1 Signature, key ID 192a7d7d: NO ...

  3. 微信小程序之跨界面传参

    微信小程序在两个之间传参类似js传递url拼接参数,举个例子来说吧 input自己设置参数 //index.wxml <form bindsubmit="formSubmit" ...

  4. 19) maven 项目结构:聚集

    Project Aggregation [,æɡrɪ'ɡeɪʃən] https://maven.apache.org/guides/introduction/introduction-to-the- ...

  5. js常见input校验

    //校验输入价格等,保留2位小数 function clearNoNum(obj){ obj.onkeyup = function(event){ var e = event || window.ev ...

  6. Shell编程-12-Shell脚本规范及调试

    目录 Shell脚本规范 Shell脚本调试 Shell脚本规范     良好的代码规范不仅方便阅读,也利于维护和提升开发效率.因此建议大家在编写Shell脚本时养成良好的代码习惯.今天就和大家探讨一 ...

  7. Yarn的资源隔离机制

    源调度和资源隔离是YARN作为一个资源管理系统,最重要和最基础的两个功能.资源调度由ResourceManager完成,而资源隔离由各个NodeManager实现,在文章“Hadoop YARN中内存 ...

  8. Swift3 重写一个带占位符的textView

    class PlaceStrTextView: UIView,UITextViewDelegate{ var palceStr = "即将输入的信息" //站位文字 var inp ...

  9. MCU_存储器

    MCU的存储器用途: RAM:数据存储器,和计算机的内存差不多,主要是用来存放程序运行产生的过程数据,掉电后会丢失数据,因此程序在上电后需要进行初始化.程序中的全局变量占据着RAM中的固定空间,局部变 ...

  10. 缓存中使用的ReentrantReadWriteLock锁

    java中提供了lock锁,简便了设计缓存,下面程序主要是使用读写锁的应用.... import java.util.HashMap; import java.util.Map; import jav ...