基于阿里云Centos 7服务器的Tomcat 项目部署

工具:一台安装jdk1.8的Centos 6/7.X 云服务器(64位)

Putty  ssh远程连接云服务器的软件

FileZillaClient   本地机与服务器文件互传的软件

步骤一:Centos 7安装jdk1.8

1.putty 连接上云服务器

2进入到目录 /usr/local/ 中:

cd /usr/local/

3.创建目录 tools:

mkdir -p tools

4.进入到目录 /usr/local/tools 中:

cd tools/

5. 下载jdk-8u91-linux-x64.tar.gz

可以在官网上下载Linux -64 的jdk1.8,由FileZillaClient上传到服务器上

6. tools目录下解压缩

tar -zxvf jdk-8u91-linux-x64.tar.gz

7. 返回到上一级并创建 /usr/local/jdk 目录:

cd ..

mkdir -p jdk

8. 进入到 tools 目录后将 jdk1.8.0_91 移动到 jdk 目录中:

cd ../tools/

mv jdk1.8.0_91/ ../jdk/

9 配置环境变量(很重要)

打开 /etc/ 目录下的 profile 文件:

vi /etc/profile

将如下代码追加到 profile 文件末尾:

# idea - jdk8 settings start 2016-08-01

JAVA_HOME=/usr/local/jdk/jdk1.8.0_91(自己安装jdk的所在目录)

JRE_HOME=$JAVA_HOME/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jar

export JAVA_HOME JRE_HOME PATH CLASSPATH

# idea - jdk8 settings end - 2016-08-01

按 Esc 键、输入 wq! 回车,保持并退出。

10 即可启用新的配置:

source /etc/profile

11

输入 java -version 查看 JDK 的版本:

[root@iZ94hws2fzlZ jdk1.8.0_91]# java -version

java version "1.8.0_91"

Java(TM) SE Runtime Environment (build 1.8.0_91-b14)

Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

证明安装成功

注意:安装jdk尽量用root用户

步骤二安装Tomcat服务器:

1.putty连接云服务器

2 进入到目录 /usr/local/ 中:

cd /usr/local/

3 创建目录 /usr/local/tools,如果有则忽略:

mkdir -p tools

4 创建 /usr/local/tomcat 目录,如果已存在则忽略:

mkdir -p tomcat

5 进入到目录 /usr/local/tools 中:

cd tools/

6 下载 apache-tomcat-9.0.0.M4.tar.gz 文件:

Wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.0.M4/bin/apache-tomcat-9.0.0.M4.tar.gz

如果自动下载不能完成可以手动下载。去Tomcat官网下载相应版本的tar.gz包

7 解压缩 apache-tomcat-9.0.0.M4.tar.gz:

tar -zxvf apache-tomcat-9.0.0.M4.tar.gz

8 将通过解压得到的 apache-tomcat-9.0.0.M4 文件复制到 /usr/local/tomcat 目录中:

mv apache-tomcat-9.0.0.M4 ../tomcat/

9 打开文件 /etc 目录下的 profile 文件:(配置Tomcat环境变量)

vim /etc/profile

将如下代码追加到 profile 文件末尾:

# idea - tomcat9 config start - 2016-05-01

CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M4

CATALINA_BASE=/usr/local/tomcat/apache-tomcat-9.0.0.M4

PATH=$PATH:$CATALINA_BASE/bin

export PATH CATALINA_BASE

# idea - tomcat9 config end - 2016-05-01

保持并推出:wq!

10 修改 tomcat 的端口号和字符编码:

进入到 /usr/local/tomcat/apache-tomcat-9.0.0.M4/conf 目录中:

cd ../tomcat/apache-tomcat-9.0.0.M4/conf

打开 tomcat 服务的配置文件 server.xml:

vi server.xml

找到如下代码:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

将其中的 8080 改成 HTTP 协议的默认端口 80,改后的代码如下:

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />

11. 进入到 /usr/local/tomcat/apache-tomcat-9.0.0.M4/bin 目录中:

