云服务器部署 Web 项目的实现步骤


Posted in Servers onJune 28, 2022

一: 搭建 Java 部署环境

之前说过 yum这个命令了,是"包管理器",可以理解为他就像是"应用商店",我们需要安装 JDK,Tomcat,还有Mysql,当然,我们下载需要用 yum install,必须使用管理员权限(root)

yum list | grep [软件包关键字] 功能:查看软件包列表
yum install [软件包名字] 功能:安装软件包(需要管理员权限)
yum remove [软件包名字] 功能:卸载软件包(需要管理员权限)

1: 安装 JDK

首先,我们先搜索一下,看看 yum 上关于 jdk 有没有,以及叫什么名字,我们可以通过 yum list命令就能列出来 相应的服务器上所有的软件包的名字(当然不要就这样敲,这样敲会把所有东西都列出来,会非常多,我们搭配 grep 来使用:yum list | grep gdk),只搜寻jdk的:

云服务器部署 Web 项目的实现步骤

这些版本都是不一样的,所以有好多,我们要认准这个标志:

云服务器部署 Web 项目的实现步骤

devel(表示开发工具包,也就是 jdk),东西最全,x86_64表示是这个软件包适用于 cpu 是64位的 x86 cpu(我们现在服务器用的cpu主要都是 x86 64位),

云服务器部署 Web 项目的实现步骤

上面有个.i686的是32位的,差别很大

我们把上面那个64位的复制下来(ctrl+insert)

yum install java-1.8.0-openjdk-devel.x86_64

云服务器部署 Web 项目的实现步骤

我安装过了,第一次记得按 y
验证是否安装成功,输入 javac查看

云服务器部署 Web 项目的实现步骤

注意此处我们安装的 jdk 是 OpenJDK ,和我们之前学 Java 用的 JDK 还不是一个,咱之前在 windows 上安装的 JDK 是 Oracle 官方的 JDK,OpenJDK 是 开源组织开发的另一个 JDK,虽然不是同一个,但是问题不大,都是用相同的 JVM Hostspot.(整体差别很小,所以没有必要去安装 Oracle JDK)

2: 安装 Tomcat

云服务器部署 Web 项目的实现步骤

我们发现yum上面虽然有 tomcat,但是版本比较老,是 7.0系列的,而我常用的是 8.5系列的,因为我们也知tomcat,JDK,Servlet,mysql这种版本都要匹配才稳定,所以我们需要进入tomcat官网进行下载:https://tomcat.apache.org/

云服务器部署 Web 项目的实现步骤

云服务器部署 Web 项目的实现步骤

云服务器部署 Web 项目的实现步骤

可能有些拖拽不成功,因为拖拽上传依赖 rz命令,需要先 yum install lrzsz 来安装依赖命令,才能上传,rz 把 windows 上的文件 传给 Linux 服务器,sz 把 Linux 上的文件传给 Windows

然后我们需要对 这个文件解压缩:unzip [压缩文件]

云服务器部署 Web 项目的实现步骤

云服务器部署 Web 项目的实现步骤

进入 文件夹查看:

云服务器部署 Web 项目的实现步骤

接下来就是启动tomcat了:

要想启动 tomcat,需要用到startup 脚本,其中 .bat是给 windows 使用的,.sh是给 Linux 使用的…

首次启动我们需要先给所有的 .sh 文件设置 可执行权限

cd 到 bin目录下,然后执行 chmod+x *.sh(给目录中所有.sh后缀的文件都加上可执行权限),加过之后,后面就不用加了

云服务器部署 Web 项目的实现步骤

在输入:sh startup.sh启动脚本

云服务器部署 Web 项目的实现步骤

总结

1: 先在官网下载 .zip 包
2: 把 zip 传到 linux 上,直接拖进去就行,不行就yum install lrzsz命令先下载
3: 使用 unzip 命令进行解压缩,同样可能也需要先下载
4: 切换到 bin 目录给所有 .sh加上可执行权限:chmod+x *.sh
5: sh startup.sh启动 romcat
(前四步首次使用需要做的,后面就不需要了,且才相关目录里执行命令)

如何验证tomcat是否启动成功?

1: 查看 tomcat 进程:
ps aux | grep tomcat,ps命令相当于windows上的任务管理器,会打印出当前主机的所有进程,grep tomcat按照 tomcat 关键字来进行匹配

云服务器部署 Web 项目的实现步骤

