因为在网上发现系统性、严谨(特别是在安全方面)的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) - 一些常用命令总结

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

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

最后,希望对你有用。)

(四)安装Tomcat和JDK 以及 Nginx与Tomcat整合

安装Tomcat和JDK

JDK:server-jre-7u75-linux-x64.gz

Tomcat: apache-tomcat-7.0.59.tar.gz

1、上传apache-tomcat-7.0.59.tar.gz和server-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、查看目前系统的jdk,rpm -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

5、source/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,如果看到猫页面即tomcat和jdk安装成功

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~5为on状态就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) - 一些常用命令总结

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

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

最后,希望对你有用。)

相关视频课程推荐《站长必修课:网站是怎样做出来的?》https://edu.51cto.com/sd/3be5b

(四)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 安装Tomcat和JDK 以及 Nginx与Tomcat整合相关推荐

  1. (六)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 常用命令总结

    因为在网上发现系统性.严谨(特别是在安全方面)的Linux部署方面的参考文章很少,于是整理以下六篇Linux环境部署的系列性文章,其为本人在实践中,完整的搭建一个基于Linux系统上Centos+Ng ...

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

    因为在网上发现系统性.严谨(特别是在安全方面)的Linux部署方面的参考文章很少,于是整理以下六篇Linux环境部署的系列性文章,其为本人在实践中,完整的搭建一个基于Linux系统上Centos+Ng ...

  3. Linux环境部署(Deepin系统)

    Linux环境部署(Deepin系统) 文章目录 Linux环境部署(Deepin系统) 安装JDK 应用添加菜单项 修改Hosts文件 安装maven 安装Docker-Desktop 1.安装My ...

  4. 【原创】企业级Linux环境部署(很全、很细)

       [原创不易,转载请注明] <Linux环境部署手册> 企业级Linux环境部署过程,笔者独家整理提供!细到没朋友... 学废了要记得点赞.关注.收藏奥! 关于本文 本文着重详细说明在 ...

  5. Linux环境部署node服务并启动

    Linux环境部署node 一.node下载与安装 1.node下载 2.通过XFTP把下载下来的包传到服务器上 3.解压包 4.建立软链接 二.使用PM2启动node 1.为什么要使用PM2 2.安 ...

  6. Linux 环境部署|Anaconda及Tensorflow

    Linux 环境部署|Anaconda及Tensorflow Linux系统python虚拟环境及HanLP部署(https://duanzhihua.blog.csdn.net/article/de ...

  7. 在Linux环境(Centos 7)安装JAVA jdk1.8

    在Linux环境(Centos 7)安装jdk1.8,有以下两种方式 方式一.安装openjdk yum install java-1.8.0-openjdk* -y 方式二.使用wget下载安装JD ...

  8. 就Java开发的Linux环境,进行完整版的安装,多适用于小白

    本篇博客就Java开发的Linux环境,进行完整版的安装,多适用于小白,当然接受大佬点评: 这是在全新的Linux centOS7.6的系统进行,安装手法以及命令都是根据过往个人操作手法以及经验学习而 ...

  9. win下nginx+php+mysql服务器套装_WNMP(Windows+Nginx+PHP+MySQL)安装

    这篇文章介绍的内容是关于WNMP(Windows + Nginx + PHP + MySQL) 安装,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 最近在开发一个新的项目,环境用的是: ...

最新文章

  1. 设置SharePoint部门站点各个文件夹的权限
  2. tomcat正常启动但是访问 404
  3. 中国产业园区发展动态及前景趋势规划建议报告2022-2028年版
  4. WebApi中跨域解决办法
  5. python如何输出百分比的数字_Python如何输出百分比
  6. linux vim 到底,真的有(很多)linux大牛用vim写项目吗?
  7. python list 实现原理,Python 列表(List)的底层实现原理分析
  8. 拿来就能用!如何用 AI 算法提高安全运维效率? | 技术头条
  9. tab切换中的滚动条下拉分页带来的问题
  10. java发送email_java发送email一般步骤(实例讲解)
  11. 毕设题目:Matlab图像拼接
  12. Python练习题参考
  13. HTML框架分析及应用
  14. PS如何压缩图片而不失真
  15. Java中double转String
  16. CodeLite 15.0.0+ Clang 编译器 build失败
  17. 圣诞节来了,用Python Turtle画棵圣诞树吧
  18. mysql ndb 关闭_MySQL NDB Cluster环境启动与关闭
  19. 【spring里面都用到了哪些设计模式】
  20. 全新的Nuke 13 mac版来啦!nuke13全新功能 (支持big sur)

热门文章

  1. 并发编程之Disruptor框架介绍和高阶运用
  2. C++ 实现文件夹复制
  3. LWN:使用Rust实现OpenPGP,这就是Sequoia项目!
  4. python后端开发的缺点_前后端分离优缺点
  5. OCR识别文字是什么?了解一下如何使用
  6. Java面试题中高级,nasdocker有啥好玩的
  7. Ubuntu下查看显卡型号及NVIDIA驱动版本
  8. ios模拟器 - Simulator录制视频
  9. 6.6 在图表上显示最大值和最小值 [原创Excel教程]
  10. c++常见面试问题总结