cd ../bin/

12. 打开 vi catalina.sh 文件:

在 # OS specific support. 前面加入如下代码:

JAVA_HOME=/usr/local/jdk/jdk1.8.0_91

JRE_HOME=$JAVA_HOME/jre

键入 Esc 并输入“:wq!”保持并退出;

13.启动 tomcat 服务:

./startup.sh

打印如下信息则表明启动 Tomcat 服务成功:

Using CATALINA_BASE:   /usr/local/tomcat/apache-tomcat-9.0.0.M4

Using CATALINA_HOME:   /usr/local/tomcat/apache-tomcat-9.0.0.M4

Using CATALINA_TMPDIR: /usr/local/tomcat/apache-tomcat-9.0.0.M4/temp

Using JRE_HOME:        /usr/local/jdk/jdk1.8.0_91/jre

Using CLASSPATH:       /usr/local/tomcat/apache-tomcat-9.0.0.M4/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-9.0.0.M4/bin/tomcat-juli.jar

Tomcat started.

打开浏览器输入 IP 地址看看吧!如果出现了我们的可爱的“小黄猫”则表明我们的 Tomcat 已提供服务啦!

14. 关闭 tomcat 服务:

./shutdown.sh

打印如下信息则表明关闭 Tomcat 服务成功:

Using CATALINA_BASE:   /usr/local/tomcat/apache-tomcat-9.0.0.M4

Using CATALINA_HOME:   /usr/local/tomcat/apache-tomcat-9.0.0.M4

Using CATALINA_TMPDIR: /usr/local/tomcat/apache-tomcat-9.0.0.M4/temp

Using JRE_HOME:        /usr/local/jdk/jdk1.8.0_91/jre

Using CLASSPATH:       /usr/local/tomcat/apache-tomcat-9.0.0.M4/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-9.0.0.M4/bin/tomcat-juli.jar

注意:不可连续执行多次 ./shutdown.sh 命令,多次后报如下错误:

SEVERE: Catalina.stop:

java.net.ConnectException: Connection refused

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)

at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)

at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)

at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

at java.net.Socket.connect(Socket.java:589)

at java.net.Socket.connect(Socket.java:538)

at java.net.Socket.<init>(Socket.java:434)

at java.net.Socket.<init>(Socket.java:211)

at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:476)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:408)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:497)

15 将 tomcat9 加入到系统服务列表中:

进入到 /etc/init.d 目录中:

cd /etc/init.d

创建 tomcat9 服务配置文件:

vi tomcat9

将如下代码加入写入到 tomcat9 配置文件中:

# idea - tomcat config start - 2016-05-01

#!/bin/bash

# description: Tomcat Start Stop Restart

# processname: tomcat

# chkconfig: 2345 20 80

JAVA_HOME=/usr/local/jdk/jdk1.8.0_91/

export JAVA_HOME

PATH=$JAVA_HOME/bin:$PATH

export PATH

CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M4/

case $1 in

start)

sh $CATALINA_HOME/bin/startup.sh

;;

stop)

sh $CATALINA_HOME/bin/shutdown.sh

;;

restart)

sh $CATALINA_HOME/bin/shutdown.sh

sh $CATALINA_HOME/bin/startup.sh

;;

esac

exit 0

#chmod 755 tomcat

#chkconfig --add tomcat

#chkconfig --level 2345 tomcat on

#chkconfig --list tomcat

# idea - tomcat config end - 2016-05-01

键入 Esc 并输入“:wq!”保持并退出;

其中的注意点是将 JAVA_HOME 和 CATALINA_HOME 变量设置成与我们当前配置相一致的路径;

16.为 tomcat9 分配可执行权限:

chmod +x tomcat9

17. 将 tomcat9 纳入到系统的服务列表中,即添加 tomcat9 为系统服务:

chkconfig --add tomcat9

18. 查看当前系统服务都有哪些:

chkconfig --list