2: 查看 tomcat 的端口,默认是 8080
看下端口号是否被绑定:netstat -anp | grep 8080

云服务器部署 Web 项目的实现步骤

有这个就是启动成功

如果端口号被占用了,可以自己修改:

云服务器部署 Web 项目的实现步骤

找到 conf这个目录的 server.xml
vim server.xml进入编辑
找到这俩端口,改了就行

云服务器部署 Web 项目的实现步骤

云服务器部署 Web 项目的实现步骤

3: 还可以验证一下看能否访问 tomcat 的欢迎页面
如果能访问,就启动成功 外网IP+8080(自己设的端口号)就行了

云服务器部署 Web 项目的实现步骤

可能有些人买了服务器,并没有展示出来,因为云服务器厂商,为了保护咱们的服务器不受黑客的攻击,对于哪些端口能被外部访问进行了严格的限制,绝大部分端口在默认的情况下,无法通过外网来访问的,这就需要我们去官网开启防火墙/安全组,在后台页面配置,允许哪个/哪些端口可以对外访问,一定要保证 服务器是可访问的才能访问

云服务器部署 Web 项目的实现步骤

云服务器部署 Web 项目的实现步骤

云服务器部署 Web 项目的实现步骤

再把这个加上就行了:

云服务器部署 Web 项目的实现步骤

3: 安装 MySQL

我们自己的电脑和Linux 服务器是两台机器,因此,想要让程序在服务器上运行,我们就要给服务器装上 MySQL,这里我参考了以下安装教程:https://www.3water.com/article/112008.htm

这里我们安装的 MySQL 孪生兄弟,MariaDB,这俩的API 都是兼容的,效果一样.同时安装他都是要以 root 用户进行操作的.
具体步骤:

(1): 依次安装

安装 mariadb 服务:yum install -y mariadb-server
安装 mariadb 命令行客户端 :yum install -y mariadb
安装 mariadb C library:yum install -y mariadb-libs
安装 mariadb 开发包:yum install -y mariadb-devel

(2): 更改配置

通过 vim按下 i 进入插入模式更改以下配置,要细心操作,最后按下 esc 在按下 :wq 保存退出

更改: /etc/my.cnf.d/client.cnf 文件
[client] 下加一行配置 default-character-set=utf8

vim /etc/my.cnf.d/client.cnf

效果:

云服务器部署 Web 项目的实现步骤

更改 /etc/my.cnf.d/mysql-clients.cnf 文件
[mysql] 下加一行配置 default-character-set=utf8

vim /etc/my.cnf.d/mysql-clients.cnf

效果:

云服务器部署 Web 项目的实现步骤

更改 /etc/my.cnf.d/server.cnf 配置

[mysqld] 下加配置

collation-server = utf8_general_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
sql-mode = TRADITIONAL
vim /etc/my.cnf.d/server.cnf

效果:

云服务器部署 Web 项目的实现步骤

(3): 启动

启动服务: systemctl start mariadb
设置服务开启自启动:systemctl enable mariadb
查看服务状态:systemctl status mariadb
注意到 Active 状态为 active (running)

云服务器部署 Web 项目的实现步骤

(4): 测试连接

使用命令行客户端尝试连接:mysql -uroot

云服务器部署 Web 项目的实现步骤

查看 mariadb 版本号:select version();

云服务器部署 Web 项目的实现步骤

查看字符集配置:show variables like '%char%';

云服务器部署 Web 项目的实现步骤

好了,到这里就大功告成了
注意:我这里是没有设置密码直接登录的,因为我的数据库啥值钱的都没有,也不怕别人折腾,就懒得设了

二: 部署 web 项目

1: 给服务器准备好依赖的数据

之前的数据库跟这里的数据库是没关系的,我们需要把之前的数据给复制过来

云服务器部署 Web 项目的实现步骤

云服务器部署 Web 项目的实现步骤

成功导入!!

2: 微调我们的 Java 代码

之前我们在写 java 代码的时候,访问数据库有一个密码,而这里云服务器上的数据库的密码是不一样的,我们云服务器上根本就没有设置密码,是空字符串

云服务器部署 Web 项目的实现步骤

3: 重新打包

这里要用我们原始的打包过程,需要基于 maven 的 package 操作来生成 war 包!首先就是先在pom.xml里面设置成war包,名字就设置为 blogSystem

云服务器部署 Web 项目的实现步骤

云服务器部署 Web 项目的实现步骤

云服务器部署 Web 项目的实现步骤

