将javaweb项目部署到阿里云服务器上

由于软件工程课程的app项目要联网使用,所以将javaweb写的后台挂到阿里云上,参考了许多文章,大致整理了一下:

首先有以下几个步骤:

  • 1.购买服务器;
  • 2.服务器设置;
  • 3.远程连接;
  • 4.安装jdk;
  • 5.Mysql配置;
  • 6.Tomcat 配置;
  • 7.部署

1.购买服务器

 首先需要购买服务器。我购买的是轻量应用服务器,预装的Centos7。

2.服务器设置

可以进入操作界面,在服务器运维下的远程连接中,设置root密码

将javaweb项目部署到阿里云服务器上

将javaweb项目部署到阿里云服务器上

将javaweb项目部署到阿里云服务器上

然后在服务器管理页面的防火墙中设置端口

Mysql 需要3306,Tomcat需要8080端口。

将javaweb项目部署到阿里云服务器上

3.远程连接

下载xftp6。传文件用,下好后,点击文件,点击新建。

将javaweb项目部署到阿里云服务器上

在下面框框中输入自己的公网ip,然后选择SFTP协议,22号端口,注意确保第二步中的22号端口是打开的。然后输入用户名和root密码即可

将javaweb项目部署到阿里云服务器上

连接成功后如下:

将javaweb项目部署到阿里云服务器上

4.安装jdk

可以直接网页中点击远程进入控制台

使用命令: yum -y install java-1.8.0-openjdk.x86_64

验证:java -version

将javaweb项目部署到阿里云服务器上

5.mysql配置

(1)安装:

新建mysql文件夹:mkdir /temp

进入文件夹:cd /temp

下载文件安装包:wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

解压:rpm -ivh mysql-community-release-el7-5.noarch.rpm 

安装:yum install mysql mysql-server mysql-devel -y

(2)启动服务:

启动服务命令:systemctl start mysql.service

并验证: netstat -anp|grep 3306

(3)不设置密码的话默认为空,由于本地的数据库未设置密码,我也没有设置密码。

(4)设置大小写不敏感:

Linux MySQL默认是大小写敏感的,但是windows上的Mysql默认是非大小写敏感的,所以JDBC代码有的表名是大写,有的是小写的,一旦运行起来就会因为大小写不一致导致无法识别表名。 为了解决这个矛盾,就需要把MySQL的大小写敏感修改为非敏感。 解决办法如下:

修改 etc文件夹下的 my.cnf 文件,可以通过xftp来修改,右击,用记事本编辑。

将javaweb项目部署到阿里云服务器上

添加代码 : lower_case_table_names=1 到 [mysqld]下面.

将javaweb项目部署到阿里云服务器上

修改完要重启 mysql服务,否则不生效 

重启:service mysqld restart

(5)解决中文乱码问题: 

修改 etc下的 my.cnf文件,添加如下代码:

[mysqld]  

port = 3306

socket = /var/lib/mysql/mysql.sock

character-set-server=utf8

[client]

port = 3306

socket = /var/lib/mysql/mysql.sock

default-character-set = utf8

[mysql]

no-auto-rehash

保存完记得重启服务 

重启:service mysqld restart

将javaweb项目部署到阿里云服务器上

(6)授权远程客户端登录:

先登录mysql: mysql -uroot -p  由于没有设置密码,输入命令后回车即可。

将javaweb项目部署到阿里云服务器上

处于 mysql> 状态

然后输入下面两条命令,注意分号要加上。

添加用户: grant all privileges on *.* to [email protected]'%'identified by '';

刷新生效: flush privileges;

将javaweb项目部署到阿里云服务器上

(7)Navicat远程访问:

将javaweb项目部署到阿里云服务器上

 

输入自己的公网ip就可以了,由于没有设置密码,直接确定就行了。

将javaweb项目部署到阿里云服务器上

然后由于我的数据库比较简单,直接用数据传输,比如我要将本地的user数据库传到阿里云上,首先在阿里云上建立一个user数据库。

将javaweb项目部署到阿里云服务器上

将javaweb项目部署到阿里云服务器上

点击数据传输

将javaweb项目部署到阿里云服务器上

选择好数据库,再确定就可以。完成后可以查看下是否成功传输。

将javaweb项目部署到阿里云服务器上

6.Tomcat 配置

(1)官网下载  tar.gz格式的,如果下载很慢的话可以直接复制链接,用迅雷下,速度会很快,然后通过xftp可以把下载压缩包拖到 temp文件夹里,

将javaweb项目部署到阿里云服务器上

(2) 先进入temp文件夹:  cd /temp

解压:tar xzf apache-tomcat-8.5.34.tar.gz  //注意名字要和文件夹名字相同哦

移动到 /usr/local/tomcat8 文件夹下便于以后使用:

mv apache-tomcat-8.5.34  /usr/local/tomcat8  //注意名字要和文件夹名字相同哦

(3)启动验证:

启动:/usr/local/tomcat8/bin/startup.sh

验证端口是否占用:netstat -anp|grep 8080

(4)成功后,输入ip:8080,出现可爱的汤姆猫就说明配置成功了。

7.部署

由于我是通过url来操作的数据库,故将操作本地数据库的url改为操作阿里云的数据库,

将javaweb项目部署到阿里云服务器上

Eclipse里面打包,右键项目,点击export,再点击war.file。选择导出地址,点finish即可。

然后用xftp将文件拖拽到/usr/local/tomcat8/webapps目录下即可。

将javaweb项目部署到阿里云服务器上

然后重启即可:启动服务:/usr/local/tomcat8/bin/startup.sh 

然后就完成了。我的项目是个app,然后在AS中将之前的url的ip换成自己的公网ip即可。最后能成功访问数据库了:

将javaweb项目部署到阿里云服务器上

参考文章:https://blog.csdn.net/weixin_42164766/article/details/82804147

欢迎大家指正不足之处。