基于阿里云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. Spring MVC 配置文件

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  2. git post-receive 待验证的代码

    使用 git post-receive 钩子部署服务端代码 本站文章除注明转载外,均为本站原创或者翻译. 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商: ...

  3. 简单引入logback

    pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w ...

  4. 设计模式19:Chain Of Responsibility 职责链模式(行为型模式)

    Chain Of Responsibility 职责链模式(行为型模式) 请求的发送者与接受者 某些对象请求的接受者可能有多种多样,变化无常…… 动机(Motivation) 在软件构建过程中,一个请 ...

  5. EF6 CodeFisrt支持Oracle

    EF6 CodeFisrt支持Oracle EF说是支持多数据库,但真做起来太多坑了,编程这个词以后要换换,叫填坑好了.这次把我在做EF6 CodeFisrt支持Oracle数据库过程中遇到的坑写下来 ...

  6. CodeForces 907F Power Tower(扩展欧拉定理)

    Priests of the Quetzalcoatl cult want to build a tower to represent a power of their god. Tower is u ...

  7. Apache Shiro 10分钟之旅!

    欢迎来到Apache Shiro 10分钟之旅! 希望通过这个简单.快速的示例,可以让你对应用程序中使用Shiro有个深入的了解.嗯,10分钟你应该可以搞定它. 概述 Apache Shiro是什么? ...

  8. Android-Spinner下拉列表

    在布局Layout文件中定义Spinner: <?xml version="1.0" encoding="utf-8"?> <LinearLa ...

  9. Java中的多态方法

    public class Main { public void test(Object o) { System.out.println("Object"); } public vo ...

  10. jQUery 常用实例

    1. 如何创建嵌套的过滤器 //允许你减少集合中的匹配元素的过滤器, //只剩下那些与给定的选择器匹配的部分.在这种情况下, //查询删除了任何没(:not)有(:has) //包含class为“se ...