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

文章目录


一、前提

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

二、后端部署

前提:安装了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 分钟前
开源TR-069 ACS(自动配置服务器)GenieACS 的四个主要模块详细介绍
运维·服务器·开源
杭州杭州杭州19 分钟前
Docker
运维·docker·容器
Exquisite.19 分钟前
企业高性能web服务器---Nginx(2)
服务器·前端·nginx
Andy Dennis31 分钟前
FTP局域网小网站V2.3——安全、批量、有序,体验全新进化
服务器·flask·ftp工具
m0_7373025835 分钟前
四大厂商云服务器安全创新对比,筑牢数字化转型安全底座
服务器
kyle-fang41 分钟前
阿里云服务器部署MySQL
服务器·mysql·阿里云
开开心心_Every1 小时前
Win10/Win11版本一键切换工具
linux·运维·服务器·edge·pdf·web3·共识算法
啟明起鸣1 小时前
【Nginx 网关开发】从源码分析 Nginx 的多进程启动原理
运维·nginx
怣501 小时前
Linux创意命令组合:让终端变得有趣又高效
linux·运维·服务器
啟明起鸣1 小时前
【Nginx 网关开发】上手 Nginx,简简单单启动一个静态 html 页面
运维·c语言·前端·nginx·html