前后端分离项目部署服务器教程--实践成功

打印 上一主题 下一主题

主题 668|帖子 668|积分 2004

花了快要一天部署前后端的项目,写一个日志纪录一下,话说孰能生巧。明天把服务器恢复初始在部署一下。
项目介绍

我部署的是前后端分离的项目,前端是vue写的,后端是基于springboot工程。
这是我的项目架构。
没有采取Redis来缓存。


流程

1租界云服务

首先必要租借一个云服务器。阿里云、腾讯云都是可以的,弟子另有肯定的优惠代价。
2通过远程软件毗连服务器

通过X-shell 和 Xftp 远程操作服务器,X-shell是和服务器举行毗连控制的,Xftp是文件上传,可以用可视化界面来上传文件。
X-shell和Xftp可以申请弟子认证免费使用。
3部署前后端代码

首先创建x-shell毗连。
前端工程通过bulid下令打包,后端springboot通过maven下令打包。

后端工程


在xshell里面:
创建文件夹:mkdir -p /home/server/honey2024
上传 jar 包到服务器 /home/server/honey2024/java 目次
设置 application.yml 覆盖,项目启动后会使用这个yml里面的配置。

添加 启动和停止脚本
cd /home/server/honey2024/java
vi start.sh
输入下面的下令,先点击a进入插入模式,在粘贴已往,按下esc和:,输入wq!保存文件。也可以通过可视化直接操作。
  1. NAME=springboot-0.0.1-SNAPSHOT.jar
  2. nohup java -jar $NAME > server.log 2>&1 &
  3. echo 'start success'
复制代码
停止功能文件

vi stop.sh
  1. PORT=9090
  2. pid=`netstat -tnlp | grep $PORT | grep -v grep | awk '{print $7}' | awk -F/ '{print $1}'`
  3. if [ ${pid} ]; then
  4.     kill -9 $pid
  5.     echo "kill $PORT"
  6. else
  7.     echo 'stop sucess!'
  8. fi
复制代码
再讲所有文件都加上权限
  1. chmod +x *
  2. 这是一个 Unix/Linux 系统中的命令,用于给当前目录下的所有文件添加可执行权限。通常情况下,chmod 是用来改变文件或目录的权限设置的命令,而 +x 则是表示添加可执行权限。 * 通配符表示所有文件。因此,这个命令的作用是将当前目录下的所有文件设置为可执行的。
复制代码
部署vue文件
将打包后的dist文件上传到vue文件夹,这个时候项目以及部署完毕了,下面必要哦配置项目所必要的情况

情况配置

项目用的是jdk1.8,mysql5.7,另有nginx。
安装包链接:
链接:https://pan.baidu.com/s/1OuoOwQQmZ8xxq91LQuTZ8w?pwd=trdp
提取码:trdp
–来自百度网盘超等会员V3的分享
1.安装jdk

  1. tar -zxvf /tmp/jdk-8u371-linux-x64.tar.gz -C /usr/local/
  2. #解压文件 到local文件夹
  3. mv /usr/local/jdk1.8.0_371 /usr/local/java
  4. # 修改文件名
  5. vi /etc/profile
  6. #配置环境
  7. export JAVA_HOME=/usr/local/java
  8. export PATH=$JAVA_HOME/bin:$PATH
  9. #这两行设置了 JAVA_HOME 环境变量为 JDK 的安装路径,以及将 JDK 的 bin 目录添加到#系统的 PATH 环境变量中,使得系统可以找到 Java 可执行文件。
  10. source /etc/profile
  11. source /etc/profile
  12. #这个命令用于使更改后的环境变量立即生效,而不需要重新启动系统。
  13. # 验证
  14. java -version
复制代码

2.安装Nginx

安装库文件
  1. #安装gcc
  2. yum install gcc-c++
  3. #安装PCRE pcre-devel
  4. yum install -y pcre pcre-devel
  5. #安装zlib
  6. yum install -y zlib zlib-devel
  7. #安装Open SSL
  8. yum install -y openssl openssl-devel
