服务器购买/搭建注意点+项目部署上线

关于服务器购买

推荐阿里云和腾讯云,两家基本都差不多。
如果只是学习短期使用,推荐阿里云,①新用户免费1个月②学生认证免费1个月,完成课程再加一个月。注意无法叠加成3个月,只能二选一

服务器搭建配置+JDK下载安装+项目运行设置可参考(MySQL下载安装不建议参考,此种方式存在bug):
https://blog.csdn.net/Mou_Yang/article/details/102137861

关于服务器搭建的一些知识点
  • 关于系统选择:有些不懂Linux的小白会选择windows系统,虽然也能正常使用,而且搭建环境还同本地搭建一样。但还是推荐学一下Linux,并选择Linux系统,个人推荐Centos7或7以上(下文使用docker搭建必要)
  • 关于地域选择,访问者距离地域越近,响应的速度就越快。所以选择网站访问量最大所在的地域,一般不清楚网站使用入群的地域分布,那就选择距离你最近的地域
  • 关于 Xshell,官网下载太慢,网络上的资源鱼龙混杂,之前在网络上下载了两次,都是有捆绑软件,默认勾选,一不在意CPU就飞起了;最烦的是——挂羊头卖狗肉,试用版非说是免费版,没用几个月就没法使用了…这里提供一个真正免费的Xshell6的资源:关注下方公众号并在公众号后台回复 “ Xshell6 ” 获取(里面有安装注意事项和破解脚步)
  • 关于文件传输
    Xshell6有个附带的ftp插件可用于文件传输,但本人倾向于使用命令,故需要安装lrzsz,实现文件上传-共享
yum install lrzsz

rz命令:弹出一个文件选择框,选择上传文件

rz

sz命令:弹出一个文件选择框,选择下载文件路径

sz xxx

上传与下载文件默认询问选择,也可设置为默认路径:文件-属性-文件传输

在这里插入图片描述

普通JavaWeb项目部署上线

  • 下载安装jdk+tomcat+mysql(有用到mysql的话)
  • 将项目打包(war包)放置tomcat启动目录
  • 将本地模拟的mysql数据导出.sql并在云服务器的mysql运行
  • 根据云服务器提供的公网IP访问项目

参考下文关于springboot的部署

SpringBoot项目部署上线(基于jdk+mysql)

  • 下载安装jdk+mysql(有用到mysql的话)
  • 将项目打包放置tomcat启动目录
  • 将本地模拟的mysql数据导出.sql并在云服务器的mysql运行
  • 根据云服务器提供的公网IP访问项目
SpringBoot五大特性
  • SpringApplication
  • 自动装配
  • 外部化配置
  • SpringBoot Actuator
  • 嵌入式Web容器(默认tomcat,故无需安装tomcat)
下载安装JDK+MySQL

服务器搭建配置+JDK下载安装+项目运行设置可参考(MySQL下载安装不建议参考,此种方式存在bug):
https://blog.csdn.net/Mou_Yang/article/details/102137861

安装mysql:https://blog.csdn.net/qq_36582604/article/details/80526287
若存在旧版本或安装错误,请注意完全卸载mysql(一般卸载会残留配置文件,导致后期安装失败):https://blog.csdn.net/typa01_kk/article/details/49057073

SpringBoot项目部署上线【基于docker】

Linux系统:centos7及以上版本
SpringBoot项目打包成xxxx.jar
dockerHub(下载镜像的仓库):https://registry.hub.docker.com/

  • 安装docker
yum install docker
  • 镜像加速配置(下载提速,不配置也行)
    阿里云镜像加速器:注册 - 云服务器 ECS - 容器服务 - 市场 - 容器镜像服务 - 镜像加速器
    中科大的镜像加速器:https://docker.mirrors.ustc.edu.cn/
    新浪:https://docker-mirror.xinglian.info
    百度:https://mirror.baidubce.com
    镜像站:https://www.daocloud.io/mirror#accelerator-doc
    可配置多个,一个挂掉,另一个替上
