记录第一次将Java web项目部署到阿里云服务器

一 购买云服务器

首先购买阿里云服务器ECS,如果有学生认证,会有学生优惠价。操作系统我选择的是CentOs.

二 本地主机连接服务器

拥有云服务器之后,要远程操作服务器,就要先和远程服务器建立连接。可以用两种方法进行远程连接:一种是使用阿里云控制中心自带的管理终端进行远程连接,另一种是使用ssh协议。

1 使用管理终端连接

登录ECS控制台之后,在左侧导航栏选择“实例”,在右侧会展示实例列表,在操作一栏选择“远程连接”。

2 使用SSH工具连接

我使用的是FinalShell工具(SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,版本)

三 搭建开发环境

1 软件包

把软件包上传到云服务器中。
JDK
我本地的项目用的是1.8版本,所以这里也下载这个版本。
Linux x64 RPM Package
MySQL
mysql57-community-release-el7-11.noarch.rpm
Tomcat 9
本地项目使用的是Tomcat 9。apache-tomcat-9.X.XX.tar.gz

2 安装配置

JDK

在云服务器输入命令rpm -ivh 文件名
如:rpm -ivh jdk-8u144-linux-x64.rpm
安装完成输入java -version,如果出现了版本信息,则说明安装成功。
查看Java版本信息,验证是否安装成功

MySQL

1 安装Mysql:yum install mysql-community-server
(安装过程可参考https://blog.csdn.net/hello_world_qwp/article/details/79544107

2 初次登录数据库,修改密码时,遇到了一个问题
密码策略问题异常信息:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
解决方案可参考https://blog.csdn.net/hello_world_qwp/article/details/79551789

3 若要远程连接服务器中的数据库,可以在阿里云控制台的安全组开放3306端口,然后在服务器的数据库中配置一个新的user(用于本地项目连接服务器数据库)

mysql -u root -p密码
use mysql;
grant SELECT,UPDATE,INSERT,DELETE on . to ‘user1(登录名)’@’%’ identified by ‘密码’;     //创建user1帐号并授权,同时设置密码

生效配置:flush privileges
测试配置生效否:mysql -u(你的账号,如我们刚刚设置的user1) -P3306 -h(你的实例的IP) –p(密码)

Tomcat 9

安装:tar -zxvf 文件名(apache-tomcat-9.0.36.tar.gz)
启动:在Tomcat文件下的bin目录下运行./startup.sh(停止则是./shutdown.sh)

在启动Tomcat时遇到两个问题:
(1)

touch: 无法创建"/usr/local/tomcat-9.0.2/apache-tomcat-9.0.2-src/logs/catalina.out": 没有那个文件或目录
/usr/local/tomcat-9.0.2/apache-tomcat-9.0.2-src/bin/catalina.sh:行464: /usr/local/tomcat-9.0.2/apache-tomcat-9.0.2-src/logs/catalina.out: 没有那个文件或目录

此时打开tomcat 的安装目录,ls 查看全部文件及文件夹,发现确实是没有logs目录。
自己创建该目录mkdir logs,再次启动已经没有这个报错了。
(2)
报错:bash: ./startup.sh: Permission denied
解决方案(参考https://blog.csdn.net/qq_38196334/article/details/89116201)

使用文件/目录权限设置命令chmod

[root@localhost bin]# ./startup.sh
-bash: ./startup.sh: Permission denied
[root@localhost bin]#
[root@localhost bin]# chmod u+x *.sh
[root@localhost bin]# ./startup.sh

在关闭Tomcat时遇到一个问题
报错:SEVERE: Could not contact [localhost:8005] (base port [8005] and offset [0]). Tomcat may not be …
解决方案(参考https://blog.csdn.net/qq_40369944/article/details/103452568)

使用命令查看进程端口

netstat -tunlp|grep 8005
netstat -tunlp|grep 8080

查看进程端口
可以看到8080启动,8005没有启动。

解决方式
修改${JAVA_HOME}/jre/lib/security/Java.security

securerandom.source=file:/dev/random
改为:
securerandom.source=file:/dev/urandom

然后杀死8080的进程
kill -9 进程号
重启tomcat就可以访问了

四 在服务器部署自己的项目

1 在编辑器上打包自己项目的war包

我使用的是Eclipse,过程参考:https://www.jb51.net/article/142790.htm

(1)右键点击所需要打包的项目,点击如图所示 Maven clean,这里 Maven 会清除掉之前对这个项目所有的打包信息。
Maven clean
进行完 Maven clean 操作后,在eclipse的控制台会出现以下的信息。
Maven clean操作的控制台信息
(2)然后我们重新右键所需打包的项目,点击如图所示 Maven build
Maven build
在弹出的界面中,进行如下图的操作。
“Goals”输入框中输入 -X package,同时勾选下方 Update Snapshots 和 Skip Tests 选项框。
Maven build操作2
出现以下结果则说明打包成功。
Maven build操作,控制台信息
刷新我们的项目,我们能在项目的 target 目录下找到我们打包好的 war 包。
在项目目录中查看打包好的war包

2 项目部署

上传到服务器的webapps的文件夹下面,Tomcat会自动解压,如果没有解压,有可能是Tomcat启动失败,这时输入jps,出现Bootstrap表示启动成功的,这时候等一等。如果没有出现,进入tomcat文件夹下的logs文件夹下,查看catalina.out文件,vim catalina.out

3 上传本地数据库

(1)将本地数据库打包成.sql文件
(2)将.sql文件上传到服务器
(3)进入.sql文件存放的文件夹,进入mysql模式
(4)创建数据库,如果已经存在就不用了,数据库的名字最好也项目在本地时使用的一样,即.sql文件的前缀
查看数据库:show databases;
创建数据库:CREATE DATABASE 数据库名;
(5)use 数据库名
(6)source .sql文件(如:source denny.sql)
(7)输入查询语句或者show tables查看表是否都创建成功

五 结束

尝试访问云服务器项目。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值