1.购买(试用)服务器
这学期需要用到云计算的有关技术,再加上想要将自己的项目部署到云上,于是就萌生了购买服务器并且将上学期的数据库课程设计写的网站发布到云端的想法。
说干就干,因为我的老师给我推荐的就是阿里云,并且在中国AWS的服务很多都受到了限制(而且网速还慢),于是选择了阿里云的服务。
选择的主机是centos 7.2 64(不要选择centos 8,因为选择8的话,阿里云给出的教程中很多命令都不能正常的运行了,当然大佬能搞定的除外。)
2.登录云服务器
在购买ECS服务器后,系统会创建一个ECS实例。每一个ECS实例对应一台已购买的云服务器。您可以通过电脑上自带的终端工具访问云服务器,进行应用部署和环境搭建。
-
在ECS实例列表页面,选择实例的所属地域。
-
找到目标实例,然后在操作列选择【更多】> 【密码/密钥】 > 【重置实例密码】,然后在弹出的对话框设置ECS实例的登录密码。
-
在弹出的页面,单击【立即重启】使新密码生效。
-
在ECS实例列表页面,复制ECS实例的公网IP地址。
-
打开电脑上的命令行终端工具。
Windows:Powershell。
MAC:Terminal。
Windows用户请检查系统中是否安装有SSH工具。检查方法:
a. 在终端中输入命令ssh -V。
ssh -V
如果显示SSH版本则表示已安装,如下图所示。
b. 如果未安装,请下载安装OpenSSH工具。
- 在终端中输入连接命令ssh root@[公网地址]。
命令显示结果如下。
- 输入yes,然后输入云服务器的登录密码。
登录成功后会显示如下信息。
3.下载Java
3.1 选择版本
本地开发的java版本:
在服务器上的java版本应该高于等于该版本否则会报错:
同时不能使用yum直接下载,否则服务器下载的将是open JDK并且版本也很久(教训惨痛)
open JDK和JDK的区别
所以直接下载最新版的java版本:
JDK15.0.2
3.2正式下载
先介绍一个图形化管理服务器文件的神器–WinSCP
官网
使用参考
页面展示:
通过这个软件就可以实现Windows本地和centos服务器端的文件传输了,方便而且速度不慢。
在Windows平台下载Java安装包:
centos需要选择rpm文件形式的安装包。
下载之后传输到centos服务端。
3.3进行安装
1.删除系统自带jdk(如果下载了过于老旧的JDK或者open JDK请先卸载)
rpm -qa | grep java
yum -y remove java java-1.*
rpm -e --nodeps tzdata-java-2013g-1.el6.noarch
java #验证已删除(命令不可用)
2.rpm安装jdk
进入服务端的jdk所在的文件夹,执行以下命令
rpm -ivh jdk-8u191-linux-x64.rpm
3.配置环境变量
vim ~/.bash_profile #插入环境变量(java安装路径,bin目录所在目录)
#java
export JAVA_HOME=/usr/java/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
#保存退出
source ~/.bash_profile #激活配置
4.验证安装是否成功
>>> java -version #验证安装成功
安装成功
4.安装tomcat9
!!!4.0 需要先安装Apache服务及其扩展包
1)在ECS服务器上,执行以下命令,安装Apache服务及其扩展包。
yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql
返回类似如下图结果则表示安装成功。
2) 执行以下命令,启动Apache服务。
systemctl start httpd.service
3)打开浏览器输入ECS服务器的公网IP,如果显示如下图的测试页面表示Apache服务安装成功。
4.1选择版本
处于谨慎考虑直接下载和自己本地版本相同的tomcat9.0.43
4.2下载并安装
进入官网
选择下载:
传到服务器/usr/local/tomcat目录下:
进入tomcat所在的目录:
cd /usr/local/tomcat
tar -zxvf apache-tomcat-9.0.43.tar.gz
配置开机启动:
cd /usr/lib/systemd/system
vi tomcat.service
按 i 键插入以下内容
[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=oneshot
ExecStart=/usr/local/tomcat/apache-tomcat-9.0.43/bin/startup.sh
ExecStop=/usr/local/tomcat/apache-tomcat-9.0.43/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
添加完成按 ESC 键,然后按 :wq 保存文件,再执行 systemctl enable tomcat.service 命令使tomcat开机启动当然也可以使用WinSCP工具直接进入文件进行修改
启动和停止tomcat服务的相关命令:
systemctl start tomcat.service # 启动tomcat
systemctl stop tomcat.service # 关闭tomcat
systemctl restart tomcat.service # 重启tomcat
打开浏览器输入http://IP地址:8080,查看是否可以进入下面的页面,如果可以,说明 tomcat 9 已经安装成功:
如果没有看到这只猫咪:
检测是否在阿里云服务的安全组中加入8080端口。
4.3 进入管理页面部署war包
修改tomcat-users.xml的文件
在conf目录下:
打开并且添加,用户名和密码:
<tomcat-users>
<user username="admin" password="password" roles="manager-gui,admin-gui"/>
</tomcat-users>
访问Web界面,点击Manager App按钮,使用刚才的用户名和密码登录:
发现仍旧报错:
解决办法:
修改tomcat9/webapps/manager/META-INF的context.xml文件
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" />
增加
然后重启tomcat服务器:
sudo systemctl restart tomcat
点击Manager App按钮,使用刚才的用户名和密码登录,进入管理页面:
就可以部署war包了。
5.部署项目
直接选择本地的war上传即可。
服务器报错,因为服务端还没有对应的数据库,下一篇博文用于介绍如何安装数据库,并上传数据。
参考博客:
CentOS 7 yum安装与配置 Tomcat
tomcat9管理页面控制