当前位置:首页 > 其他 > 正文内容

使用1panel布置前后端别离项目 Java代码打包 前端打包

邻居的猫1个月前 (12-09)其他1039

初度发布于我的个人文档

参阅:

1.1Panel 官方文档

本文介绍一下怎么使用1panel布置一个简略的前后端别离项目。

1,具有一个Liunx服务器

第一步是购买一个Linux服务器,能够买一台线下实在的机器+公网IP或买一个阿里云、腾讯云、京东云、华为云服务器。

2.装置1panel

参阅1panel官方文档,装置1panel。

在这儿以Ubuntu体系为例,只需运转

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

即可装置,装置完成后终端上有写1panel的URL和账号名暗码。

3.装置运转环境

在虚拟机中装置java等运转环境。

然后,能够在1panel中装置项目需求的中间件,如MySQL、minio、redis等。

4.打包后端项目

先介绍一下怎么打包maven项目。

需求留意的是,你或许会发现在idea的maven菜单里,现已有一个package选项了,可是默许情况下这样打的包是不带项目依靠的。所以这样的jar包不能独立运转。

可是假如你用的是spring boot项目,则pom.xml中或许现已装置了插件spring-boot-maven-plugin

        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>

假如pom.xml有这样的代码则阐明maven有插件spring-boot-maven-plugin。

这时直接在idea的maven菜单运转package选项就得到带依靠的jar包了,能够直接java -jar运转。

以布置笔者的teaai项目为例,打包后你会在target文件夹下看到teaai-backend-0.0.1-SNAPSHOT.jar,这便是打包后的jar文件,直接运转即可发动后端服务。

关于非spring boot项目又该怎么打包呢?

需求装置maven-assembly-plugin插件,办法如下:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.3.0</version><!-- 插件版别号 -->
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <archive>
                    <manifest>
                        <mainClass>edu.zafu.teaai.MainApplication</mainClass>
                        <!-- 替换为你的主类的完好类名 -->
                    </manifest>
                </archive>
            </configuration>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

然后再运转package即可。

关于gradle项目,没有什么太大的差异。

这儿只介绍一般的gradle项目怎么打带依靠的jar包。

gradle依靠打包需求装置shadow插件,在build.gradle.kts中的plugins,添加这样的代码:

plugins {
    id("com.gradleup.shadow") version "8.3.3"
}

然后添加shadow使命,相同仍是在build.gradle.kts中添加一下代码:

tasks {
    shadowJar {
        archiveBaseName.set("nocrud")
        archiveVersion.set("")
        manifest {
            attributes["Main-Class"] = "cn.cola.nocrud.MainKt"
        }
    }
}

这段代码以笔者的nocrud项目为例,在上面的代码中nocrud是你项目的称号,attributes["Main-Class"] = "cn.cola.nocrud.MainKt"则规则了主类。

需求留意的是,假如你的主类是一个kotlin代码,则需求再本来的类名后边加上Kt,这是由于kotlin是一个jvm言语,编译后你会发现kotlin编译器会在一切的kotlin类称号后边加上Kt。

完成了这些,改写一下项目,你会发现idea的gradle菜单中新增了一个shadow使命,双击shadowJar指令履行即可打包。

打包完的jar包在build/libs目录内。

5.发动后端项目

在1panel-主机-文件中上传打包后的jar包。

然后到网站-运转环境-java中运转后端项目。

当然假如你的后端是go言语或php或nodejs那么就去对应的页面。

本文以java项目为例,挑选创立运转环境,设置称号和java sdk版别,将运转目录设置为jar包的上传目录。

在发动指令一栏输入完好的发动指令,如

java -jar ./teaai-backend-0.0.1-SNAPSHOT.jar

然后留意,1panel和浮屠面板有所不同,1panel的后端项目也是依据容器化布置的,需求填写应用在容器内的拜访端口和容器外的端口。

然后翻开端口外部拜访并设置容器称号。

点击确认即可。

最终提示一下,由于1panel是容器化布置,而在容器内localhost指向的是容器内部的地址,假如想拜访容器网外的本机的其他容器请使用本机的实在内网IP。

6.布置其他中间件

这儿需求依据中间件的不同进行布置,如联系型数据库需求建表等。

7.打包前端项目

这儿以打包teaai项目为例,teaai是一个vue项目。

用WebStrom翻开teaai前端项目,一般来说当你使用vue-cli创立项目时,在package.json中有这样的指令。

    "build": "run-p type-check \"build-only {@}\" --",

