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简单整合到此完成了,其中很多配置方法并不唯一,选择自己喜欢的方式即可。
Centos6.7配置Nginx+Tomcat简单整合的更多相关文章
- CentOS6.5 简单配置Nginx + tomcat
1.配置nginx.conf vi /usr/local/nginx/conf/nginx.conf --这是你的安装目录 注:红框地方为任意位置,server在配置文件中已存在 我使用的是两个tom ...
- Centos6下实现Nginx+Tomcat实现负载均衡及监控
在性能测试过程中,我们可能会关注很多指标,比如CPU.IO.网络.磁盘等,通过这些指标大致可以判断哪个环节遇到了性能瓶颈,但是当这些指标无法判断出性能瓶颈时,我们可能就需要对一些中间件进行监控,比如N ...
- 注意这几点,轻轻松松配置 Nginx + Tomcat 的集群和负载均衡
Tomcat 集群是当单台服务器达到性能瓶颈,通过横向扩展的方式提高整体系统性能的有效手段.Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,可以通过简单的配置实现 Tomcat 集群 ...
- 服务发现之consul理论整理_结合Docker+nginx+Tomcat简单部署案例
目录 一.理论概述 服务发现的概念简述 consul简述 二.部署docker+consul+Nginx案例 环境 部署 三.测试 四.总结 一.理论概述 服务发现的概念简述 在以前使用的是,N台机器 ...
- linux下项目上线配置nginx+tomcat
nginx.conf server { listen 80; server_name www.examples.com; client_max_body_size 300m; #charset koi ...
- 配置nginx+tomcat支持websocket
问题情景: 最近开发新增加一个项目,需要支持https wss协议 访问https://test.aa.com 使用nginx反向代理到后端tomcat web应用 访问https://tes ...
- Linux(Centos6.8)配置Nginx环境
1.环境配置 操作系统:centos6.8 [root@host79 ~]# uname -a Linux host79.pluto 2.6.32-642.el6.x86_64 #1 SMP Tue ...
- Centos6.5 配置Nginx开机自启动
1.在/etc/init.d/目录下创建 nginx 文件,内容如下: #!/bin/sh # # nginx - this script starts and stops the nginx dae ...
- Nginx+Tomcat简单负载均衡
Nginx,Apache安装完成 复制Tomcat: tomcat-8080 tomcat-8081 启动Tomcat8080: cd /usr/local/tomcat-8080/bin ...
随机推荐
- ACM-ICPC 2018 徐州赛区网络预赛 J Maze Designer(最大生成树,倍增lca)
https://nanti.jisuanke.com/t/31462 要求在一个矩形中任意选两个点都有唯一的通路,所以不会建多余的墙. 要求满足上述情况下,建墙的费用最小.理解题意后容易想到首先假设全 ...
- CentOS7 安装可视化脚本安装包Webmin
一.简介 Webmin是一个基于Web的Linux系统管理界面.你就可以通过图形化的方式设置用户账号.Apache.DNS.文件共享等服务. 二.安装 1.下载安装包到本地Windows系统 http ...
- UVa 1610 Party Games(思维)
题意: 给出一系列字符串,构造出一个最短字符串(可以不在集合中)大于等于其中的一半,小于另一半. 析:首先找出中间的两个字符串,然后暴力找出最短的字符串,满足题意. 代码如下: #include &l ...
- 阿里云oss怎么上传文件夹
最近公司在做工程项目,实现文件夹云存储上传 网上找了很久,发现很多项目都存在一些问题,但还是让我找到了一个成熟的项目. 工程: 对项目的文件夹云存储上传功能做出分析,找出文件夹上传的原理,对文件夹的云 ...
- leaflet入门(四)API翻译(上)
L.Map L.Marker L.Popup L.Map API各种类中的核心部分,用来在页面中创建地图并操纵地图. Constructor(构造器) 通过div元素和带有地图选项的描述的文字对象来实 ...
- 基于udp协议的套接字,socketserver模块,多道技术,进程理论
进程指的是一个正在进行/运行的程序,进程是用来描述程序执行过程的虚拟概念 进程vs程序 程序:一堆的代码 进程:程序执行的过程 进程的概念起源于操作系统,进程是操作系统最核心的概念,操作系统的其他所有 ...
- hive sql 查询一张表的数据不在另一张表中
有时,我们需要对比两张表的数据,找到在其中一张表,不在另一张表中的数据 hql 如下: SELECT * FROM (SELECT id FROM a WHERE dt = '2019-03-17' ...
- ASP.NET Web API 框架研究 ASP.NET Web API 路由
ASP.NET Web API 核心框架是一个独立的.抽象的消息处理管道,ASP.NET Web API有自己独立的路由系统,是消息处理管道的组成部分,其与ASP.NET路由系统有类似的设计,都能找到 ...
- 笑话库存加网址http://www.jokeji.cn/list18_11.htm
19.富二代王晓伟成绩很差,老爸想给他找个家教老爸:“儿子,想找什么样的家教啊?”儿子:“要漂亮的,女的,衣服不能太保守,花样要多!”老爸:“儿子,你TM指的是岛国的苍老师吗?”@呦呦ta爹 20.哥 ...
- CentOS中自动加载802.1q模块
要想在CentOS中自动加载内核模块,需要在/etc/sysconfig/modules/目录中增加一个脚本,在此脚本中加载所需的模块. 下面是我所用的一个名为8021q.modules的脚本,用来在 ...