大佬教程收集整理的这篇文章主要介绍了Linux云服务器下Tomcat部署超详细,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
基于阿里云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:
@H_328_18@mkdir -p tools4.进入到目录 /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/
@H_328_18@mv jdk1.8.0_91/ ../jdk/9 配置环境变量(很重要)
打开 /etc/ 目录下的 profile 文件:
vi /etc/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 的版本:
[[email protected] 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
# 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!
进入到 /usr/local/tomcat/apache-tomcat-9.0.0.M4/conf 目录中:
cd ../tomcat/apache-tomcat-9.0.0.M4/conf
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 已提供服务啦!
./shutdown.sh
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
vi tomcat9
# idea - tomcat config start - 2016-05-01
#!/bin/bash
# description: tomcat Start Stop Restart
# processname: tomcat
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 --level 2345 tomcat on
# idea - tomcat config end - 2016-05-01
键入 Esc 并输入“:wq!”保持并退出;
其中的注意点是将 Java_HOME 和 CATALINA_HOME 变量设置成与我们当前配置相一致的路径;
16.为 tomcat9 分配可执行权限:
chmod +x tomcat9
17. 将 tomcat9 纳入到系统的服务列表中,即添加 tomcat9 为系统服务:
18. 查看当前系统服务都有哪些:
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.2 启动 tomcat9 服务:
19.3 重启 tomcat9 服务:
后记:(很重要)
第一个方面: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,如果有则忽略:
@H_328_18@mkdir -p tools
4 创建 /usr/local/MysqL 目录,如果已存在则忽略:
@H_328_18@mkdir -p MysqL
5 进入到目录 /usr/local/tools 中:
cd tools/
6 查看系统中是否已安装 MysqL 服务:
rpm -qa | grep MysqL
或
yum list installed | grep 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
10 安装 MysqL:
yum install MysqL-server
遇到疑问的地方,一路 Y 下去即可;
安装完毕后,在 /var/log/MysqLd.log 文件中会自动生成一个随机的密码,我们需要先取得这个随机密码,以用于登录 MysqL 服务端:
grep "password" /var/log/MysqLd.log(有可能这个初始随机密码会没有)
打印如下内容:
A temporary password is generated for [email protected]: hilX0U!9i3_6
我们复制 [email protected]: 后面的随机字符串,这个字符串就是 MysqL 在安装完成后为我们随机生成的密码;
12 登录到 MysqL 服务端并更新用户 root 的密码:
grant all privileges on *.* to [email protected]"%" identified by "新密码";
grant all privileges on *.* to [email protected]"localhost" identified by "新密码";
刷新权限使之生效:
flush privileges;
set password = password(‘新密码‘);
注意:由于 MysqL5.7 采用了密码强度验证插件 validate_password,故此我们需要设置一个有一定强度的密码;
输入 exit 后用新密码再次登录看看吧!
MysqL> show databases;
我们发现其内置了如下一些数据库:
information_scheR_762_11845@a
sys
14 启动 MysqL 服务:
16 重启 MysqL 服务:
17 查看 MysqL 的状态:
18 查看 MysqL 的字符集:
MysqL> show variables like ‘%character%‘;
+--------------------------+----------------------------+
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | @L_607_136@ |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | @L_607_136@ |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/MysqL/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 seC)
查看指定的数据库中指定数据表的字符集,如查看 MysqL 数据库中 servers 表的字符集:
@R_193_616@ from MysqL like ‘%servers%‘;
查看指定数据库中指定表的全部列的字符集,如查看 MysqL 数据库中 servers 表的全部的列的字符集:
show full columns from servers;
19 设置 MysqL 的字符集为 UTF-8:
打开 /etc 目录下的 my.cnf 文件(此文件是 MysqL 的主配置文件):
/etc/my.cnf
[client]
default-character-set=utf8
character_set_server=utf8
再次查看字符集:
MysqL> show variables like ‘%character%‘;
+--------------------------+----------------------------+
+--------------------------+----------------------------+
| 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 忘记密码时,可用如下方法重置:
# MysqLd_safe --user=root --skip-grant-tables --skip-networking &
# MysqL -u root
MysqL> update user set password=password("new_password") where user="root";
MysqL> flush privileges;
以上是大佬教程为你收集整理的Linux云服务器下Tomcat部署超详细全部内容,希望文章能够帮你解决Linux云服务器下Tomcat部署超详细所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。