[置顶] (四)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 安装Tomcat和JDK 以及 Nginx与Tomcat整合

时间:2023-01-12 16:41:16

因为在网上发现系统性、严谨(特别是在安全方面)的Linux部署方面的参考文章很少,于是整理以下六篇Linux环境部署的系列性文章,其为本人在实践中,完整的搭建一个基于Linux系统上Centos+Nginx+Tomcat+Mysql+FTP的操作文档,梳理记录如下,特别是在实践中碰到的各种问题和容易出错的地方,都做了重要标注和提醒(踩过的那些坑,我都特别标注出来);希望对于那些想要系统地完整搭建Linux环境的程序员们一个系统性的参考。但因大部分都是边搭建边记录下的操作,必定有所疏漏,还望见谅; 如有问题和意见请帮忙在后面的评论中指出,万分感谢!另整个搭建的过程中参考了网上许多优秀博主的优秀实践,在文中末尾或者其他适当的地方都有所标注,如有必要,你可以按参考的链接阅读参考的原文章。本文档一共分为6篇,这6个部分分别是:

1、(一)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - FTP安装

2、(二)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 防火墙配置

3、(三)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - Nginx环境搭建

4、(四)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 安装Tomcat和JDK 以及 Nginx与Tomcat整合

5、(五)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - Mysql 安装

6、(六)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 一些常用命令总结

这篇系列性文章将会在以后的实践中持续地做修正和更新。

(在整理和记录这些文档的时候,对于我这个曾经从来不写博客的程序员来说,我发现的确收获良多,首先最重要的是对我的知识结构进行了一次重要的梳理和总结;另外,让我的思维和逻辑更加缜密;第三,强化和加深记忆;四,共享和分享的精神。

最后,希望对你有用。)



(四)安装TomcatJDK 以及 NginxTomcat整合


安装Tomcat和JDK

JDKserver-jre-7u75-linux-x64.gz

Tomcat: apache-tomcat-7.0.59.tar.gz

 

1、上传apache-tomcat-7.0.59.tar.gzserver-jre-7u75-linux-x64.gz/usr/local


2、执行如下命令安装tomcat

1.#cd /usr/local

2.#tar -zxvf apache-tomcat-7.0.59.tar.gz

解压完成后将apache-tomcat-7.0.59重命名为tomcat7

3、创建tomcat用户,用来运行tomcat服务:

在生产环境用 root是不安全的,所以 

#useradd -s /sbin/nologin tomcat

#chown -R tomcat:tomcat /usr/local/tomcat7


3、执行如下解压安装JDK:

1、查看目前系统的jdkrpm -qa | grepjdk

卸载掉自带openjdk

 [root@localhost~]# yum -y remove java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

[root@localhost~]# yum -y remove java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

 

2.# tar –zxvf server-jre-7u75-linux-x64.gz

解压完成后将server-jre-7u75重命名为jdk7

 

4、配置环境变量:
编辑/etc下的profile文件vi /etc/profile,加上如下内容:

#JDKhome

JAVA_HOME="/usr/local/jdk7"

CLASS_PATH="$JAVA_HOME/lib:$JAVA_HOME/jre/lib"

PATH=".:$PATH:$JAVA_HOME/bin"

#Tomcat home

CATALINA_HOME="/usr/local/tomcat7"

export JAVA_HOME CATALINA_HOME

 

