服务器部署前后端分离项目(极简篇)

看本篇教程的前提是拥有服务器(域名的话买不买都行,域名后续还得备案,不然不能使用)

1.宝塔面板的安装

登录进入服务器后,在服务器控制台输入以下指令:

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

输入安装指令后,会询问你是否安装,输入y即可:

安装完成后,会返回面板地址,用户名称以及密码:

这时记得查看你的服务器安全组规则里面有没有放行宝塔面板相应的端口,放行端口后使用外网面板地址访问,输入账号和密码就可以使用了,如果日后忘记了密码,在控制台输入bt,选择5修改面板密码修改即可:

如果像再次获取面板地址等信息,在服务器输入以下指令即可查看:

/etc/init.d/bt default

2.nginx、tomcat以及jdk等的安装

点击宝塔面板侧边栏的网站等,会直接提示下载安装,点击下载安装即可

3.mysql的安装

1.可以用宝塔面板直接安装,但是有的情况下下载会很慢,这时候可以在服务器上输入指令手动安装

2.服务器中指令安装
1.mysql的下载

mysql的下载网址,点击即可:https://dev.mysql.com/downloads/mysql/

2.下载离线版本Centos版本的mysql(具体下哪个版本看你自己的需要)

3.下载好以后将压缩包进行解压,解压后的目录:

以上为解压之后的依赖

4.在服务器的opt目录下创建一个mysql文件夹,将上面红框框选的对应依赖上传到文件夹
5.检查依赖
rpm -qa | grep libaio

如果返回信息如下,表示存在:

rpm -qa | grep net-tools

如果返回信息如下,表示存在:

6.进行安装

首先通过下方指令进入文件所在目录:

cd /opt/mysql

将上传的rpm文件安装顺序依次安装:

rpm -ivh mysql-community-common-8.0.29-1.el7.x86_64.rpm rpm -ivh mysql-community-client-plugins-8.0.29- 1.el7.x86_64.rpm rpm -ivh mysql-community-libs-8.0.29-1.el7.x86_64.rpm 注意:腾讯云安装libs时会报错,可以执行yum remove -y mysql-libs指 令删除linux中存在的mysql-libs依赖 rpm -ivh mysql-community-client-8.0.29-1.el7.x86_64.rpm rpm -ivh mysql-community-icu-data-files-8.0.29-1.el7.x86_64.rpm rpm -ivh mysql-community-server-8.0.29-1.el7.x86_64.rpm

全体目光向我看齐啊:一定要按照顺序!一定要按照顺序!一定要按照顺序!

安装过程中遇到的问题(有的服务器貌似不会出现,有的就会,具体不清楚),如果没遇到那最好,如果遇到了就按照以下方法尝试解决:

1.如果你以前在服务器安装过一些包,安装时依旧会报错的,会报这个包很早之前安装过,比如下图所示,这时候需要通过以下指令进行删除再重新下载:

先进行删除:

yum remove 包名(需要删除的包名,上图红框所圈的位置)

再进行下载:

yum install 包名(需要下载的包名,上图红框所圈的位置)

2.如果初次安装有时会报找不到某个包,那你就可以通过上边的下载指令直接进行下载即可

7.服务进行初始化

为了保证数据库目录与文件的所有者为mysql登录用户,如果你是以root身份运行mysql服务,需要执行以下的命令初始化。

mysqld --initialize --user=mysql

可以通过以下指令查看mysql的版本:

mysql --version
8.启动服务
systemctl start mysqld
9.进行登录

首先需要查看安装后的初始密码

通过以下指令就可以找到mysql的初始密码:

cat /var/log/mysqld.log | grep 'A temporary password'

会显示如下信息:

@localhost冒号后面就是你的mysql初始密码

进行登录

mysql -uroot -p

输入密码后修改mysql的密码:

alter user 'root'@'localhost' identified with mysql_native_password by '你想修改的密码'; //进行刷新 flush privileges;

然后输入quit命令退出,使用新密码登录

10.在本机使用navcat数据库可视化工具进行远程连接

开放远程登录的权限

登录mysql之后执行以下指令:

use mysql; update user set host = '%' where user ='root'; flush privileges;

设置防火墙放行3306端口:

firewall-cmd --permanent --add-port=3306/tcp systemctl restart firewalld

注意:云服务器和宝塔面板的防火墙都需要放行端口

使用navcat连接服务器的mysql

输入你的服务器ip地址以及服务器mysql的用户名密码:

后端项目部署方法

1.更改配置文件中数据源的用户名和密码,替换成服务器mysql的用户名和密码,数据源的url可以换成服务器ip,如果不换保持localhost按理说是没问题的,因为部署到服务器后,localhost指的应该就是服务器ip,这个小编本人还没有尝试
2.按照以下指示将项目打成jar包

首先打开pom.xml文件查看是否是打成jar,如果是war那就改成jar

然后进行打包

注意:如果打包时没有通过测试,会打包成一个几十kb的jar包,这时错误的,部署到宝塔面板上也是启动不了的,如果出现这个错误,就仔细检查一下是否依赖有没有问题

3.打包过后将jar包上传到宝塔文件中www/wwwroot中
4.点击宝塔侧边栏网站,选择创建java项目选项,点击添加,然后选择对应的jar包,项目端口号(前端项目别忘了写对应的端口),选择对应的jdk,点击提交即可

5.宝塔面板以及服务器对项目端口都要进行放行

前端项目进行打包

1.在vue的终端输入以下指令进行打包
npm run build

或者点击NPM脚本中的build进行打包

2.在宝塔面板创建PHP项目,点击添加站点,输入域名或者ip即可,其它的不用管,添加成功后,这时候宝塔会自动给你在www/wwwroot文件夹下添加以对应域名或ip命名的文件夹,文件夹里生成了四个文件,这时候你可以测试能否访问了,如果不能访问,那就查看宝塔面板和服务器两个防火墙是否放行了80端口(80是默认端口)
3.将打包的dist文件夹下的文件全部打包

4.将打包后的压缩包上传到【www/wwwroot/生成的对应文件夹】 中
1.整体项目上传到对应的ip文件夹里,只需将原来存在的文件index.html和error.html文件删除,上传成功后进行解压即可,如果你想省内存,压缩包删了就行,删不删都没影响

2.默认优先访问

点击侧边栏网站,点击你创建的站点,在站点修改的默认文档里查看,默认访问的优先级从上到下,如果你的页面首页不是这些,你可以将页面名称改成这些默认的,也可以在最上面添加你的文件名称及后缀

以上就是前后端项目的部署了

问题总结

1.为什么明明解决了跨域问题,却仍然出现了跨域问题?

如果出现这个问题就去看看你的前端代码是否更改了访问路径,如果还是localhost,那么就会出现这个不一般的跨域问题,改成服务器ip地址就可以了,这个问题是因为你虽然在服务器访问了前端,但是你向后端发送的是localhost,由于你在本机浏览器打开的前端项目,那么此时的localhost指向的不是服务器ip地址,而是本机的地址,相当于你在服务器上向本地发送了请求,跨机了!跨机了!跨机了!

2.为什么在宝塔上删除了之前的项目又重新上传了新的项目却显示的还是之前的项目或者打开控制台发现请求的还是之前项目的css和js文件?

这个问题是因为浏览器的缓存咋成的,清理以下浏览器缓存就可以了。

原文链接:https://blog.csdn.net/weixin_52872685/article/details/134726979

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享