你能够直接点击WebStorm左面的运转按钮运转,也能够在终端中输入

npm run build

打包项目。

当然,假如你用pnpm或yarn等运转这个指令也相同。

打包后你将在dist目录下看到打包后的成果。

8.发动前端项目

进入1panel-网站-运转环境-php创立一个php运转环境,拓宽模版挑选“默许”即可。

然后去你的DNS服务商装备域名解析(这个因服务商而不同,在此无法演示)。

接下来进入1panel面板-网站-网站,假如你没有装置OpenResty(你能够理解为nginx增强版)则1panel会提示你装置。

在网站页面挑选创立网站-运转环境-挑选刚刚创立的php运转环境

(假如你的网站是静态网站也能够不创立php运转环境而直接选静态网站)

输入网站的域名和需求拜访的端口号,点击确认。

你会看到1panel页面的表格中多了一条记载,点击其间的网站目录下的文件夹图标,进入文件界面上传前端打包的dist目录的内容。

接着。假如要设置署理和https服务的话,回到刚刚的1panel-网站-网站页面,点击网站记载右边的装备,在这儿能够对网站进行限流、反向署理、装备HTTPS服务等操作。

假如敞开了https服务,记住在防火墙翻开443端口!

扫描二维码推送至手机访问。

版权声明:本文由51Blog发布,如需转载请注明出处。

本文链接:https://www.51blog.vip/?id=671

分享给朋友:

“使用1panel布置前后端别离项目 Java代码打包 前端打包” 的相关文章

房顶线模型和高性能核算基准分析

房顶线模型和高性能核算基准分析

简介 高功用核算的核算功用在很大程度上取决于处理元件的峰值功用和内存带宽之间的平衡。虽然外部内存通常是 HPC 中的束缚要素,但相对简略的房顶线模型可认为 HPC 功用的束缚和瓶颈供给洞察力。它或许无法供给特定作业负载的精确功用数据,但却能为程序员和硬件架构师供给有关优化点的有用见地。咱们在 ARM...

Unity ECS System在什么时候更新?怎么自定义这个更新的机遇?

Unity ECS System在什么时候更新?怎么自定义这个更新的机遇?

在什么时候更新? 在其他用户代码都履行完之后。 去Netcode的ClientServerBootstrap里能够找到CreateLocalWorld函数,里边有相似这样的代码: public static World CreateLocalWorld(string defaultWorldName...

Java 面试用什么项目?满是商场秒杀 RPC,我吐了

Java 面试用什么项目?满是商场秒杀 RPC,我吐了

看了几百份简历,真的超越 90% 的小伙伴的项目是商城、RPC、秒杀、论坛、外卖、点评等等烂大街的项目,人人都知道这些项目烂大街了,但大部分同学仍是得硬着头皮做,没办法,网络上能找到的、教程比较完善的就这些项目了,做的话好歹有个项目,不做那就真能写校园做的废物学生办理体系了。 我深刻了解小伙伴的痛点...

BTC买卖流程

BTC买卖流程

买卖流程 比特币的买卖流程触及多个进程和参加方,包含发送方、接纳方、矿工和比特币网络中的节点。以下是比特币买卖的具体流程: 创立买卖: 生成比特币地址:比特币地址是一个由公钥生成的字符串,用于接纳比特币。每个用户在创立比特币钱包时,都会生成一对公钥和私钥。公钥经过哈希算法生成比特币地址,私钥用于签名...

读数据维护:作业负载的可恢复性06备份的内容

读数据维护:作业负载的可恢复性06备份的内容

1. 误解 1.1. RAID不需求备份 1.1.1. 运用冗余磁盘体系来保存数据,并不意味着不需求备份这些数据 1.1.2. RAID所能供给的冗余都是在硬件这一层面规划的 1.1.3. 之所以不能替代备份,其间一项重要的原因就在于:RAID维护的是卷,而不是卷里边的文件体系 1.2...

即构 UIKits 重磅发布!高效开发与自定义UI兼备,打造互动场景新标杆

即构 UIKits 重磅发布!高效开发与自定义UI兼备,打造互动场景新标杆

即构UIKits上线,新一代场景化实时互动SDK! 即构科技发布了首款面向中小团队的整合型实时互动产品UIKits , 根据场景化最佳实践,整合RTC、IM、直播、美颜等多款产品,打造了音视频通话UIKit(Call Kit)、互动直播UIKit(Live Streaming Kit)、语聊房UIK...