当前位置:   article > 正文

【Java-SpringBoot+Vue+MySql】前后端分离项目云端部署_java 前后端分离部署到服务器中

java 前后端分离部署到服务器中

目录

部署环境:

安装MYSQL:

安装Nginx

安装配置JDK 

远程连接数据库

前端打包

后端打包

心得:


 

部署环境:

CentOS7.6

MySQL5.7

JDK1.8

Nginx1.8

下载MySQL

MySQL :: Download MySQL Community Server (Archived Versions)

RPM安装mysql5.7_Code粥的博客-CSDN博客

下载Nginx

nginx: download

下载JDK

【JavaWeb开发-Servlet】将项目部署在云服务器_代码骑士的博客-CSDN博客

我的安装包:

链接:https://pan.baidu.com/s/15r6dNEPEpdmojArniSAWtw 
提取码:yhun 
--来自百度网盘超级会员V3的分享

工具:

 

步骤:

安装MYSQL:

1、创建server文件夹,用于存放部署环境安装包。 

pwd——查看当前目录

/root

cd /usr/——切换目录

ls——显示当前文件下的目录

mkdir server——创建目录server

cd server/——切换目录

2、将环境压缩包拖入server目录

3、卸载Linux自带的数据库mariadb(注意命令改为自己的版本)

# 查找
rpm -qa|grep mariadb
#mariadb-libs-5.5.60-1.el7_5.x86_64
# 卸载

rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps

 解压mysql压缩包到mysql目录

mkdir mysql/

tar xvf mysql-5.7.34-1.el7.x86_64.rpm-bundle.tar -C mysql

切换到安装目录

cd /usr/server/mysql/

安装依赖

yum -y install libaio
yum -y install libncurses*
yum -y install perl perl-devel

 执行安装

rpm -ivh mysql-community-common-5.7.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.34-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.34-1.el7.x86_64.rpm

 启动mysql服务

#启动mysql
systemctl start mysqld.service
#查看生成的临时root密码
cat /var/log/mysqld.log | grep password

ph,>?lotl9Nl

# 登录mysql
mysql -u root -p
Enter password: #输入在日志中生成的临时密码
# 更新root密码 设置为123456
set global validate_password_policy=0;
set global validate_password_length=1;

set password = password('123456');

授予远程连接权限

grant all privileges on *.* to 'root' @'%' identified by '123456';
# 刷新
flush privileges;

退出mysql使用其他指令

#退出mysql

exit

#mysql的启动和关闭 状态查看
systemctl stop mysqld
systemctl status mysqld
systemctl start mysqld

#这里输入下面的指令即可:
#建议设置为开机自启动服务
systemctl enable mysqld
#查看是否已经设置自启动成功
systemctl list-unit-files | grep mysqld 

 关闭防火墙(阿里云使用安全组,默认关闭防火墙)

firewall-cmd --state #查看防火墙状态
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

安装Nginx

 安装包也可以,yum也可以,此处用yum安装更快。

yum install epel-release
yum update
yum -y install nginx

nginx指令

systemctl start nginx #开启nginx服务(下完先启动一下)
systemctl stop nginx #停止nginx服务
systemctl restart nginx #重启nginx服务

安装配置JDK 

进入server目录,解压jdk压缩包(nginx压缩包没用上就可以删了)

cd /usr/server/

解压:

tar -zvxf jdk-8u351-linux-x64.tar.gz

进入jdk1.8目录,

 cd jdk1.8.0_351/

编辑 /etc/profile 文件

vim /etc/profile
# 文件末尾增加
export JAVA_HOME=/usr/server/jdk1.8.0_351
export PATH=${JAVA_HOME}/bin:$PATH 

 执行source命令使配置立即生效

source /etc/profile

 检查版本查看是否安装成功

java -version

 

远程连接数据库

前端打包

之前下载完nginx我们顺手启动了一下,现在在浏览器输入公网ip是可以访问到启动页面的:

 将在本地的ip(localhost)改为对应的云服务器公网ip,终端执行打包指令:npm run build

在服务器终端新建文件夹存储前端打包好的dist文件

 cd /usr/
 mkdir app/

cd app/

将dist文件拖入

前端修改好路径,端口,进行打包。

 本地的代理配置没用了可以注释掉

run build

将打包好的dist文件拖入app目录 

配置nginx文件

方法1:

默认监听80端口

