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

文章目录


一、前提

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

二、后端部署

前提:安装了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地址可以进行访问,说明部署成功!

相关推荐
q***7482 小时前
Nginx环境安装
运维·nginx
qinyia2 小时前
使用Wisdom SSH的AI多会话功能进行批量命令执行和跨服务器智能运维
运维·人工智能·ssh
f***68602 小时前
【Sql Server】sql server 2019设置远程访问,外网服务器需要设置好安全组入方向规则
运维·服务器·安全
安科瑞刘鸿鹏172 小时前
从监测到保护:ALP如何赋能企业配电柜安全升级?
运维·网络·安全
DeadPool loves Star2 小时前
利用笔记本与SSH转发给服务器上的虚拟机通网
运维·服务器·ssh
kkce3 小时前
快快科技 MTR 路由检测全面支持 IPv6,多节点覆盖赋能全协议网络诊断
服务器·网络·科技
qq_401700414 小时前
Linux磁盘配置与管理
linux·运维·服务器
恒创科技HK4 小时前
香港大带宽服务器能降低ping值吗 ?
运维·服务器
爱代码的小黄人4 小时前
华硕主板BIOS设置台式机电脑“Restore AC Power Loss”(断电后恢复状态)设置
运维·服务器·电脑