也可以查看指定的系统服务,如这里我们指定 tomcat9 这个服务:

chkconfig --list tomcat9

打印如下信息:

tomcat9         0:off   1:off   2:on    3:on    4:on    5:on    6:off

则表明已将 tomcat9 设置为系统服务,2、3、4、5 都为 on 表示可随系统自动启动;

19 我们可以在任意目录下执行关闭、启动、重启 Tomcat9 服务啦:

19.1 关闭 tomcat9 服务:

service tomcat9 stop

19.2 启动 tomcat9 服务:

service tomcat9 start

19.3 重启 tomcat9 服务:

service tomcat9 restart

后记:(很重要)

关于Tomcat成功启动后,外网不能成功访问的解决:

第一个方面:Linux上启动防火墙的问题

当下比较流行的linux镜像是CentOS,所以防火墙也随之变成了firewall,那么怎么操作这个防火墙呢?

#停止firewall

systemctl stop firewalld.service

#开启firewall

systemctl start firewalld.service

#禁止firewall开机启动

systemctl disable firewalld.service

#查看默认防火墙状态(关闭后显示not running,开启后显示running)

firewall-cmd –state

但是开启的时候,可能报这个错

Failed to start firewalld.service: Unit firewalld.service is masked.

尝试

systemctl unmask firewalld.service

发现,防火墙已经关闭了,经过大量搜索发现,还可能是安全组的问题,经过测试,通了。

那么怎么来配置安全组呢?

1.登陆阿里云

2.进入安全组

“控制台” -> “云服务器 ECS” -> 选择云服务器 -> “更多” -> “安全组配置”

3.配置规则

“配置规则” -> “添加安全组规则”

4.配置8080端口

添加安全组规则

步骤三安装MySQL5.7:

1 通过 putty 连接到阿里云 CentOS7 服务器;

2 进入到目录 /usr/local/ 中:

cd /usr/local/

3 创建目录 /usr/local/tools,如果有则忽略:

mkdir -p tools

4 创建 /usr/local/mysql 目录,如果已存在则忽略:

mkdir -p mysql

5 进入到目录 /usr/local/tools 中:

cd tools/

6 查看系统中是否已安装 MySQL 服务:

rpm -qa | grep mysql

yum list installed | grep mysql

7 如果已安装则删除 MySQL 及其依赖的包:

yum -y remove mysql-libs.x86_64

8 下载 mysql57-community-release-el7-8.noarch.rpm 的 YUM 源:

wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

9 安装 mysql57-community-release-el7-8.noarch.rpm:

rpm -ivh mysql57-community-release-el7-8.noarch.rpm

安装完后,得到如下两个包:

mysql-community.repo

mysql-community-source.repo

10 安装 MySQL:

yum install mysql-server

遇到疑问的地方,一路 Y 下去即可;

安装完毕后,在  /var/log/mysqld.log 文件中会自动生成一个随机的密码,我们需要先取得这个随机密码,以用于登录 MySQL 服务端:

grep "password" /var/log/mysqld.log(有可能这个初始随机密码会没有)

打印如下内容:

A temporary password is generated for root@localhost: hilX0U!9i3_6

我们复制 root@localhost: 后面的随机字符串,这个字符串就是 MySQL 在安装完成后为我们随机生成的密码;

12 登录到 MySQL 服务端并更新用户 root 的密码:

mysql -u root -philX0U!9i3_6

打印出 MySQL 的版本即表明已登录;

设置用户 root 可以在任意 IP 下被访问:

grant all privileges on *.* to root@"%" identified by "新密码";

设置用户 root 可以在本地被访问:

grant all privileges on *.* to root@"localhost" identified by "新密码";

刷新权限使之生效:

flush privileges;

更新 MySQL 的用户 root的密码:

set password = password('新密码');

注意:由于 MySQL5.7 采用了密码强度验证插件 validate_password,故此我们需要设置一个有一定强度的密码;

输入 exit 后用新密码再次登录看看吧!

