docker下将Javaweb项目部署到阿里的云服务器

本文详细介绍了如何使用Docker在阿里云服务器上部署JavaWeb项目,包括安装Docker CE,拉取MySQL和Tomcat镜像,配置数据库,映射端口,绑定域名等步骤,以及解决过程中遇到的乱码和连接问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

首先,需要到阿里云的官网租一个云服务器,至于域名是否需要就看你的需要了,我的服务器配置如下图所示:

 

还需要准备好xshell6和winscp这两个软件,最好花点时间去熟悉下docker命令和vim。另外,下面所填写的IP是阿里云控制台上显示的公有IP不是私有IP。

docker学习资源:

docker菜鸟:http://www.runoob.com/docker/docker-tutorial.html

docker文档:https://docs.docker-cn.com/

vim学习资源:

vim菜鸟:http://www.runoob.com/linux/linux-vim.html

xshell6:链接:https://pan.baidu.com/s/13feRI9m_bMPsKEhfGpElUQ 密码:tads

winscp:链接:https://pan.baidu.com/s/1DGEvse-TGVJRqF5mBzrPSg 密码:bbgj

一、安装docker(CE版)

打开xshell6,右键“所有会话”,在弹出菜单中选择新建会话,填上会话名字,云服务器主机的ip

然后点击用户身份验证,填好账号和密码并连接

1、安装一些必要的工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

2、添加软件源信息

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、更新yum缓存

sudo yum makecache fast

4、安装docker-ce版

sudo yum -y install docker-ce

5、启动docker后台服务

sudo systemctl start docker

6、测试运行

docker run hello-world

 二、安装mysql镜像(建议与你本地安装的mysql版本相一致)

1、下载mysql镜像(5.7版)

docker pull mysql:5.7

2、运行容器

docker run -p 3306:3306 --name mysql -v /root/conf:/etc/mysql/conf.d -v /root/data:/var/lib/mysql -v /root/logs:/logs -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

  • -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
  • --name mysql : 容器的名字
  • -v /root/conf:/etc/mysql/conf.d:将目录/root/conf/my.conf挂在到容器的 /etc/mysql/my.cnf
  • -v /root/data:/var/lib/mysql : 将目录/root/data挂在到容器的/var/lib/mysql,本地数据库文件夹就是上传到/root/data目录下
  • -v /root/logs:/logs : 将目录/root/logs挂载到容器的/logs
  • -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码

通过命令docker inspect mysql查看mysql容器的配置信息,下图是部分截图

3、进入mysql容器(exit命令可以退出容器)

docker exec -it mysql /bin/bash

4、进入mysql命令行界面

mysql -u root -p

回车后输入密码即可,密码是步骤2所设置的--123456

此界面就可以使用mysql命令行了,可以使用show命令查看默认的数据库有哪些,键入exit即可退出

5、打开winscp,点击新建站点,输入IP、账号、密码,然后登录,此软件是用来上传文件到与服务器的

winscp登录后界面分为两部分,左边是本地的文件,可以从这里选择文件进行上传;右边是云服务器的目录,也可以将你需要上传的文件直接粘贴到你想要上传的目录中即可实现文件上传

6、去到本地mysql的安装目录下的data目录,将数据库的文件夹(以book_stores为例),粘贴到云服务器的/root/data目录下

7、重启mysql容器后,使用命令docker exec -it mysql /bin/bash进入容器,然后进入mysql命令行界面mysql -u root -p,依次执行以下命令

  • show databases;  --显示所有数据库
  • use book_stores; --选择book_stores数据库
  • show tables;   --显示book_stores数据库下的所有表

8、执行select * from big_img;命令,如果能够把表里的数据全部查询出来,就无需下面的操作了,下图是查询失败的

见步骤6中的截图,将本地的ibdata1文件通过winscp上传到/root/data目录下,直接将原来的ibdata1文件覆盖掉,使用exit命令,退出mysql界面和mysql容器,重启mysql容器docker restart mysql,然后进入mysql容器,再进入mysql命令行界面,执行以下命令

  • use book_stores;
  • select * from big_img;

9、步骤8中的截图中出现了中文乱码,如果没有出现此问题,可以忽略此步骤

  • 在本地新建好my.cnf文件,并将以下内容粘贴进去

[client]

default-character-set=utf8

 

[mysql]

default-character-set=utf8

 

[mysqld]

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake


  • 用winscp将my.cnf文件上传到云服务器的/root/conf目录下,然后按照步骤8的操作重新进入mysql命令行界面,再次执行select语句

 

到这里,mysql的部署就完成了

三、安装Tomcat镜像(最新版的)

1、下载最新版的tomcat镜像

docker pull tomcat    --默认是最新版的

2、运行容器

docker run --name tomcat -p 80:8080 -v /root/javaweb:/usr/local/tomcat/webapps --link mysql:db -d tomcat

  • --name tomcat : 容器的名字
  • -p 80:8080 : 将tomcat容器的8080端口映射到主机的80端口
  • -v /root/javaweb:/usr/local/tomcat/webapps : 将容器的目录/usr/local/tomcat/webapps映射到主机的目录/root/javaweb,上传的Javaweb项目打包好仍在这(/root/javaweb)就行了
  • --link mysql:db : 与mysql容器建立起连接,否则,在发起连接请求时,会出现mysql拒绝连接的错误,而db是mysql容器IP的别名,那么在java代码中就不能使用localhost了,而是db

