阿里云linux服务器部署项目war包

1.购买阿里云服务器+设置安全组(省略)

2.Linux中下载docker并安装相应的软件
(1)安装docker
yum install docker

(2)停止和启动docker
systemctl stop docker
systemctl start docker

(3)docker下载启动mysql
docker pull mysql:latest
docker run -p 3306:3306 --name Mymysql -e MYSQL_ROOT_PASSWORD=root -d mysql(-p 前面是直接通过公网访问的端口号3306,后面是redis中对应的3306端口号,–name 设置容器名字,MYSQL_ROOT_PASSWORD=root设置密码,-d后台运行,mysql镜像名称)
本地的mysql可直接连接远程Linux的mysql,输入公网号、用户名和密码

(4)下载redis
docker pull redis:latest
docker run -d -p 6379:6379 --name myredis redis

(5)下载tomcat
docker run tomcat
docker run -d -p 3355:8080 --name mytomcat tomcat

(6)下载jdk查看版本号
yum -y install java-1.8.0-openjdk.x86_64
java -version

3.将运行的项目打成war包丢到Linux服务器上(sftp上传war包到Linux),并将项目复制放到tomcat的webapp目录下
docker cp mall.war mytomcat:/usr/local/tomcat/webapps
(mall为打包后的项目名)
docker exec -it mytomcat /bin/bash
(进入tomcat查看war包)

4.通过阿里云公网号访问端口号+项目名
http://47.98.147.24:3355/mall

坑:

1.原项目访问的所有href和src都要以当前相对路径来访问 ./ 的形式(指当前下)
2.打成的war包在请求访问时必须要添加war包的名字,可通过下面2种方式来解决
方式一:修改服务器Tomcat的conf的server.xml配置
注意:你的报名如果是:mall.war那么是:mall
添加

<Host name="网站域名"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log" suffix=".txt"
            pattern="%h %l %u %t "%r" %s %b" />
       
    <Context path ="" docBase="war包名"  reloadable="true"/>
</Host>

保存配置后重启Tomcat服务
此时访问地址是:服务器ID:端口
若以购买域名且解析完成,就可以自己访问网址了

方式二:删除Tomcat内ROOT文件夹
Tomcat启动时会去webapps下访问默认ROOT目录下的应用程序,这是conf/server.xml配好的默认规则.

将webapps目录下ROOT文件夹删除掉

复制war包到webapps目录下,更名为ROOT.war

重启Tomcat

你可能感兴趣的:(阿里云linux服务器部署项目war包)