如何将前后分离的项目部署到云服务器

目录

一、购买服务器(腾讯云、阿里云……)

二、下载 X-shell和Xftp

三、部署前准备

1、打包前端文件dis

打包:npm run build

2、打包后端文件jar

打包 :mvn clean package 执行打包后的jar

3、打包后可以先尝试一下运行打包的文件

四、 部署云服务器的环境并将打包的前后端文件上传上去

1、使用上面下载的X-shell和Xftp安装软件:nginx、jdk、mysql

 安装jdk1.8

安装nginx 

安装mysql 

 2、部署前端文件dist

 3、部署后端文件jar

4、启动程序: 


一、购买服务器(腾讯云、阿里云……)

云服务器操作系统分为Windows和Linux类,Linux系统相对于win占用更少系统资源,一般选用Linux

阿里云Linux镜像可选Aliyun Linux、CentOS、Ubuntu、Debian、SUSE Linux、OpenSUSE、CoreOS和FreeBSD。

Aliyun Linux是阿里云原生Linux操作系统,针对ECS做了大量深度优化,完全兼容CentOS生态和操作方式;

如果是Web网站应用,免费好用首选CentOS;

Ubuntu基于Debian,新手更容易上手,时长占有率也高。
综上,阿里云ECS云服务器Linux镜像推荐选择Aliyun Linux、CenOS或Ubuntu都可以,根据用户实际熟悉程度及应用选择

这里选用:CentOS 7.2的Linux系统

前端开发工具:WebStorm vue+element
后端开发工具:IDEA spring boot
部署环境:阿里云Linux CentOS7

二、下载 X-shell和Xftp

家庭/学校免费 - NetSarang Website

每次连接服务器都要一步步连挺麻烦的 ∴借助一个第三方的工具进行远程与服务器连接

管理云服务器的软件:XShell,Putty,SecureCRT等

使用的是Xshell和Xftp。

Xshell提供了一个终端界面用于Shell操作,使用SSH协议连接到远程服务器

Xftp支持SSH和SFTP协议,主要用于文件传输和管理

三、部署前准备

1、打包前端文件dis

修改baseUrl:

新建文件.env.development(本地配置)

VUE_APP_BASEURL='http://localhost:9090'

新建文件..env.production(开发配置)

VUE_APP_BASEURL='http://服务器地址:9090'

main.js 设置全局变量$baseUrl

Vue.prototype.$baseUrl=process.env.VUE_APP_BASEURL

打包:npm run build

vue-cli-service 默认会读取 env.development文件

2、打包后端文件jar

打包 :mvn clean package 执行打包后的jar

3、打包后可以先尝试一下运行打包的文件

用serve 执行前端打包的dis 

用java -jar 执行后端打包的jar

四、 部署云服务器的环境并将打包的前后端文件上传上去

1、使用上面下载的X-shell和Xftp安装软件:nginx、jdk、mysql

 安装jdk1.8
# 要解压的目录			
tar -zxvf /tmp/jdk-8u371-linux-x64.tar.gz -C /usr/local/
mv /usr/local/jdk1.8.0_371 /usr/local/java
   
vi /etc/profile
# 进到profile文件里进行编辑,再最后一行追加内容
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH

#执行
source /etc/profile

# 验证
java -version

安装nginx 

a.安装库文件

#安装gcc
yum install gcc-c++
 
#安装PCRE pcre-devel
yum install -y pcre pcre-devel
 
#安装zlib
yum install -y zlib zlib-devel
 
#安装Open SSL
yum install -y openssl openssl-devel

b.解压、编译nginx并安装

mkdir /usr/local/nginx
tar -zxvf /tmp/nginx-1.24.0.tar.gz -C /usr/local/nginx

cd /usr/local/nginx/nginx-1.24.0
# 编译安装
./configure --with-http_stub_status_module --with-http_ssl_module
make && make install

 c.nginx 命令

cd /usr/local/nginx/sbin
./nginx     # 启动

ps -ef | grep nginx  # 查看
./nginx -s stop      # 停止
./nginx -s reload    # 重启

ps -ef | grep nginx

d.nginx配置 

server {
    listen       80;
    server_name  localhost;
    
    #charset koi8-r;
    
    #access_log  logs/host.access.log  main;
    
    location / {
        root   /home/server/honey2024/vue/dist;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html;
    }
}

 root  填写前端打包的文件dist位置; 

root /home/server/honey2024/vue/dist; //访问你打包的vue文件dis

try_files $uri $uri/ /index.html; //因为用了vue-router

e.执行命令重启:

d /usr/local/nginx/sbin

./nginx -s reload

安装mysql 

linux系统会自动携带一个数据库,我们需要把它给卸载掉

通过以下代码可以查看mariadb 并卸载

rpm -qa | grep mariadb
yum remove -y mariadb-connector-c-3.1.11-2.oc8.1.x86_64
yum remove -y mariadb-connector-c-config-3.1.11-2.oc8.1.noarch

下载mysql 并 上传到 /tmp 目录

安装mysql命令:

mkdir /data/mysql
tar -zxvf /tmp/mysql-5.7.42-el7-x86_64.tar.gz -C /usr/local
mv /usr/local/mysql-5.7.42-el7-x86_64 /usr/local/mysql

# 添加用户组
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql.mysql /usr/local/mysql
chown -R mysql.mysql /data/mysql

    
cd /usr/local/mysql    
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql --initialize   

#  将mysql加入到服务中    
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

# mysql快捷方式
ln -s  /usr/local/mysql/bin/mysql /usr/bin
ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5 
ln -s /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurses.so.5

记住上面的临时密码

配置mysql配置文件 my.cnf

vi /etc/my.cnf

[mysqld]
datadir=/data/mysql
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
# 取消密码验证
# skip-grant-tables
# # Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

启动mysql: service mysql start

// 重启mysql :service mysql restart

开机启动: chkconfig mysql on

登录mysql: mysql -uroot -p

输入临时密码进入mysql修改密码并设置权限:

修改密码并设置权限:

 SET PASSWORD = PASSWORD('1234');

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

使用SQLyogt连接mysql 

设置服务器防火墙:

新建数据库并将本地数据库导入远程的

 2、部署前端文件dist

使用X-shell和Xftp创建文件夹:mkdir -p /home/server/honey2024

上传dist文件夹到 /home/server/honey2024/vue

 3、部署后端文件jar

上传 jar包到服务器 /home/server/honey2024/java 目录

设置 application.yml 覆盖

添加 启动和停止脚本

cd /home/server/honey2024/java

vi start.sh

NAME=springboot-0.0.1-SNAPSHOT.jar
nohup java -jar $NAME > server.log 2>&1 &
echo 'start success'

 vi stop.sh

PORT=8082
pid=`netstat -tnlp | grep $PORT | grep -v grep | awk '{print $7}' | awk -F/ '{print $1}'`
if [ ${pid} ]; then
    kill -9 $pid
    echo "kill $PORT"
else
    echo 'stop sucess!'
fi

赋权 chmod +x *

去除脚本文件里的特殊符号(可选)

sed -i 's/\r//' start.sh

sed -i 's/\r//' stop.sh

完成后的目录文件:

4、启动程序: 

cd /home/server/honey2024/java
./start.sh

 实时查看日志:tail -100f server.log

 

设置防火墙端口 9090

之后,访问公网ip 可以预览上线项目了

题外话:可以在云服务器上安装宝塔面板来管理项目

  • 9
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
部署前后端分离项目服务器的步骤如下: 1. 选择一个合适的服务器:可以使用云服务提供商如AWS、阿里云等,也可以使用自己的服务器。 2. 安装和配置服务器环境:根据项目的需求,安装所需的操作系统、数据库、Web服务器等组件,并进行相应的配置。 3. 后端部署: - 将后端代码上传至服务器,可以使用FTP、SCP等工具进行文件传输。 - 安装所需的依赖库和软件包,可以使用包管理工具如npm、pip等。 - 配置后端环境变量,例如数据库连接参数、API密钥等。 - 启动后端服务,可以使用命令行工具如pm2、supervisor等来管理进程和日志。 4. 前端部署: - 将前端代码打包成静态资源文件,例如使用Webpack或者Gulp等构建工具。 - 将打包生成的静态文件上传至服务器,可以使用FTP、SCP等工具进行文件传输。 - 配置Web服务器,将前端的访问路径映射到上传的静态文件所在的目录。 - 启动Web服务器,例如使用Nginx或Apache等。 5. 配置域名和SSL证书: - 绑定域名到服务器的IP地址。 - 安装和配置SSL证书,以启用HTTPS协议。 6. 测试和验证: - 访问域名或服务器IP地址,确认项目能够正常运行。 - 进行功能测试和性能测试,确保项目服务器上表现良好。 以上是一般的部署步骤,具体的操作和配置可能会因项目的需求和服务器环境而有所不同。在部署过程中,注意保障服务器的安全性和稳定性,及时备份数据和代码,以防意外情况发生。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值