可以利用docker inspect tomcat命令查看其配置信息,不截图了

3、修改java代码

4、在eclipse中将项目打包成war,然后用winscp上传到/root/javaweb目录下

右键需要打包的项目->Export->WAP file->按提示操作


上传文件,扔到/root/javaweb目录下就行了

5、测试运行

示例:http://120.77.85.99/MyStore/BookStores/index.html

如果页面能正常显示,操作也正常,那就表示成功了

四、绑定域名

需要登录阿里云,去到域名控制台,将云解析配置好,然后将IP改成域名,重新运行,页面能访问就表示成功了,端口80默认是可以省略,即域名后无需加端口,除非所映射的主机端口不是80

示例:http://jw.901studio.cn/MyStore/BookStores/index.html

 

### 回答1: 阿里云ECS(Elastic Compute Service)服务器部署Java Web项目的整个流程如下: 1. 购买阿里云ECS服务器:首先,需要在阿里云官网购买一个ECS服务器。选择适合的配置和操作系统(如CentOS、Ubuntu等),并确保服务器已经成功启动。 2. 连接到ECS服务器:使用SSH(Secure Shell)工具,如Putty等,通过服务器的公网IP地址和默认的22端口,连接到ECS服务器。 3. 安装Java发环境:在ECS服务器上安装Java发环境,包括JDK(Java Development Kit)和JRE(Java Runtime Environment)。可以通过命令行方式或者下载安装包方式进行安装。 4. 配置服务器环境:根据需要,可以安装并配置容器化技术如Docker,以及服务器软件如Tomcat、Nginx等,用于部署和运行Java Web项目。 5. 上传项目文件:将Java Web项目的相关文件(如WAR包或者源代码)上传到ECS服务器。可以使用FTP(File Transfer Protocol)工具,如FileZilla等,将文件上传到服务器的指定目录。 6. 构建和部署项目:在ECS服务器上使用命令行工具,进入项目文件所在的目录,使用Maven或者Gradle等构建工具,运行构建命令,编译、打包Java Web项目。 7. 配置项目运行环境:根据项目要求,可能需要修改配置文件,如数据库连接信息、缓存配置等。可以使用文本编辑器或者命令行工具进行修改。 8. 启动项目使用命令行工具,运行Java Web项目的启动命令,如启动Tomcat容器。可以查看启动日志,确认项目是否成功启动。 9. 监控和管理项目使用阿里云的应用监控工具或者第三方工具,对Java Web项目进行监控和管理,如查看应用的性能指标、错误日志和访问日志等。 10. 绑定域名和配置SSL证书(可选):如果需要通过域名访问Java Web项目,可以在阿里云的域名服务中,将域名解析到ECS服务器的公网IP地址,并配置SSL证书,实现HTTPS访问。 总结起来,阿里云ECS服务器部署Java Web项目的流程包括购买服务器、连接服务器、安装Java发环境、配置服务器环境、上传项目文件、构建和部署项目、配置项目运行环境、启动项目、监控和管理项目,以及绑定域名和配置SSL证书(可选)。 ### 回答2: 阿里云ECS服务器部署JavaWeb项目的整个流程如下: 1. 登录阿里云官网,购买一台ECS服务器,选择合适的配置和系统镜像。 2. 在云服务器ECS的控制台上,找到已购买的服务器实例,并记录下服务器实例的公网IP地址。 3. 在本地发环境,将JavaWeb项目打包成war文件。 4. 使用FTP工具(如FileZilla)将war文件上传到ECS服务器。连接ECS服务器的方法为使用用户名和密码连接到服务器实例的公网IP。 5. 在ECS服务器上安装Java运行环境,执行以下命令: ``` yum update -y # 更新系统 yum install java-1.8.0-openjdk-devel -y # 安装Java环境 ``` 6. 配置ECS服务器的防火墙规则,允许对应的端口访问。通常JavaWeb项目使用的是8080端口,可以在ECS的安全组中放对应的端口。 7. 在ECS服务器上启动Tomcat服务器,执行以下命令: ``` cd /usr/local # 进入Tomcat安装目录 wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.52/bin/apache-tomcat-9.0.52.tar.gz # 下载Tomcat tar -zxvf apache-tomcat-9.0.52.tar.gz # 解压Tomcat cd apache-tomcat-9.0.52/bin # 进入Tomcat的bin目录 ./startup.sh # 启动Tomcat ``` 8. 在浏览器中输入ECS服务器的公网IP地址和Tomcat使用的端口号,例如:http://公网IP:8080/,即可访问部署好的JavaWeb项目。 以上就是阿里云ECS服务器部署JavaWeb项目的整个流程。当然,根据具体的项目和需求,可能会涉及到其他配置和操作,例如数据库的连接、SSL证书的安装等。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值