当前位置:网站首页>云服务器web项目部署详解
云服务器web项目部署详解
2022-08-02 03:32:00 【Money、坤】
一、部署前准备工作
提前购买好一台云服务器,可以是阿里云、百度云、腾讯云等等,大家根据自己的喜好购买,小编这里使用的是轻量级百度云;

准备一个远程连接工具,可以是xshell/xftp等,小编使用的是finalShell;
本地数据库,SQLyoung、navicat均可,用于远程连接服务器数据库;
部署web项目所需要的一些工具,JDK,MySQL,TomCat,Maven等;
(注:本文所有使用的软件安装包附在文本末百度网盘链接)
二、软件安装
使用远程连接工具连接服务器
按图示操作即可:

文件上传
所有文件上传操作,均按如下操作即可:

安装JDK
(1)将jdk解压到 /usr/local 目录下
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local
(2)配置环境变量
vim /etc/profile
再配置文件末加入以下信息:
JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH
(3)使配置文件生效
source /etc/profile
(4)检验是否安装成功
java -version
安装成功:
- 安装Tomcat
(1)将tomcat解压到 /usr/local 目录下
tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local
(2)启动tomcat服务
进入tomcat根目录 :
cd apache-tomcat-7.0.57/bin/
启动tomcat :
sh startup.sh
查看是否启动成功:
- 安装MySql( rpm软件安装包)
注:本文使用的是rpm安装包,安装步骤较为繁琐,一定要按步骤操作:
(1)解压到/usr/local
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local
(2)安装顺序
依次执行下列语句:
rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
(3)安装最后一个安装包之前,要先安装yum工具:
yum install net-tools

继续安装mysql-community-server
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm
(4)安装成功后,系统会初始化mysql,通过以下命令查看数据库临时密码
cat /var/log/mysqld.log |grep password

(6)修改密码
set global validate_password_length=4; //设置密码长度最低位数
set global validate_password_policy=LOW; //设置密码安全等级低,便于密码的修改
set password=password('1234'); //设置密码为1234
(7)开启访问权限
//通过开启访问权限,可以远程连接数据库
grant all on *.* to 'root'@'%' identified by '1234';
flush privileges;
使用新密码连接数据库:
- 安装maven
(1)解压maven到/usr/local目录下:
tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local
(2)配置环境变量
编辑配置文件:
vim /etc/profile
在配置文件添加如下信息:
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
查看是否安装成功:
mvn -version

三、项目部署
1.打开防火墙,开启指定端口
- 查看防火墙状态
systemctl status firewalld

- 开放防火墙的指定端口(8080)
firewall-cmd --zone=public --add-port=8080/tcp --permanent
注:开放指定端口后需要将端口生效:
firewall-cmd --reload
- 查看开放的端口
firewall-cmd --zone=public --list-ports

2. 手工部署
(1)将项目打包;
(2)上传jar包到Linux系统;
(3)运行jar包程序:java -jar jar包
(4)后台运行程序,并将日志输出到hello.log中:
nohup java -jar take_outProject-1.0-SNAPSHOT.jar &>hello.log &
(5)关闭boot程序:
ps -ef |grep java
(6)关闭进程
Kill -9 进程号
- 脚本程序自动化部署
(1)提前准备好git远程仓库
(2)编写如下脚本程序
创建脚本文件:
vim bootStart.sh
在脚本中添加如下信息:
#!/bin/sh
echo =================================
echo 自动化部署脚本启动
echo =================================
echo 停止原来运行中的工程
APP_NAME=take_outProject
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${
tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${
tpid} ]; then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi
echo 准备从Git仓库拉取最新代码
cd /usr/local/take_outProject
echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成
echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`
cd target
echo 启动项目
nohup java -jar take_outProject-1.0-SNAPSHOT.jar &>take_outProject.log &
echo 项目启动完成
(备注:只需将脚本的项目更改为你自己的项目将即可,同时,你本地的项目需要关联远程git仓库)
(3)为脚本程序添加可执行权限
chmod 777 bootStart.sh
(4)执行脚本
./bootStart.sh

5. 使用公网ip访问项目
最后,附上部署项目所需要的安装包,百度网盘链接:
链接:https://pan.baidu.com/s/1g7pKRdajFGlcg2VBe-tJ_w
提取码:trin
创作不易,麻烦点个赞啦!!!
边栏推荐
- USB2.0一致性测试方法_高速示波器
- 【Popular Science Post】Detailed explanation of MDIO interface
- 【Popular Science Post】UART Interface Communication Protocol
- MIPI解决方案 ICN6202:MIPI DSI转LVDS转换芯片
- 【nRF24L01 与 Arduino 连接实现无线通信】
- 使用pyqt弹出消息提示框
- 2019 - ICCV - 图像修复 Image Inpainting 论文导读《StructureFlow: Image Inpainting via Structure-aware ~~》
- 使用Vercel托管自己的网站
- 联阳IT6561|IT6561FN方案电路|替代IT6561方案设计DP转HDMI音视频转换器资料
- 增量编译技术在Lightly中的实践
猜你喜欢

如何使用 PHP 实现网页交互

如何快速搭建属于自己的物联网平台?

I2C无法访问ATEC508A加密芯片问题

2019 - ICCV - 图像修复 Image Inpainting 论文导读《StructureFlow: Image Inpainting via Structure-aware ~~》

【plang1.4.3】语言新特性:集合

【水位传感器与 Arduino 连接测量水位】

Compatible with C51 and STM32 Keil5 installation method

判断子序列 —— LeetCode-392

所有子字符串中的元音 —— LeetCode - 2063

78XX 79XX多路输出电源
随机推荐
IDEA2021.2安装与配置(持续更新)
Compatible with C51 and STM32 Keil5 installation method
最第k大的数的一般性问题
与TI的lvds芯片兼容-GM8284DD,GM8285C,GM8913,GM8914,GM8905C,GM8906C,国腾振芯LVDS类芯片,
Industry where edge gateway strong?
Pylon CLI 低成本的本地环境管控工具应用实例
2019 - ICCV - 图像修复 Image Inpainting 论文导读《StructureFlow: Image Inpainting via Structure-aware ~~》
Chrome 里的小恐龙游戏是怎么做出来的?
USB3.0一致性测试方法
Website development plan research
USB HUB USB集线器电路设计
单火线开关设计详解
openwrt RK3568_EVB移植
Arduino lights up nixie tubes
【plang 1.4.3】定时器的使用
【TCS3200 颜色传感器与 Arduino 实现颜色识别】
龙芯2K1000使用nfs挂载文件系统进行使用
物联网方案
【nRF24L01 connects with Arduino to realize wireless communication】
【Arduino使用旋转编码器模块】