vim /etc/docker/daemon.json
{
	"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/", "http://f1361db2.m.daocloud.io"]
}
  • docker安装mysql5.7
    可先使用docker search mysql,查看mysql的镜像版本有哪些,再使用pull命令拉取镜像,冒号(:)后指定版本
docker pull mysql:5.7

可使用 docker images 查看已有的镜像

  • 编写DockerFile文件(与要运行的项目文件xxxx.jar放于同一目录下)
vim Dockerfile

# 基础镜像使用Java,首次使用同mysql一样先拉取java的JDk1.8镜像,镜像存在后,往后不重复执行
FROM java:8
# 作者
MAINTAINER xxxx
# VOLUME 指定了临时文件目录为/tmp
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将xxxx.jar包添加到容器中并更名为app.jar
ADD xxxx.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
# 指定容器需要映射到主机的端口
EXPOSE 80
  • 创建镜像(镜像名随意,下面启动要用,注意最后有一个点)
docker image build -t xxxx_image .
  • 创建数据挂载点mysql_data(存储数据的地方,即便mysql容器删除了,数据还在)
docker volume create mysql_data
  • 运行mysql镜像(指定mysql容器名为mysql_image,mysql登录密码为xxxx)
docker run --name mysql_image -p 3306:3306 -v mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=xxxx -d mysql:5.7
  • 进入mysql容器(进入容器 /bin/bash)
    exec方式进入,exit退出后,容器继续运行,不会跟着退出
    -i 以交互模式运行容器,通常与 -t 同时使用;
    -t 为容器重新分配一个伪输入终端
docker exec -it mysql_image bash
  • 进入mysql
mysql -uroot -p
  • mysql授权(授予root用户所有权限)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;	
  • mysql授权后需要刷新,生效
FLUSH PRIVILEGES;	

此时可用navicate或SQLyog连接数据库

  • 运行镜像
    –net指定运行网络为host,避免IP丢失无法正常访问;
    -p指定端口映射,将8888映射到80端口
docker run -it --net=host --name xxxx_image -p 80:8888 xxxx_image

查看运行镜像的日志

  • 可通过在项目中配置,将日志写入指定磁盘文件
  • 使用docker的logs命令查看
docker logs 镜像名(或镜像ID)

项目(xxxx.jar)变更,重新部署

与DockerFile同一目录下,项目名不变,否则Dockerfile里面指定的项目名也得跟着变更。先删除已有的镜像再重新创建新的镜像。

  • 查看已存在的镜像
docker images
  • 查看运行中的容器/进程
docker ps
  • 停止运行中的容器
docker stop 容器ID(IMAGE ID)
  • 移除容器
docker rm 容器ID(IMAGE ID)
  • 移除已停止的镜像
docker rmi 镜像ID

-f 是通过信号强制移除运行中的容器

在这里插入图片描述

  • 重新创建镜像(镜像名随意,下面启动要用,注意最后有一个点)
docker image build -t xxxx_image .
  • 再次运行容器
    –net指定运行网络为host,避免IP丢失无法正常访问;
    -p指定端口映射
docker run -it --net=host --name 设置运行镜像名 -p 宿主机端口:容器端口 xxxx_image
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
回答: Java项目部署上线需要以下步骤。首先,搭建所需环境,包括安装Java开发环境和相关的技术栈,如Spring、SpringMVC、Mybatis等。\[2\]然后,确保项目能够成功启动,如果遇到连接不上redis的问题,可以在阿里云服务器和宝塔面板上进行端口放行操作。\[3\]接下来,进行项目打包,可以使用Maven或其他构建工具将项目打包成可执行的jar或war文件。最后,将打包好的项目部署服务器上,可以使用FTP或其他方式将项目文件上传到服务器,并配置服务器的相关环境和参数。完成这些步骤后,Java项目就可以成功部署上线了。\[1\] #### 引用[.reference_title] - *1* *3* [从零开始,Java个人项目部署上线,并能在公网访问](https://blog.csdn.net/yuanchangliang/article/details/114872868)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Java项目写好了,如何部署上线?看这篇文章吧](https://blog.csdn.net/syc000666/article/details/128281617)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值