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 ...
随机推荐
- Codeforces Round #513 by Barcelona Bootcamp C. Maximum Subrectangle(双指针+思维)
https://codeforces.com/contest/1060/problem/C 题意 给两个数组,a数组有n个元素,b数组有m个元素,两个数组元素互相相乘形成n*m的矩阵,找一个子矩阵,元 ...
- date 工具类
package lizikj.bigwheel.common.vo.merchandise.util; import java.text.DateFormat; import java.text.Pa ...
- Andrew机器学习第一课
批梯度下降算法: 训练样本为一个时:更新Θi 让代价函数最小,利用沿梯度下降方向函数会变得越来越小.这个函数是代价函数J关于(Θi )的.这里并没有在讨论x,y. 关于为什么式子(图是复制的 ...
- gitlab常用命令
进入本地仓库访问位置之后执行命令 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote ...
- oracle 数据库io 异常,错误代码17002 解决办法
数据库使用一个月了,突然挂掉:错误代码17002 io异常:read timeout 解决: 1.登陆sql命令窗口 [oracle@hostname ~]$ sqlplus /nolog SQL*P ...
- linux ps查进程 kill关闭进程
原文链接:http://blog.sina.com.cn/s/blog_53855ace0100ded4.html 首先,我们需要使用linux下另外一个ps命令查找与进程相关的PID号:ps aux ...
- 传输层TCP
/*************************************************************************************************** ...
- 【笔记】CSS选择器整理(IE低版本支持性测试)
时间:2015.05.11 参考附件:css选择器.xmind(网友共享) 查看链接:http://www.w3school.com.cn/cssref/css_selectors.asp htt ...
- OkHttp3几个简单的例子和在子线程更新UI线程的方法
okHttp用于android的http请求.据说很厉害,我们来一起尝尝鲜.但是使用okHttp也会有一些小坑,后面会讲到如何掉进坑里并爬出来. 首先需要了解一点,这里说的UI线程和主线程是一回事儿. ...
- Java安全技术
分类 Java平台安全,即JRE安全 开发Java程序(普通程序,服务,applet)安全,即提供安全的开发工具和服务. 用法 用签名和安全策略控制远程的资源访问