当前位置:网站首页>云服务器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
创作不易,麻烦点个赞啦!!!
边栏推荐
- 与TI的lvds芯片兼容-GM8284DD,GM8285C,GM8913,GM8914,GM8905C,GM8906C,国腾振芯LVDS类芯片,
- 引擎开发日志:OpenGL资源多线程加载
- IDEA2021.2安装与配置(持续更新)
- Comparative analysis of mobile cloud IoT pre-research and Alibaba Cloud development
- 调试九法准则
- 【nRF24L01 connects with Arduino to realize wireless communication】
- 【霍尔效应传感器模块与 Arduino】
- 龙讯LT6911系列C/UXC/UXB/GXC/GXB芯片功能区别阐述
- proteus数字电路仿真——入门实例
- 将ORCAD原理图导入allegro中进行PCB设计
猜你喜欢
随机推荐
博达工业云与阿里云对比
【DS3231 RTC实时时钟模块与Arduino接口构建数字时钟】
【水位传感器与 Arduino 连接测量水位】
proteus数字电路仿真——入门实例
IoT solution
ICN6211:MIPI DSI转RGB视频转换芯片方案介绍 看完涨知识了呢
2020 - AAAI - 图像修复 Image Inpainting论文导读 -《Region Normalization for Image Inpainting》
PCB设计思路
【Arduino connects DHT11 humidity and temperature sensor】
“520” 如何正确地用代码向 ta 表白?
增量编译技术在Lightly中的实践
如何使用 PHP 实现网页交互
Website development plan research
PCB Design Ideas
最第k大的数的一般性问题
uniCloud通讯录实战
分割回文串 DP+回溯 (LeetCode-131)
Type c PD 电路设计
与TI的lvds芯片兼容-GM8284DD,GM8285C,GM8913,GM8914,GM8905C,GM8906C,国腾振芯LVDS类芯片,
PCIE电路设计