然后再左侧的target目录下有生成的 war 包

云服务器部署 Web 项目的实现步骤

云服务器部署 Web 项目的实现步骤

4: 上传到服务器上

一个字: 拖!把刚刚的 war 包拖到我们云服务器的 webapps目录下,tomcat如果在运行中,就会自动对 war 进行解压缩

云服务器部署 Web 项目的实现步骤

5: 验证

进行登录查看是否成功:博客系统(用户名:lisi 密码:123)

云服务器部署 Web 项目的实现步骤

云服务器部署 Web 项目的实现步骤

到这里,web项目就部署完成了!!!(由于背景图有点大,可能加载有点慢,这是正常现象)
我们在遇到问题的时候不要害怕一是我们可以通过抓包来查看问题原因,还有就是要习惯于看 logs 日志文件寻找问题,出错了就找最新的文件日期,最好全都看…

云服务器部署 Web 项目的实现步骤

到此这篇关于云服务器部署 Web 项目的实现步骤的文章就介绍到这了,更多相关云服务器部署Web项目内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Servers 相关文章推荐
Nginx下配置Https证书详细过程
Apr 01 Servers
Nginx进程调度问题详解
Sep 25 Servers
nginx内存池源码解析
Nov 20 Servers
nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)
Feb 12 Servers
详解使用内网穿透工具Ngrok代理本地服务
Mar 31 Servers
从零开始在Centos7上部署SpringBoot项目
Apr 07 Servers
V Rising 服务器搭建图文教程
Jun 16 Servers
Docker部署Mysql8的实现步骤
Jul 07 Servers
彻底卸载VMware虚拟机的超详细步骤记录
Jul 15 Servers
Windows server 2016服务器基本设置
Aug 14 Servers
服务器nginx权限被拒绝解决案例
Sep 23 Servers
CentOS7设置ssh服务以及端口修改方式
Dec 24 Servers
在虚拟机中安装windows server 2008的图文教程
腾讯云服务器部署前后分离项目之前端部署
Jun 28 #Servers
windows系统安装配置nginx环境
Jun 28 #Servers
Python安装及建立虚拟环境的完整步骤
win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法
git stash(储藏)的用法总结
Jun 25 #Servers
git中cherry-pick命令的使用教程
Jun 25 #Servers
You might like
php学习之function的用法
2012/07/14 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
JavaScript入门教程(2) JS基础知识
2009/01/31 Javascript
JQuery 操作Javascript对象和数组的工具函数小结
2010/01/22 Javascript
JS 进度条效果实现代码整理
2011/05/21 Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
2014/05/02 Javascript
js实现下拉列表选中某个值的方法(3种方法)
2015/12/17 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
2016/09/14 Javascript
Angular下H5上传图片的方法(可多张上传)
2017/01/09 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
2020/07/27 Javascript
ant design vue嵌套表格及表格内部编辑的用法说明
2020/10/28 Javascript
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
Python字符串的encode与decode研究心得乱码问题解决方法
2009/03/23 Python
关于Python元祖,列表,字典,集合的比较
2017/01/06 Python
python snownlp情感分析简易demo(分享)
2017/06/04 Python
python实现简易动态时钟
2018/11/19 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
2019/08/17 Python
基于Python+Appium实现京东双十一自动领金币功能
2019/10/31 Python
python高阶函数map()和reduce()实例解析
2020/03/16 Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
2020/04/01 Python
python实现图片,视频人脸识别(opencv版)
2020/11/18 Python
Betsey Johnson官网:妖娆可爱的连衣裙及鞋子、手袋和配件
2016/12/30 全球购物
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
乌克兰时尚鞋子和衣服购物网站:Born2be
2018/05/24 全球购物
Anya Hindmarch官网:奢侈设计师手袋及配饰
2018/11/15 全球购物
Java中采用什么结构来捕获、处理异常?各子句的顺序、功能如何
2013/10/07 面试题
大四自我鉴定范文
2013/10/06 职场文书
医院护士专业个人的求职信
2013/12/09 职场文书
淘宝店铺营销方案
2014/02/13 职场文书
银行奉献演讲稿
2014/09/16 职场文书
财务经理岗位职责范本
2015/04/08 职场文书
帝企鹅日记观后感
2015/06/10 职场文书
党员学习中国梦心得体会
2016/01/05 职场文书
2016年中学端午节主题活动总结
2016/04/01 职场文书
Python 如何安装Selenium
2021/05/06 Python