云服务器部署 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的rewrite模块详解
Mar 31 Servers
nginx location中多个if里面proxy_pass的方法
Mar 31 Servers
Nginx+SpringBoot实现负载均衡的示例
Mar 31 Servers
Nginx反向代理及负载均衡如何实现(基于linux)
Mar 31 Servers
Nginx反向代理至go-fastdfs案例讲解
Aug 02 Servers
Nginx虚拟主机的配置步骤过程全解
Mar 31 Servers
idea下配置tomcat避坑详解
Apr 12 Servers
项目中Nginx多级代理是如何获取客户端的真实IP地址
May 30 Servers
Apache POI操作批量导入MySQL数据库
Jun 21 Servers
Linux中一对多配置日志服务器的详细步骤
Jul 23 Servers
Windows server 2016服务器基本设置
Aug 14 Servers
Flink 侧流输出源码示例解析
Sep 23 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
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
php实现获取及设置用户访问页面语言类
2014/09/24 PHP
php开发工具有哪五款
2015/11/09 PHP
教大家制作简单的php日历
2015/11/17 PHP
php实现等比例不失真缩放上传图片的方法
2016/11/14 PHP
针对PHP开发安全问题的相关总结
2019/03/22 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
2019/05/08 PHP
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
JavaScript调用ajax获取文本文件内容实现代码
2014/03/28 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
2014/06/22 Javascript
使用jQuery的toggle()方法对HTML标签进行显示、隐藏的方法(示例)
2016/09/01 Javascript
如何用JS/HTML将时间戳转换为“xx天前”的形式
2017/02/06 Javascript
在js代码拼接dom对象到页面上去的模板总结(必看)
2017/02/14 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
微信小程序内拖动图片实现移动、放大、旋转的方法
2018/09/04 Javascript
JavaScript对象原型链原理详解
2020/02/05 Javascript
vue.config.js中配置Vue的路径别名的方法
2020/02/11 Javascript
python获取list下标及其值的简单方法
2016/09/12 Python
Python和Java进行DES加密和解密的实例
2018/01/09 Python
python 对dataframe下面的值进行大规模赋值方法
2018/06/09 Python
Django配置文件代码说明
2019/12/04 Python
Pandas+Matplotlib 箱式图异常值分析示例
2019/12/09 Python
什么是python的id函数
2020/06/11 Python
思想汇报格式
2014/01/05 职场文书
计算机专业优秀大学生自我总结
2014/01/21 职场文书
运动会广播稿500字
2014/01/28 职场文书
揭牌仪式策划方案
2014/05/28 职场文书
低碳环保标语
2014/06/12 职场文书
竞赛口号大全
2014/06/16 职场文书
学校安全责任书范本
2014/07/23 职场文书
父亲节寄语大全
2015/02/27 职场文书
2019新学期家长会工作计划
2019/08/21 职场文书
Python的flask接收前台的ajax的post数据和get数据的方法
2021/04/12 Python
使用CSS实现小三角边框原理解析
2021/11/07 HTML / CSS
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