13 查看 MySQL 当前都内置了哪些数据库:

mysql> show databases;

我们发现其内置了如下一些数据库:

information_schema

mysql

performance_schema

sys

14 启动 MySQL 服务:

service mysqld start

15 关闭 MySQL 服务:

service mysqld stop

16 重启 MySQL 服务:

service mysqld restart

17 查看 MySQL 的状态:

service mysqld status

18 查看 MySQL 的字符集:

mysql> show variables like '%character%';

+--------------------------+----------------------------+

| Variable_name            | Value                      |

+--------------------------+----------------------------+

| character_set_client    | utf8                      |

| character_set_connection | utf8                      |

| character_set_database  | latin1                    |

| character_set_filesystem | binary                    |

| character_set_results    | utf8                      |

| character_set_server    | latin1                    |

| character_set_system    | utf8                      |

| character_sets_dir      | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

8 rows in set (0.01 sec)

查看指定的数据库中指定数据表的字符集,如查看 mysql 数据库中 servers 表的字符集:

show table status from mysql like '%servers%';

查看指定数据库中指定表的全部列的字符集,如查看 mysql 数据库中 servers 表的全部的列的字符集:

show full columns from servers;

19 设置 MySQL 的字符集为 UTF-8:

打开 /etc 目录下的 my.cnf 文件(此文件是 MySQL 的主配置文件):

/etc/my.cnf

在 [mysqld] 前添加如下代码:

[client]

default-character-set=utf8

在 [mysqld] 后添加如下代码:

character_set_server=utf8

再次查看字符集:

mysql> show variables like '%character%';

+--------------------------+----------------------------+

| Variable_name            | Value                      |

+--------------------------+----------------------------+

| character_set_client    | utf8                      |

| character_set_connection | utf8                      |

| character_set_database  | utf8                      |

| character_set_filesystem | binary                    |

| character_set_results    | utf8                      |

| character_set_server    | utf8                      |

| character_set_system    | utf8                      |

| character_sets_dir      | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

8 rows in set (0.01 sec)

20 /var/lib/mysql 是存放数据库文件的目录;

21 /var/log 目录下的 mysqld.log 文件记录 MySQL 的日志;

22 MySQL 采用的 TCP/IP 协议传输数据,默认端口号为 3306,我们可以通过如下命令查看:

netstat -anp

23 忘记密码时,可用如下方法重置:

# service mysqld stop

# mysqld_safe --user=root --skip-grant-tables --skip-networking &

# mysql -u root

mysql> use mysql;

mysql> update user set password=password("new_password") where user="root";

mysql> flush privileges;

Linux云服务器下Tomcat部署的更多相关文章

  1. Linux云服务器下Tomcat部署超详细

    基于阿里云Centos 7服务器的Tomcat 项目部署 工具:一台安装jdk1.8的Centos 6/7.X 云服务器(64位) Putty  ssh远程连接云服务器的软件 FileZillaCli ...

  2. 巧用linux云服务器下的的/dev/shm/,避开磁盘IO不给力!

    巧用linux云服务器下的的/dev/shm/,避开磁盘IO不给力! 一.什么是tmpfs和/dev/shm/? tmpfs是Linux/Unix系统上的一种基于内存的文件系统.tmpfs可以使用您的 ...

  3. linux服务器下tomcat部署项目内存溢出

    今天将一个项目部署到linux服务器上,结果tomcat在启动运行到一定时间后就报错.根据以往的经验,查了一些资料,终于解决了该问题并顺便解决了生产环境中的get方式中文传递乱码问题. tomcat启 ...

  4. Linux云服务器下Redis安装与部署以及设置redis后台运行

    Redis下载: http://redis.io/download 我下载的4.0.11 上传到服务器 注: 官方的建议是直接在linux下载并解压编译 这里不建议先解压再上传到服务器,之前我这样做, ...

  5. 云服务器 nginx + tomcat 部署集群 配置

    nginx.conf #user nobody; worker_processes ; #error_log logs/error.log; #error_log logs/error.log not ...

  6. LINUX云服务器 安装 nginx

    什么是nginx? 是一个高性能的 HTTP 和反向代理服务器,也是一个IMAP/POP3/SMTP 代理服, 是一个asynchronousservers异步服务器 为什么使用nginx? 因为它的 ...

  7. 前端搭建Linux云服务器,Nginx配置详解及部署自己项目到服务器上

    目录 搭建Linux云服务器 购买与基本配置 链接linux服务器 目录结构 基本命令 软件安装 Linux 系统启动 启动过程 运行级别 Nginx详解 1.安装 方式一:yum安装 方式二:自定义 ...

  8. 从零部署Spring boot项目到云服务器(正式部署)

    上一篇文章总结了在Linux云服务器上部署Spring Boot项目的准备过程,包括环境的安装配置,项目的打包上传等. 链接在这里:http://www.cnblogs.com/Lovebugs/p/ ...

  9. 记录centos7下tomcat部署war包过程

    记录centos7下tomcat部署war包过程 1.官网下载tomcat安装包.gz结尾的 2.上传到/usr/local/ ,并解压到tomcat目录下 3.进入tomcat/bin目录,运行./ ...

