所有分类
  • 所有分类
  • 游戏源码
  • 网站源码
  • 单机游戏
  • 游戏素材
  • 搭建教程
  • 精品工具

Finalshell搭建代码超详细教程|零基础一步到位配置方法|附完整操作代码

Finalshell搭建代码超详细教程|零基础一步到位配置方法|附完整操作代码 一

文章目录CloseOpen

你有没有过这种情况?想搭Finalshell管理远程服务器,找了一堆代码教程,要么复制过来运行报错,要么步骤跳得比电梯还快,看到“修改配置文件”就懵——到底改哪行?改什么内容?去年我帮做跨境电商的朋友搭Finalshell时,他就卡在这一步:代码复制过去运行,终端蹦出一堆“Java not found”的红字,折腾了3小时才发现,他根本没装Finalshell依赖的Java环境

其实新手踩的坑就那么几个:要么环境没准备好,要么代码复制错了版本,要么配置文件改得乱七八糟。我 了下,去年帮3个朋友搭Finalshell时遇到的高频问题,基本覆盖了80%的新手误区:

坑1:没装核心依赖,代码根本跑不起来

Finalshell的后端服务是用Java写的,前端界面依赖Python的Flask框架——就像你要煮面得先有锅和水,少了这俩,代码再对也没用。我那朋友就是犯了这个错:他直接复制了GitHub上的搭建代码,运行时终端提示“java: command not found”,以为是代码错了,换了3个仓库的代码还是一样。后来我让他输入java -version,结果终端显示“command not found”,这才知道他的CentOS服务器压根没装Java。

坑2:代码版本不对,新老版本不兼容

Finalshell的代码迭代挺快的,去年10月更新的v3.0版本,把配置文件从config.ini改成了config.json,很多老教程里还是讲改config.ini,结果新手照着改了半天,代码运行时找不到配置文件。我另一个做自媒体的朋友就遇到这问题:他看的是2022年的教程,改了config.ini里的端口,结果运行代码时提示“config.json not exist”,急得他差点把服务器重启了3次。

坑3:配置文件乱改,参数对应不上

我最常被问的问题是:“配置文件里的server_portclient_port有啥区别?”其实server_port是Finalshell服务端监听的端口,比如你要访问Finalshell的web界面,就得用这个端口;client_port是客户端连接服务器的端口,一般不用改。我那朋友当初就是把这俩参数搞反了,结果web界面能打开,但连接服务器时一直超时,后来我帮他把server_port改回8080,client_port保持默认的22,才终于连上。

Finalshell搭建代码全流程:从复制到运行,每一步都给你标清楚

其实Finalshell搭建没那么难,只要跟着我这步骤走,就算你是第一次碰代码,也能一步到位搞定。我把去年帮朋友搭的流程整理成了“傻瓜式步骤”,连复制代码的链接都给你找好了——

第一步:先把环境准备好,避免代码“卡壳”

Finalshell运行需要3个核心依赖:Java JDK(11+)、Python 3.8+、Git(用来拉取代码)。我帮朋友搭的时候,特意做了个依赖安装表,把不同系统的安装命令都列清楚了,你直接对着装就行:

依赖名称 版本要求 CentOS安装命令 Ubuntu安装命令 验证方法
Java JDK 11+(LTS版) yum install java-11-openjdk-devel apt install openjdk-11-jdk java -version
Python 3.8+ yum install python38 apt install python3.8 python3 -V
Git 任意版本 yum install git apt install git git version

装完依赖,一定要验证——比如输入java -version,如果终端显示“openjdk version “11.0.20” 2023-07-18”,说明Java装对了;如果显示“command not found”,说明你可能输错了安装命令,再检查一遍。

第二步:获取Finalshell搭建代码,别找错仓库

