【若依框架】若依前后端分离项目怎么部署到服务器?

文章目录


一、前提

已经完成了若依框架前端、后端开发,要进行部署。

二、后端部署

前提:安装了java运行环境。

1、生成jar包

也可生成war包,差不多,这里我生成的是jar包。

在后端配置文件中,配置好服务端的端口,默认8080,前端通过http://localhost:8080访问服务端。

点击右侧maven,然后在Liftcycle下分别双击clean和package

这时候在admin项目下的,target中会生成jar包。

转到路径下,将这个jar包复制到指定要部署的路径,或者服务器路径下。

2、运行jar包

选中放置jar包的路径,输入cmd启动当前路径下的命令窗口:

输入启动jar包的命令,将这里的xxx-admin.jar替换成你的jar包的完整名称。

css 复制代码
java -jar xxx-admin.jar

稍等一会,命令行中就会完成jar包中后端框架的运行

后端项目已经成功运行!

注意运行后端后,如果要停止运行,使用键盘快捷键Ctrl + C

在后端jar包已经运行的情况下,浏览器中,也可以直接通过这个地址访问服务端,但会提示后端框架已经运行,要通过前端进行访问。

三、前端部署

1、前端打包

在前端终端中输入打包命令,这里打包的是生成版本。

css 复制代码
npm run build:prod

然后会有一段时间进行打包。

等打包完成后,前端项目中会新增一个dist文件夹,这就是前端的打包文件夹了。

回到前端项目的路径下,把dist文件夹整个复制到前面放置jar包的文件夹,或者你自定义的文件夹中。

这里我方便查找,建了一个_deploy文件夹,将前后端打包文件都放在了这个路径下。

2、前端部署

前端部署,有几种方式,这里我采用的是nginx服务器的方式,也是一种常见的部署方式。需要下载-安装下nginx服务器,软件不是很大,安装也简单。nginx与IIS类型就是一个web服务器。

由于我电脑上之前安装了IIS服务器,有端口冲突,我就先将IIS关闭了,也可以使用配置不同端口的情况下,让两个服务器都能够使用。

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

(1)nginx服务器的下载

nginx下载地址:https://nginx.org/en/download.html

下载选择与电脑系统对应的版本,我是windows10 系统,下载的是这个版本。

下载好以后就是一个安装文件夹。

(2)Nginx代理配置

到nginx文件夹的路径下,找到conf - nginx.conf文件进行配置。

找到server节点进行配置:

nginx.conf完整代码

css 复制代码
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       8081; 
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   F:\xxx_deploy\dist;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
                location /prod-api/ {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://localhost:8080/;
}

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

(3)启动nginx服务器

nginx服务器有多种启动方式,这里我采用windows下最简单的方式,选中nginx.exe文件,右键以管理员身份运行。注意直接运行可能也行,采用管理员运行方式更好点。

会有个黑影一闪而过,在任务管理器中可以看到nginx服务器已经运行。注意在已经运行的情况下,最好不要运行多个nginx服务器,可关掉多余的运行进程。

(4)浏览器中访问前端地址,进入前端页面

在nginx服务器已经运行的情况下,在浏览器中输入前端项目的地址,便直接到了登录页面,输入验证码,可以登录到页面,说明部署的前端已经访问到了部署的后端,成功!

总结

通过后端、前端的部署,已经完成了整个若依框架前后端项目的部署,是不是很简单。

以上是在本地电脑的部署,在服务器部署也是一样的道理,服务器需要具备后端、前端部署的前提条件:

1、服务器装了适配版本的java环境,可以进行java -jar命令的运行;

2、配置和安装nginx服务器。

然后将后端、前端的打包文件放在服务器指定的路径下,便可以按照这个步骤进行同样的部署。

最后,浏览器通过前端配置的IP地址可以进行访问,说明部署成功!

相关推荐
雾削木3 小时前
k230 Pyhton三角形识别
运维·服务器·网络·stm32·智能路由器
北京聚信万通科技有限公司4 小时前
传输协议:AS3
服务器·网络·安全·电子数据交换·as3
hgz07105 小时前
Linux服务器环境部署与JMeter压测准备
linux·服务器·jmeter
大连好光景5 小时前
Python打日志
运维·python·运维开发
遇见火星5 小时前
常见Systemctl语句
linux·服务器·网络·systemctl
专家大圣6 小时前
摆脱局域网束缚!Neko+cpolar 让跨网共享成日常
服务器·网络·docker·内网穿透·cpolar
二哈喇子!6 小时前
openFuyao 容器平台快速入门:Nginx 应用部署全流程实操
运维·nginx·openfuyao
齐鲁大虾6 小时前
国产 Linux 系统核心优缺点与适用场景
linux·运维·服务器
雨大王5126 小时前
工业生产执行系统(MES)在汽车制造行业的应用案例
运维·人工智能
小鹿学程序6 小时前
FileZilla连接到虚拟机
java·服务器·开发语言