cd /etc/nginx/conf.d/
创建

vim vue.conf

  1. server {
  2. listen 80;
  3. server_name locahost;
  4. location / {
  5. root /usr/app/dist;
  6. index index.html;
  7. }
  8. }

使配置生效

nginx -s reload

 

方法2: 

我在本地运行时前端代理:

意思是:只要我们访问路径中第一个请求是api就自动跳转到 target路径。

当我们把前端部署到服务器用nginx代理时也是同理。

步骤: 

cd /etc/nginx/
vim nginx.conf

vim /etc/nginx/nginx.conf

 

使配置生效

nginx -s reload

再次访问公网ip会看到不一样的风景

vuedemo

后端打包

修改数据库配置,确保云端存在。

localhost可改可不改,因为云端主机就是公网ip。

打开maven包管理器 ,点击package,进行打包

 找到打包好的jar包

将其上传到服务器

启动java程序 

cd /usr/app/

nohup java -jar import-execl-demo-0.0.1-SNAPSHOT.jar > logName.log 2>&1 &

注意:不要写成nohup  

查看当前日志

cat logName.log

cat /sur/app/logName.log

 

打开日志发现8080端口已经被使用了,所以我们要修改端口重新打包一次。 

重新上传执行指令 

nohup java -jar import-execl-demo-0.0.1-SNAPSHOT.jar > logName.log 2>&1 &

linux中所有基础命令失效,显示找不到该命令

原因:

有可能是之前修改了etc/profile.d目录下的环境变量配置文件导致。

解决办法:

方法一:恢复配置文件。

如果记得修改了配置文件那个地方,可以将配置文件修改回去,然后再保存更新。

方法二:直接在linux命令行界面输入如下,然后回车(导入环境变量,以及shell常见的命令的存放地址):

 export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

方法三:如果系统所有命令都不能使用时,可以使用绝对命令vi打开profile

  1. /bin/vi /etc/profile.d/环境变量文件名
  2. # 在系统的配置文件里添加[环境变量]地址
  3. export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

心得:

服务器的环境配置比较容易解决,个人感觉比较棘手的是跨域问题和Nginx代理的配置问题,跨域问题通过杨海钰同学的帮助在前端添加代理已完美解决;部署服务器后由于Nginx的重定向机制,总是将post请求转为get请求,改了无数次最后发现是一个location中的“/”发生的问题,最后也是在许敏浩同学的帮助下完美解决,非常感谢两位同学的帮助帮我解决了这两个问题!

Nginx好文章:

https://wenku.csdn.net/answer/941b166eec6e2a18505ebeac6c922c98

 Nginx中location配置详解_51CTO博客_nginx location配置详解

https://mbd.baidu.com/ug_share/mbox/4a83aa9e65/share?product=smartapp&tk=4880dbce99218bf99735e1737f2cbb74&share_url=https%3A%2F%2Fyebd1h.smartapps.cn%2Fpages%2Fblog%2Findex%3FblogId%3D123688681%26_swebfr%3D1%26_swebFromHost%3Dbaiduboxapp&domain=mbd.baidu.com https://mbd.baidu.com/ug_share/mbox/4a83aa9e65/share?product=smartapp&tk=3ec558b7a7b0a18809dba770773c1248&share_url=https%3A%2F%2Fyebd1h.smartapps.cn%2Fpages%2Fblog%2Findex%3FblogId%3D129315682%26_swebfr%3D1%26_swebFromHost%3Dbaiduboxapp&domain=mbd.baidu.com

https://mbd.baidu.com/ug_share/mbox/4a83aa9e65/share?product=smartapp&tk=c023547d1653fdb03aeceab60f3046e8&share_url=https%3A%2F%2Fyebd1h.smartapps.cn%2Fpages%2Fblog%2Findex%3FblogId%3D126000262%26_swebfr%3D1%26_swebFromHost%3Dbaiduboxapp&domain=mbd.baidu.com https://mbd.baidu.com/ug_share/mbox/4a83aa9e65/share?product=smartapp&tk=1aa98da0b91586c001c00e59ea88b641&share_url=https%3A%2F%2Fyebd1h.smartapps.cn%2Fpages%2Fblog%2Findex%3FblogId%3D125947556%26_swebfr%3D1%26_swebFromHost%3Dbaiduboxapp&domain=mbd.baidu.com

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/715399
推荐阅读
相关标签
  

闽ICP备14008679号