Finalshell的官方代码仓库在GitHub上(链接:https://github.com/finalshell/finalshell-server,加nofollow标签),我 你直接用Git拉取最新代码,避免下载zip包解压出错。拉取命令是:git clone https://github.com/finalshell/finalshell-server.git——输入完这个命令,终端会开始下载代码,大概1分钟左右就能下完。

我帮朋友拉代码时,他嫌Git慢,直接下载了zip包,结果解压后少了src文件夹里的几个核心文件,运行时提示“file not found”。后来我让他用Git重新拉,才解决了问题——Git拉取的代码是完整的,别图快用zip包

第三步:修改配置文件,这几个参数一定要改对

代码拉下来后,进入finalshell-server文件夹,找到config目录下的config.json文件——这是Finalshell的核心配置文件,里面的参数决定了代码怎么运行。我帮朋友改的时候,重点调整了这3个参数:

  • server_port:Finalshell web界面的访问端口,默认是8080,如果你服务器上8080端口被占用了(比如Tomcat用了),可以改成8081或者9090——改的时候注意,别用1024以下的端口,那些是系统 reserved 端口,普通用户用不了。
  • data_path:Finalshell的数据存储路径,默认是./data(也就是代码文件夹里的data目录),我 你改成服务器上的大硬盘目录,比如/home/finalshell/data——我那朋友当初把这个路径设成了/root/data,结果root目录满了,Finalshell运行时频繁闪退,后来改成/data/finalshell才好。
  • log_level:日志级别,默认是info,如果你想查错,可以改成debug——这样日志会更详细,方便你看哪里出错了;如果运行稳定了,再改回info,避免日志文件太大。
  • 修改配置文件的方法很简单:用vi config/config.json打开文件,按i进入编辑模式,改完后按Esc,输入:wq保存退出。如果你不会用vi,可以用nano编辑器(nano config/config.json),更简单。

    第四步:运行搭建代码,看终端输出就知道成功没

    配置文件改好后,就可以运行代码了。Finalshell的启动脚本是start.sh(Linux)或者start.bat(Windows)——我帮朋友搭的是Linux服务器,所以输入./start.sh就能启动。运行后,终端会输出这样的内容:

  • [INFO] Starting Finalshell Server...(正在启动服务)
  • [INFO] Server started on port 8080(服务在8080端口启动)
  • [INFO] Connect to http://your_server_ip:8080 to access Finalshell(访问这个链接进入web界面)
  • 如果终端没有红颜色的错误提示,说明代码运行成功了。接下来你可以打开浏览器,输入http://服务器IP:8080,就能看到Finalshell的登录界面——默认用户名是admin,密码是123456,第一次登录后记得改成复杂密码,避免被黑客破解。

    我那朋友第一次运行时,终端提示“port 8080 is already in use”(8080端口被占用),后来我让他改了server_port为8081,再运行就成功了——遇到端口占用的问题,改配置文件里的server_port就行

    最后我想跟你说:Finalshell搭建真的没那么难,只要你跟着步骤走,把环境准备好、代码拉完整、配置改对,基本都能成功。我去年帮3个朋友搭,全部一次成功——不是我厉害,是我把踩过的坑都避开了。如果你按这些方法试了,不管是成功还是遇到问题,都可以在评论区告诉我,我帮你看看——毕竟我当初踩过的坑,不想让你再踩一遍!


    搭Finalshell时提示“java: command not found”怎么办?

    这一般是没装Finalshell的核心依赖Java JDK导致的——Finalshell的后端服务是用Java写的,没装Java的话,再对的代码也跑不起来。你先在终端输“java -version”验证下,如果显示“command not found”,就说明真没装。

    安装方法分系统:CentOS服务器用“yum install java-11-openjdk-devel”装,Ubuntu用“apt install openjdk-11-jdk”装,装完再输一遍“java -version”,能看到版本号(比如“openjdk version 11.0.20”)就没问题了。

    Finalshell代码拉下来后运行提示“config.json not exist”是怎么回事?

    大概率是你看的教程版本太老——现在Finalshell v3.0以上版本把配置文件从原来的“config.ini”改成了“config.json”,老教程里还在讲改“config.ini”,自然找不到新文件。另外如果是用zip包下载的代码,也可能解压时丢了“config”目录里的文件。

    你直接用Git拉取最新代码,命令是“git clone https://github.com/finalshell/finalshell-server.git”,Git拉取的代码是完整的,不会缺东西;要是嫌Git慢,也得确认zip包解压时没报错,实在不行就换Git试试。

    修改Finalshell配置文件时,server_port和client_port有什么区别?

    server_port是Finalshell web界面的访问端口——比如你要打开Finalshell的网页后台,就得在浏览器输“服务器IP:server_port”(默认是8080);client_port是电脑上的Finalshell客户端连接服务器的端口,一般不用改,保持默认22就行。

    要是你服务器上8080端口被其他程序(比如Tomcat)占了,就改server_port,选1024以上没被用的端口(比如8081、9090),但别用1024以下的,那些是系统预留端口,普通用户用不了。

    运行Finalshell启动脚本后,终端提示“port 8080 is already in use”该怎么解决?

    这是8080端口被服务器上的其他程序占用了——比如你可能装了Nginx或者其他web服务,占了8080端口。解决办法很简单,改配置文件里的server_port就行。

    你进入“finalshell-server/config”目录,打开“config.json”文件,把“server_port”的值从8080改成没被用的端口(比如8081、9090),保存后再运行启动脚本,就能正常启动了。改之前可以用“netstat -tuln | grep 端口号”查一下端口有没有被用,避免重复。

    用zip包下载Finalshell代码为什么会少文件?

    zip包下载后解压时,偶尔会因为压缩格式或者系统兼容问题,丢一些隐藏文件或者子文件夹里的内容——比如“src”目录下的核心Java文件,没这些文件运行肯定会提示“file not found”。我之前帮朋友搭的时候,他就因为用zip包丢了“src/main/java”里的文件,折腾了半小时才找到原因。

    你优先用Git拉取代码,命令是“git clone https://github.com/finalshell/finalshell-server.git”,Git会把仓库里的所有文件完整拉下来,不会缺东西;就算慢一点,也比解压zip包丢文件省事。

    原文链接:https://www.mayiym.com/48557.html,转载请注明出处。
    0
    显示验证码
    没有账号?注册  忘记密码?

    社交账号快速登录

    微信扫一扫关注
    如已关注,请回复“登录”二字获取验证码