随机推荐

  1. C#中利用LINQ to XML与反射把任意类型的泛型集合转换成XML格式字符串

    在工作中,如果需要跟XML打交道,难免会遇到需要把一个类型集合转换成XML格式的情况.之前的方法比较笨拙,需要给不同的类型,各自写一个转换的函数.但是后来接触反射后,就知道可以利用反射去读取一个类型的 ...

  2. Perl 学习笔记-列表和数组

    笔记来自<<Perl语言入门第5版>> 1. Perl中列表指标量的有序集合,数组则是存储列表的变量, 这两个术语经常混用,不过更精确地说,列表指数据,而数组指变量.数组的表示 ...

  3. 001 KNN分类 最邻近算法

    1.文件5.0,3.5,1.6,0.6,apple5.1,3.8,1.9,0.4,apple4.8,3.0,1.4,0.3,apple5.1,3.8,1.6,0.2,apple4.6,3.2,1.4, ...

  4. Pandas -- Merge,join and concatenate

    Merge, join, and concatenate pandas provides various facilities for easily combining together Series ...

  5. 创建EDM

    在学习linq过程中,我们难免会要创建EDM,这里简单的介绍一下EDM的创建过程 图示如下: 1.右击→添加→新建项→数据→Ado.net实体数据模型 选择适当的数据库,表后点击完成,vs中会自动生成 ...

  6. a 标签 name 属性 页面定位 (一)

    a(§b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...

  7. MySQL中如何为查询的数据添加自增序号、顺序呢?

    背景介绍 很多时候我们在使用mysql查询数据的时候都会遇到一个问题,就是查询出来了一堆数据,但是查询的数据的表并没有序号,然而部分数据库显示工具是有外带序号显示,但是这种序号不是由sql产生的,而是 ...

  8. 通用性站点管理后台(Bee OPOA Platform) (5)- 【扩展】基于WebSocket的监视Sql执行功能

    开始 底层的东西总是很类似, 看了园里的Fish-Li的一系列文章, 写得真好, 无论是风格还是内容. 本来也想想方便点就用remoting实现监视功能算了, 但这样就需要一个Winform的项目了. ...

  9. Replication--复制笔记1

    1.快照复制和事务复制使用分发代理传递文件,而合并复制使用合并代理来传递文件2.快照代理在分发服务器上运行3.在创建快照是,根据复制的类型对发布表的加锁方式而不同    a)对应合并发布,快照代理不适 ...

  10. Nutch2.2.1,window,eclipse,安装

    教程:https://app.yinxiang.com/shard/s12/sh/36b8e911-2d0e-4ee4-b34f-a426c6dc99c2/9543f94cd8abf12b4b9857 ...