5source/etc/profile使设置生效。(或者#. /etc/profile或者#sh /etc/profile!或者#reboot命令重启Linux,

java –version查看jdk是否设置成功

 

6、启动tomcat: [root@localhostbin]# /usr/local/tomcat7/bin/startup.sh

并输入http://localhost:8080,如果看到猫页面即tomcatjdk安装成功


7
、新建文件目录/www为网站存放目录,设置server.xml文件,在Host name="localhost"处将appBase=的指向路径改为”/www”
8
、创建index.jsp/www/,内容为:“My web!”   

 

9、设置开机启动Tomcat

[root@localhost ~]#vi/etc/init.d/tomcat(将新建文件,输入下面的代码)

 

#!/bin/bash

#

# tomcatd     This shell script takes care of starting and stopping

#            standalone tomcat

#

# chkconfig: 345 91 10

# description: tomcat service

# processname: tomcatd

# config file:

# Source function library.

. /etc/rc.d/init.d/functions

 

# Source networking configuration.

. /etc/sysconfig/network

 

# Check that networking is up.

[ ${NETWORKING} = "no" ] &&exit 0

 

prog=tomcatd

 

export JAVA_HOME=/usr/local/jdk7

export CATALINA_HOME=/usr/local/tomcat7

PATH=$PATH:$JAVA_HOME/bin

 

STARTUP=$CATALINA_HOME/bin/startup.sh

SHUTDOWN=$CATALINA_HOME/bin/shutdown.sh

 

if [ ! -f $CATALINA_HOME/bin/startup.sh ]

then

       echo "CATALINA_HOME for tomcatd not available"

       exit

fi

 

start() {

        #Start daemons.

 

              echo-n $"Startting tomcat service: "

       daemon $STARTUP

       RETVAL=$?

       return $RETVAL

}

 

stop() {

        #Stop daemons.

       echo -n $"Stoping tomcat service: "

       $SHUTDOWN

              RETVAL=$?

       return $RETVAL

}

 

# See how we were called.

case "$1" in

       start)

              start

              ;;

       stop)

       stop

       ;;

       restart|reload)

        stop

       start

       RETVAL=$?

       ;;

       status)

       status $prog

       RETVAL=$?

       ;;

       *)

              echo$"Usage: $0 {start|stop|restart|status}"

       exit 1

 

esac

exit $RETVAL

             

             

 

:wq  保存并退出

同样的,设置文件的访问权限:

chmod a+x /etc/init.d/tomcat  (a+x ==> all user can execute 所有用户可执行)

chmod 755  /etc/init.d/tomcat当前用户读写执行,其它读+执行))

同样的,将此命令加入到rc.local文件中,这样开机的时候tomcat就默认启动了

vi /etc/rc.local

加入一行  /etc/init.d/tomcat start   保存并退出,下次重启会生效

