学习项目的部署

一、前言

作为一个开发人员,应该都知道项目的部署,但是,博主目前作为还未入职过的开发小白,虽然早就听闻部署,也大概知道部署的作用,但是具体流程却还是没有经历过,所以今天从零开始部署一个项目,学习项目的部署。

二、前期准备

一台云服务器(操作系统为Linux,且已备案),XShell(能连接远程服务器的软件即可,不一定是XShell),实现了一定基础功能的前后端项目。(本人这里准备的是一台搭载CentOS7.9 的阿里云ECS云服务器)

三、部署的基本流程

  1. 将源代码生成可运行的软件包,例如 jar 包或 war 包等;
  2. 将可运行的软件包放到目标环境上;
  3. 配置目标环境使得软件包能够运行起来;
    以下我们直接从第二步开始,分别前端和后端分开:

四、前端部署

  1. nginx 环境准备

首先连接远程服务器,下载nginx,这里推荐直接使用Linux自带的命令下载,避免还需要自己上传nginx的压缩包到云服务器,命令如下:

//curl -o [ 文件名] [对应下载的地址]
curl -o nginx-1.24.0.tar.gz  https://nginx.org/download/nginx-1.24.0.tar.gz
//解压文件
tar -zxvf nginx-1.24.0.tar.gz

在这里插入图片描述

解压文件后进入nginx-1.24.0,通过./configure命令查看我们的Linux是否有nginx运行的环境。

运行完提醒我们缺少了PCRE的库,那我们通过yum安装就行:
在这里插入图片描述

//运行下载pcre库
yum install pcre pcre-devel -y

下载完后再次执行./configure,如果还有缺少的包那么继续下载安装即可,直到以下画面:
在这里插入图片描述
这里说OpenSSL未使用到,为了之后配置不出问题,我们可以一并安装好这个库

yum install openssl-devel -y

安装完后,需要执行下面的命令来开启OpenSSL库,获取http支持

./configure --with-http_ssl_module --with-http_v2_module --with-stream

执行完如下:
在这里插入图片描述
最后,进行编译

make
make install

编译完成我们查看一下nginx的二进制文件是否可执行:
在这里插入图片描述
绿色说明可执行,我们的nginx的环境就准备好了,但是这时我们在命令号直接输入nginx是否可以运行呢?那当然是不行的,因为我们还没有配置好环境变量,为了能够全局访问,我们还需要为nginx配置一下环境变量:

//首先进入profile
vi /etc/profile
//最后一行插入
export PATH=$PATH:/usr/local/nginx/sbin
//配置文件更新
source /etc/profile

重启nginx,并查看线程,可以看到80端口已被nginx占用,说明nginx已启动
在这里插入图片描述

  1. 部署
    首先build前端项目,然后上传到我们的服务器,然后需要修改nginx的配置文件,配置文件的位置在./configure后找,如下图
    在这里插入图片描述
 //将nobody改成root,否则访问网页无权限
 user  root;
//root后面是上传的build文件位置
 location / {
            root   /root/services/user-center-front;
            index  index.html index.htm;
        }
 //注意,修改完nginx的配置文件,一定要重新加载
 nginx -s reload

到此,前端就部署完毕了,我们可以在网页上进行访问。
在这里插入图片描述

五、后端部署

  1. 环境准备
    首先需要java,其次需要打包工具(maven),安装java,直接用yum安装,maven的下载方式同nginx相同,可在上方做参考
//java
yum -y install java-1.8.0-openjdk*
//maven
curl -o apache-maven-3.8.8-bin-tar.gz https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
//解压
tar -zvxf apache-maven-3.8.8-bin.tar.gz
//配置环境变量
cd apache-maven-3.8.8/bin
pwd
//在最后一行加上
:/services/apache-maven-3.8.8/bin
//检查maven
mvn -v

当然,大家知道我们下载的maven直接用,下载源是国外的中央仓库,大家可以自行搜索为maven换源,加快打包速度。
2. 部署
上传项目到服务器,进入项目内,把我们的代码打包成可执行的jar包:

mvn package -DskipTests

进入target,可以看到里面有jar包文件,修改jar包文件的访问权限

chmod a+x [jar包名]

执行jar包

//前台运行
java -jar[jar包名] --spring.profiles.active=prod
//后台运行
nohup java -jar[jar包名] --spring.profiles.active=prod &

在这里插入图片描述
后端运行成功,部署完毕

六、总结

到此,前后端的部署就完毕了,后续的调试就不再赘述。可以看到,这是一篇原生的前后端部署方式,较于其他方式,会显得比较复杂,但是,这种原生的方式是其他部署方式的根本,作为初学者还是有必要弄清楚流程的!! 其他方式都是在此基础上做了一些自动配置,加快了部署,也更加的方便,了解原生方式后,当然可以选择现成的便捷方式来提高效率了。

注:本篇为自主学习笔记

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值