当前位置: 首页 > Linux

在Linux系统上部署基于SpringBoot+Vue的前后端分离项目笔记

时间:2023-04-06 19:08:24 Linux

前言毕业设计完成后,想练习一下如何在Linux服务器上部署。主要实现方式:前端Vue项目打包部署在nginx服务器上,后端SpringBoot项目打包成jar包直接运行。本文主要介绍:Nginx安装配置、JDK8安装配置、MySQL5.7安装配置、Vue项目打包、SpringBoot项目打包1、Linux环境准备条件购买云服务器,无条件使用VMWare。我在这里演示后者。如果你使用阿里云服务器,唯一的区别就是需要添加安全组,其他都差不多。我使用的CentOS7(1)首先安装系统镜像参考:虚拟机安装CentOS7教程(2)配置网络Net或bridge参考我的另一篇文章:Net模式&bridge模式配置教程这里演示Net模式2的使用一、Nginx的安装与配置1)从官网下载Linux版本:http://nginx.org/en/download....在Linux上下载对应版本的nginx压缩包(以tar.gz结尾)官网,并上传到linux服务器首先使用如下命令解压nginx安装包(根据下载的nginx版本替换对应的版本):tar-zxvfnginx-1.18.0.tar.gz进入nginx-1.18.0目录cdnginx-1.18.0make编译安装:./configuremakemakeinstall安装zlib库cd~wgethttp://www.zlib.net/zlib-1.2.11.tar.gztar-zxvfzlib-1.2.11.tar.gzcdzlib-1.2.11./configuremakemakeinstall安装SSLyum-yinstallopensslopenssl-develinstallpcreyum-yinstallpcre-devel或者这个命令:yum-yinstallmakezlib-develgcc-c++libtoolopensslopenssl-develnginx服务常用命令cd/usr/local/nginx/sbin/./nginxStart./nginx-sstopStop./nginx-squitSafeexit./nginx-sreload重新加载配置文件psaux|grepnginx查看nginx进程此时访问虚拟机配置的ip地址machine,如果能打开如下页面,说明nginx启动成功:配置nginx.conf文件vim/usr/local/nginx/conf/nginx.conf添加如下配置:server{listen80;服务器名称本地主机;#重要的位置/{root/usr/local/nginx/html/dist;#前端项目存放在nginx索引index.htmlindex.htm中的位置;try_files$uri$uri//index.html;#防止刷新后自动跳转自带404页面}修改配置文件后需要重新加载配置文件/usr/local/nginx/sbin/nginx-sreload至此nginx配置完成3、安装JDK1.8前提条件:#查看默认安装的jdk[root@huagang~]#rpm-qa|grepopenjdk-ijava-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64#如果显示如上,先卸载[root@huagang~]#rpm-e--nodepsjava-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64[root@huagang~]#rpm-e--nodepsjava-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64[root@huagang~]#rpm-e--nodepsjava-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64[root@huagang~]#rpm-e--nodepsjava-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64[root@huagang~]#rpm-qa|grepopenjdk-i[root@huagang~]#1.从官网下载JDK1.8:https://www.oracle.com/java/t...2.上传/home/文件到Linux下3.在/home下创建目录java,然后将压缩包解压到java目录下tar-zxvfjdk-8u331-linux-x64.tar.gz-Cjava4.移动java目录到mvjava/usr/local5下的/usr/local,配置环境变量(classpath现在不用配置,配置其他两项即可)vim/etc/profile#javaenvironmentexportJAVA_HOME=/usr/local/java/jdk1.8.0_331exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexportPATH=$PATH:$JAVA_HOME/bin6,让配置文件生效source/etc/profile7,java-version验证是否成功4、安装MySQL5.71,查看是否安装了rpm-qa|grep-imysql,查看是否安装了mysql安装包或者安装了yumlist|grepmysql如果有内容,说明已经卸载了命令:yumremovemysql-community-common-5.7.20-1.el7.x86_64yumremovemysql-community-client-5.7.20-1.el7。x86_64yumremovemysql57-community-release-el7-11.noarchyumremovemysql-community-libs-5.7.20-1.el7.x86_64yumremovemysql-community-server-5.7.20-1.el7.x86_642下载安装MySQL官方YumRepositorywget-i-chttp://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm3,安装MySqlyum-yinstallmysql57-community-release-el7-10.noarch。rpm注意:(执行命令安装MySQL服务器时可能会遇到此问题)source已经安装了“MySQL5.7CommunityServer”的GPG密钥,但不适用于此包,请检查;解决方法:rpm--importhttps://repo.mysql.com/RPM-GPG-KEY-mysql-20224、处理问题后开始安装MySQL服务器。yum-yinstallmysql-community-server必须先安装iptables服务yuminstalliptables-services5,查看是否启动Mysqlsystemctlis-enabledmysqld.service6,设置启动Mysqlsystemctlenablemysqld.service7,启动Mysql服务systemctlstartmysqld。service7,查看默认密码grep'temporarypassword'/var/log/mysqld.logIshow2022-04-29T06:29:20.081674Z1【注意】为root@localhost生成一个临时密码:flgJSNaSa4)s(如果notgenerated#清理残留内容rm-rf/var/lib/mysqllue#重启MySQL服务器systemctlrestartmysqld#重新生成初始密码)8.使用以上初始密码首次登录mysql-uroot-p9.很简单,我们可以更改密码策略,这样我们就可以使用123456setglobalvalidate_password_length=6;设置全局validate_password_policy=0;更改用户'root'@'localhost'IDENTIFIEDBY'123456';10.启用对mysql的远程访问(注:以下命令启用的IP为192.168.0.1,要全部启用,请使用%代替IP):grantallprivilegeson*.*to'root'@'192.168.0.1'由'123456'标识并具有授予选项;将*.*上的所有权限授予'root'@'%'由'123456'标识并具有授予选项;然后输入如下命令(mysql新建用户或修改密码后需要使用flushprivileges刷新mysql系统权限相关表,否则访问将被拒绝)flushprivileges;11检查字符编码showvariableslike'chara%';修改编码:vim/etc/my.cnf[mysqld]character_set_server=utf8init_connect='SETNAMESutf8'保存退出重启mysql服务systemctlrestartmysqld.service12。如果没有关闭防火,需要打开3306端口。如果防火关闭,则不需要这一步#查询端口是否开启firewall-cmd--query-port=3306/tcp#开启3306端口firewall-cmd--permanent--add-port=3306/tcp#去掉端口firewall-cmd--permanent--remove-port=3306/tcp#重启防火墙(修改配置后重启防火墙)firewall-cmd--reload#参数说明1.firwall-cmd:是firwall-cmd提供的工具Linux运行防火墙;2.--permanent:表示设置是永久的;3.--add-port:标识添加的端口;完成以上配置后,你可以尝试使用Navicat连接这个数据库,然后执行项目的SQL文件导入数据。相信大家都没问题,我就不演示了。五、Vue项目打包部署1)修改main.js中baseURL的localhost及所有与localhost相关的地方为申请的阿里云服务器公网IP。2)然后在终端执行命令:npmrunbuild打包后的文件在生成的dist文件夹下,前端项目打包完成。3)将打包后的dist文件夹上传到/usr/local/nginx/html/4)启动nginx,在浏览器中访问前端项目。6、SpringBoot项目打包部署1)修改properties.yml文件中的localhost为申请的阿里云服务器的公网IP或虚拟机中配置的IP。检查是否需要修改数据库密码。检查后打包。2)使用maven打包成jar包3)将打包后的jar文件上传到Linux服务器中的/home/javaProject,然后执行运行命令:java-jarcecms.jar4)保持项目运行的Linux在云服务器上其实一条命令就可以搞定(详见底部):nohupjava-jar包名.jar&查看进程号ps-ef|greppackagenamekillprocesskill-9进程编号方案1:https://www.cnblogs.com/21556...选项2:https://www.csdn.net/tags/Mtj...7.在此点,前后端项目都已经部署好了,可以使用IP地址访问了。有什么问题或者需要指正的在评论区留言,谢谢观看!