【云服务器部署1】java web项目(war包)

2,428 阅读4分钟

要干嘛

本文是要在云服务器部署一个java web 项目(我这是一个SSM的Maven项目)。

准备:

  • 一个在本地可以运行的项目所打包成的war文件
  • 支付宝余额有10块

环境:

  • 阿里云服务器ECS 系统linux(centOS 7.2)
  • JDK 1.8
  • tomcat 9.0
  • mysql 5.7.27

购买

阿里云学生云翼计划(一个月9.5元):promotion.aliyun.com/ntms/act/ca…

有两款:(我买的第二款,性能上好像没什么差别)

  • 轻量级应用服务器:适合新手

  • 云服务器ECS

    购买成功后获得一个实例 :登录后-控制台-云服务器 ECS-实例(购买没弄密码的要重置一下密码)

远程连接使用

  • 实例页面有一个远程连接,点击后跟着操作就进入了,账号密码就是root 和 你设置的秘密

  • 使用XShell (破解版 blog.csdn.net/qq_31362105…

  1. 新建会话

    • Name:自己随便命名

    • Protocol:默认SSH

    • Host: 阿里云服务的公网ip(ECS 实例列表页可以看到)

    • Port:默认22

  2. 点击连接后会让输入账号密码( root 和 你设置的秘密)

    成功会显示如下

文件传输工具

文件传输工具是本机和服务器文件交互的工具,刚才jdk的下载是在linux服务器通过命令直接下载的,而等下tomcat的安装将使用文件传输的方式,即本机(我是windows 10)下载后,通过这个工具传输到服务器里。之后我们项目(war包,sql文件等)传入服务器也需要用到。

本人使用过xftp(试用期后收费了,破解版没找到),然后改FileZilla(开源免费的,百度官网下载)

这里使用FileZilla,安装后打开进行连接

连接成功后就要啥拉啥过去,放到要放的目录

安装JDK

我的把这些环境都安装到了/home/money/下,money是自己建的文件夹。所以最好是都在此目录下输入命令

  1. 下载:

    网盘:pan.baidu.com/s/1_Slgq1Jx… 提取码:h57l

    下载.tar.gz后缀JDK,使用文件传输工具传入

  2. 解压:我是都放在home/money

    tar xzf jdk-8u212-linux-x64.tar.gz -C /home/money
    
  3. 配置java的环境变量:

    vim /etc/profile
    
  4. 在配置文件的最下方加上:

    export JAVA_HOME=/home/money/jdk1.8.0_144
    export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
    export PATH=$JAVA_HOME/bin:$PATH
    
  5. 使配置环境生效

    source /etc/profile
    

安装Tomcat9.0

  1. 下载 tomcat.apache.org/download-90… 选择 .tar.gz的下载

  2. 传输(上面讲了)把下载好的放到/home/money/下

  3. 安装 apache-tomcat-9.0.26.tar.gz是下载下来的文件名

    tar xf apache-tomcat-9.0.26.tar.gz -C /home/money
    
  4. 安装成功后,修改tomcat的环境变量(这一步我第二次装的时候没配也能用,好像不是很必要)

    [root@Tomcat ~]# vim /home/money/apache-tomcat-9.0.26/bin/startup.sh              --tomcat的启动程序
    [root@Tomcat ~]# vim /home/money/apache-tomcat-9.0.26/bin/shutdown.sh             --tomcat的关闭程序
    

    把startup.sh和shutdown.sh这两个脚本里的最前面加上下面一段:

     export JAVA_HOME=/home/money/jdk1.8.0_212
     export TOMCAT_HOME=/home/money/apache-tomcat-9.0.26
     export CATALINA_HOME=/home/money/apache-tomcat-9.0.26
     export CLASS_PATH=$JAVA_HOME/bin/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tool.jar
     export PATH=$PATH:/home/money/jdk1.8.0_212/bin:/home/money/apache-tomcat-9.0.26/bin
    
  5. 修改server.xml里的主机localhost 为你的服务器ip

  6. 到云服务器ECS页面 左边菜单网络和安全->安全组->配置规则->添加安全规则

  7. 开启

 /home/money/apache-tomcat-9.0.26/bin/startup.sh # 开启
 /home/money/apache-tomcat-9.0.26/bin/shutdown.sh # 关闭
  1. 访问

    http://你的外网ip:8080 显示阿帕奇的主页就代表成功了

安装Mysql

在要安装的目录下执行一下命令 我这就是进入到/home/money/后执行以下命令

  1. 下载

    wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
    
  2. yum 安装

    yum -y install mysql57-community-release-el7-10.noarch.rpm
    
  3. 安装mysql服务器

    yum -y install mysql-community-server
    
  4. 启动服务

    service mysqld start
    
  5. 修改密码

    第一次安装会给root随机密码 查看 grep "password" /var/log/mysqld.log

    进入数据库 mysql -uroot -p密码

    默认密码带'('登不进去解决方案:https://blog.csdn.net/qq_42910468/article/details/99692105
    

    修改密码 ALTER USER 'root'@'localhost' IDENTIFIED BY '你要设置的密码'; (要包含大小写和符号,比较难设置)

  6. 修改mysql语言

    首先重新登录mysql,然后输入status:

    此处语言并不是utf8,我们退出(输入exit)去修改

    vi /etc/my.cnf
    

    添加四行代码

    重启mysql服务,登录后status查看,改成utf8就成功了

    service mysqld restart
    

操作命令:

    启动mysql服务 service mysqld start
    
    重启mysql服务 service mysqld restart
    
    查看状态服务状态 service mysqld status

部署JAVA web项目(war包)

先关闭tomcat,我需要将本地的Java Web工程打包成war,以及将数据库导出至sql文件一并上传到服务器上。将项目的war包放到tomcat的webapps目录下,启动tomcat,tomcat运行后会自动将其解压,然后就可以使用路径来访问了。

(对于数据库的导入,需要在mysql命令下先创建同名的数据库,然后使用source data.sql运行即可)

注意事项

  1. 项目中的数据库连接jdbc的设置,密码记得改成你服务器mysql设置的,不然就会报错'database'什么passwod(yes)啥的
  2. 关于文件上传,linux没有\符和盘符,像windows那种,路径直接是/代表根目录,像我文件上传都是放在/home/money/tonynews/uploads,那文件上传的路径就写 /home/money/tonynews/uploads/文件名

我设置的基础路径

3. tomcat虚拟路径映射 即修改server.xml,我的项目名TonyNews
第一个context:映射项目路径

第二个context:映射文件路径

tomcat虚拟路径映射不知道的得去百度下,这里是提供一些思路。