(也可以使用如下方式:chkconfig --add tomcat

 

参考:

chmod755  /etc/init.d/tomcat当前用户读写执行,其它读+执行

chkconfig--add tomcat

chkconfigtomcat on

chkconfig--list tomcat

显示: 

tomcat 0:off1:off 2:on 3:on 4:on 5:on 6:off确认2~5on状态就OK

启动Tomcat

service tomcatstart

 


 

Nginx与Tomcat整合

  

实现的效果和达到的目的为:

1、有两个域名www.aaa.com www.bbb.com 分别对应两个两个不同的网站,但是公用同一个Nginx和Tomcat服务器;

2、所有的JSP等动态内容转发到Tomcat处理,js、图片等直接由Nginx负责处理;

3、上传的图片不在应用的根目录下面,需要另外指定转发(Nginx Alias 虚拟目录)


Tomcat 配置:server.xml

<Host name="www.aaa.com"  appBase="/data/www"

           unpackWARs="true" autoDeploy="true">

        <Context path="/" docBase="/data/www/aaa"  debug="0"reloadable="true"></Context>

…. ….

 

<Host name="www.bbb.com"  appBase="/data/www"

   unpackWARs="true" autoDeploy="true">

<Context path="/"docBase="/data/www/bbb" debug="0" reloadable="true"></Context>

… ….

 

 

编辑Nginx安装目录下conf文件夹中的nginx.conf

server {

   listen       80;

   server_name www.aaa.com aaa.com;

    root/data/www/aaa; #设定网站的资源存放路径

    indexindex.html index.htm index.jsp;

 

   #charset utf-8;

   access_log  /var/log/nginx/aaa.access.log  main;

 

    location / {

       index index.html index.htm index.jsp;

       root /data/www/aaa;

       proxy_set_header Host www.aaa.com; #此参数指向tomcatserver.xml中配置的Host name,以转发给不同的Host处理.

       proxy_pass http://127.0.0.1:8080;

    }

 

   location ~ /Image/ {  #只有这种(加“~)才奏效

      root /data/www/;

    }

 

   #location ~ .*.jsp$ { #所有jsp的页面均交由tomcat处理

   #     index index.jsp;

   #     proxy_pass http://127.0.0.1:8080; #转向tomcat处理

   # }

 

   location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$  #设定访问静态文件直接读取不经过tomcat

    {

       expires      30d;

    }

   location ~ .*\.(js|css)?$

    {

       expires      1h;

    }

…….

…….

}

 

 

 

server {

   listen       80;

   server_name  www.bbb.com;

    root/data/www/bbb; #设定网站的资源存放路径

    indexindex.html index.htm index.jsp;

 

   #charset utf-8;

   access_log  /var/log/nginx/bbb.access.log  main;

 

   location / {

       index index.html index.htm index.jsp;

       root /data/www/bbb;

       proxy_set_header Host www.bbb.com;

       proxy_pass http://127.0.0.1:8080;

    }

 

   #location ~ .*.jsp$ { #所有jsp的页面均交由tomcat处理

   #     index index.jsp;

   #     proxy_pass http://127.0.0.1:8080; #转向tomcat处理

   # }

 

   location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$  #设定访问静态文件直接读取不经过tomcat

    {

        expires     30d;

    }

   location ~ .*\.(js|css)?$

    {

       expires      1h;

}

 

… ….

 

 

重启tomcat

[root@localhost BlueSky]# service tomcatrestart

重启nginx

[root@localhost BlueSky]# service nginx restart

 

 

http://www.blogjava.net/libin2722/articles/355631.html

http://www.ha97.com/5194.html《总结:Nginx配置文件nginx.conf详解》

http://jingyan.baidu.com/article/ff41162593636412e5823752.html

http://wuyanzan60688.blog.163.com/blog/static/127776163201342111255841/

Nginx 设置 alias 实现虚拟目录 alias root 的用法区别 http://down.chinaz.com/server/201111/1382_1.htm

WINDOWS 2008Server配置nginx 反向代理服务器http://www.cnblogs.com/dyllove98/p/4093624.html

 

 

 

参考文献:

http://www.osyunwei.com/archives/8867.html

http://www.linuxidc.com/Linux/2013-09/89768.htm

http://www.myhack58.com/Article/sort099/sort0102/2011/29463.htm

http://www.blogjava.net/libin2722/articles/355631.html

http://blog.csdn.net/yincg/article/details/8756711

http://blog.csdn.net/dzl84394/article/details/8202361

 

http://www.lvtao.net/server/centos-nginx-tomcat-jdk.html

 

http://491569462-qq-com.iteye.com/blog/1948433tomcat自动启动

http://www.ha97.com/5194.html《总结:Nginx配置文件nginx.conf详解》

 

 



因为在网上发现系统性、严谨(特别是在安全方面)的Linux部署方面的参考文章很少,于是整理以下六篇Linux环境部署的系列性文章,其为本人在实践中,完整的搭建一个基于Linux系统上Centos+Nginx+Tomcat+Mysql+FTP的操作文档,梳理记录如下,特别是在实践中碰到的各种问题和容易出错的地方,都做了重要标注和提醒(踩过的那些坑,我都特别标注出来);希望对于那些想要系统地完整搭建Linux环境的程序员们一个系统性的参考。但因大部分都是边搭建边记录下的操作,必定有所疏漏,还望见谅; 如有问题和意见请帮忙在后面的评论中指出,万分感谢!另整个搭建的过程中参考了网上许多优秀博主的优秀实践,在文中末尾或者其他适当的地方都有所标注,如有必要,你可以按参考的链接阅读参考的原文章。本文档一共分为6篇,这6个部分分别是:

1、(一)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - FTP安装

2、(二)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 防火墙配置

3、(三)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - Nginx环境搭建

4、(四)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 安装Tomcat和JDK 以及 Nginx与Tomcat整合

5、(五)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - Mysql 安装

6、(六)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 一些常用命令总结

这篇系列性文章将会在以后的实践中持续地做修正和更新。

(在整理和记录这些文档的时候,对于我这个曾经从来不写博客的程序员来说,我发现的确收获良多,首先最重要的是对我的知识结构进行了一次重要的梳理和总结;另外,让我的思维和逻辑更加缜密;第三,强化和加深记忆;四,共享和分享的精神。

最后,希望对你有用。)