项目手动部署到Linux服务器

项目手动部署到Linux服务器

前端

如何让用户访问到我们服务器上的网页呢?需要 web 服务器,如nginx 、apache、tomcat(适用于部署 java 后端项目)

安装 nginx

在公司里面安装,可能没有 root 权限:Nginx 安装的权限问题

参考文章:https://zhuanlan.zhihu.com/p/425790769

  1. 用系统自带的软件包管理器快速安装,比如 centos 的 yum(centos 的一个软件包管理器)
  2. 自己到官网安装稳定版:https://nginx.org/en/download.html,下载 tar.gz 后缀的文件

相关指令如下:

# 在 root 目录下创建 services 目录,用来存放所有项目的依赖和安装包
mkdir services
# 进入到services目录中
cd services
# 指定下载的文件名称和下载地址,用 linux 的命令来下载,可以省去手动上传的时间
curl -o nginx-1.21.6.tar.gz http://nginx.org/download/nginx-1.21.6.tar.gz 
# 解压
tar -zxvf nginx-1.21.6.tar.gz 
# 进入到解压后的 nginx 目录中
cd nginx-1.21.6
# 安装相关依赖
yum install pcre pcre-devel -y
yum install openssl openssl-devel -y    # 如果要配置 https之类的,需要 OpenSSL 库
# 设置系统配置参数
./configure --with-http_ssl_module --with-http_v2_module --with-stream
# 编译,把 C 语言文件编译成 二进制文件
make
# 安装
make install

编译出来的二进制文件在这里:

这是一个可执行文件

配置一下环境变量

vim /etc/profile
# 按下 shift+g 将光标定位到最后一行,在末尾新增 ":/usr/local/nginx/sbin",如下:
export PATH=$PATH:/usr/local/nginx/sbin
# 使文件生效,重新激活一下
source /etc/profile
# 执行以下命令,没有反应,没有输出 command not found,则成功
nginx
# 可以查看到 nginx 已经在 80 端口监听
netstat ntlp
上传前端项目

这里的前端是基于 Vue 的,在 build 之后,将 dist 包上传到服务器,可以先压缩后再上传
在这里插入图片描述

  • 使用拖拽上传的方式需要先安装个小软件:yum install -y lrzsz
修改 nginx 配置文件

注意修改的是 /usr/local/nginx/conf 目录下的 nginx.conf 文件,不是 nginx-1.21.6/conf 下的。(执行编译、安装之后,原先的解压后的目录就没用了)

# 切换目录
cd /usr/local/nginx/conf
# 先把原本的文件复制一份,保险
cp nginx.conf nginx.default.conf

修改的内容有两个:
在这里插入图片描述

nginx 收到请求后,从 root 定义的路径找网页文件,需要把改为前端文件所在的位置
在这里插入图片描述

修改了 nginx 的配置后,需要重新加载一下配置,不用重启 nginx

nginx -s reload 

如果没有把配置文件中的 user 改成和启动用户一致(比如当前启动用户是 root),会出现 403 错误

查看一下 nginx 进程的启动用户,这里是 nobody,应该是 root 才对,这就是没有修改启动用户导致。

测试

直接访问服务器的 ip,看看能否访问到首页

前端访问时,不需要加端口号,默认访问的就是 80 端口

服务器防火墙需要开放 80 端口

后端

安装 java、maven(如果想要在服务器完成打包的工作)

安装环境
# 使用 yum 安装,无需配置环境变量,一步到位
yum install -y java-1.8.0-openjdk*
java -version

# 安装 maven 到 service 目录
curl -o apache-maven-3.8.5-bin.tar.gz https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz
# 解压
tar -zxvf apache-maven-3.8.5-bin.tar.gz
# 配置环境变量,按下 shift+g 将光标定位到最后一行,复制 maven 路径粘贴到 nginx 环境变量后面,使用冒号分隔
vim /etc/profile
source /etc/profile

添加内容如图

上传后端项目

克隆远程仓库;也可以拖拽文件上传到 Linux 上。

git clone [url]

使用 maven 打包

这里可以先修改一下 maven 的配置文件,使用国内的阿里云镜像、修改 maven 工程默认的 jdk 版本为 1.8

# 打包需要先进入项目目录(需要根据 pom.xml 才能打包)
cd xxx-backend
# 打包构建,跳过测试
mvn package -DskipTests
运行后端项目
java -jar xxx-backend-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod
# 执行后如果显示没有权限;给这个文件添加可执行权限
chmod a+x xxx-backend-0.0.1-SNAPSHOT.jar

执行后,命令行窗口就不能干任何事情了。

让项目在后台运行

nohup java -jar xxx-backend-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod &

查看

jobs # 看到哪些工作在运行

jps # 查看所有已经运行的 java 程序
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值