复制代码
解压编译nginx,并安装
  1. mkdir /usr/local/nginx
  2. tar -zxvf /tmp/nginx-1.24.0.tar.gz -C /usr/local/nginx
  3. cd /usr/local/nginx/nginx-1.24.0
  4. ./configure --with-http_stub_status_module --with-http_ssl_module
  5. make && make install
复制代码
nginx的下令
  1. cd /usr/local/nginx/sbin
  2. ./nginx     # 启动
  3. ps -ef | grep nginx  # 查看
  4. ./nginx -s stop      # 停止
  5. ./nginx -s reload    # 重启
复制代码
3.安装mysql数据库

linux会自带一个数据库,必要将原来的数据库删除。
  1. rpm -qa | grep mariadb
  2. yum remove -y mariadb-connector-c-3.1.11-2.oc8.1.x86_64
  3. yum remove -y mariadb-connector-c-config-3.1.11-2.oc8.1.noarch
复制代码
下载 mysql 并 上传到 /tmp 目次
安装 mysql 下令:
  1. mkdir /data/mysql
  2. tar -zxvf /tmp/mysql-5.7.42-el7-x86_64.tar.gz -C /usr/local
  3. mv /usr/local/mysql-5.7.42-el7-x86_64 /usr/local/mysql
  4. # 添加用户组
  5. groupadd mysql
  6. useradd -r -g mysql mysql
  7. chown -R mysql.mysql /usr/local/mysql
  8. chown -R mysql.mysql /data/mysql
  9. cd /usr/local/mysql
  10. /usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql --initialize
  11. #  将mysql加入到服务中
  12. cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
  13. # mysql快捷方式
  14. ln -s  /usr/local/mysql/bin/mysql /usr/bin
  15. ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5
  16. ln -s /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurses.so.5
复制代码

记着暂时密码:osGMitUO<56. 每个人的密码不一样
配置 mysql 配置文件 my.cnf
vi /etc/my.cnf
mysql的一些配置文件
  1. [mysqld]
  2. datadir=/data/mysql
  3. basedir=/usr/local/mysql
  4. socket=/tmp/mysql.sock
  5. user=mysql
  6. port=3306
  7. character-set-server=utf8
  8. # 取消密码验证
  9. # skip-grant-tables
  10. # # Disabling symbolic-links is recommended to prevent assorted security risks
  11. symbolic-links=0
  12. [mysqld_safe]
  13. log-error=/var/log/mysqld.log
  14. pid-file=/var/run/mysqld/mysqld.pid
复制代码
启动 mysql: service mysql start

开机启动: chkconfig mysql on
登录 mysql:mysql -uroot -p
输入暂时密码进入 mysql
修改密码并设计权限
  1. SET PASSWORD = PASSWORD('123456');
  2. use mysql;
  3. update user set host ='%'where user ='root' and host ='localhost';
  4. flush privileges;
  5. exit;
复制代码
  1. 这些命令是在 MySQL 数据库中重置 root 用户的密码并允许远程访问的一系列操作。让我逐步解释:
  2. SET PASSWORD = PASSWORD('123456');: 这个命令用于将 root 用户的密码设置为 123456。SET PASSWORD 是 MySQL 中用于设置用户密码的命令。
  3. use mysql;: 这个命令用于切换到 mysql 数据库,mysql 是 MySQL 中存储用户权限信息的系统数据库。
  4. update user set host ='%'where user ='root' and host ='localhost';: 这个命令用于更新 user 表中 root 用户的主机信息,将其从 localhost 改为 %,表示允许 root 用户从任何主机访问 MySQL。
  5. flush privileges;: 这个命令用于刷新 MySQL 的权限,使修改立即生效。
  6. exit;: 这个命令用于退出 MySQL 客户端。
复制代码
用datagrip链接服务器上面的数据库。
还必要设计服务器的防火墙,运行对应的后端请求端口通过。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

杀鸡焉用牛刀

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表