云服务器部署 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搭建rtmp直播服务器实现代码
Mar 31 Servers
Nginx下配置Https证书详细过程
Apr 01 Servers
Nginx URL重写rewrite机制原理及使用实例
Apr 01 Servers
CKAD认证中部署k8s并配置Calico插件
Mar 31 Servers
Nginx隐藏式跳转(浏览器URL跳转后保持不变)
Apr 07 Servers
Consul在linux环境的集群部署
Apr 08 Servers
排查Tomcat进程假死的问题
May 06 Servers
nginx lua 操作 mysql
May 15 Servers
超越Nginx的Web服务器caddy优雅用法
Jun 21 Servers
Windows Server 2022 超融合部署(图文教程)
Jun 25 Servers
Nginx如何配置根据路径转发详解
Jul 23 Servers
Centos7 Shell编程之正则表达式、文本处理工具详解
Aug 05 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
第一个无线电台是由谁发明的
2021/03/01 无线电
支持中文的php加密解密类代码
2011/11/27 PHP
php中fsockopen用法实例
2015/01/05 PHP
php实现比较两个文件夹异同的方法
2015/06/18 PHP
PHP简单实现正则匹配省市区的方法
2018/04/13 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
ext combox 下拉框不出现自动提示,自动选中的解决方法
2010/02/24 Javascript
当json键为数字时的取值方法解析
2013/11/15 Javascript
jQuery实现的原图对比窗帘效果
2014/06/15 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
2015/12/03 Javascript
基于Bootstrap重置输入框内容按钮插件
2016/05/12 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
2016/09/08 Javascript
js学习总结之dom2级事件基础知识详解
2017/07/27 Javascript
200行HTML+JavaScript实现年会抽奖程序
2019/01/22 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
2020/07/24 Javascript
[31:55]完美世界DOTA2联赛循环赛 IO vs GXR BO2第一场 11.04
2020/11/05 DOTA
python中合并两个文本文件并按照姓名首字母排序的例子
2014/04/25 Python
Python实现判断给定列表是否有重复元素的方法
2018/04/11 Python
利用python打开摄像头及颜色检测方法
2018/08/03 Python
python实现维吉尼亚算法
2019/03/20 Python
python调用并链接MATLAB脚本详解
2019/07/05 Python
python中pygame安装过程(超级详细)
2019/08/04 Python
Python操作qml对象过程详解
2019/09/26 Python
python能做什么 python的含义
2019/10/12 Python
python深copy和浅copy区别对比解析
2019/12/26 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
Hotter Shoes美国官网:英国最受欢迎的舒适鞋
2018/08/02 全球购物
丝芙兰墨西哥官网:Sephora墨西哥
2020/05/30 全球购物
将一个文本文件的内容按倒序打印出来
2015/01/05 面试题
编辑硕士自荐信范文
2013/11/27 职场文书
股权转让协议书
2014/04/12 职场文书
长江三峡导游词
2015/01/31 职场文书
物业前台接待岗位职责
2015/04/03 职场文书
授权协议书范本(3篇)
2019/10/15 职场文书
简单了解 MySQL 中相关的锁
2021/05/25 MySQL