linux yum安装jdk ,tomcat

Linux:安装jdk的三种方法(yum+rpm+下载包) Linux:安装jdk的三种方法(yum+rpm+下载包)1. yum安装jdk2. rpm安装JDK环境3. tar.gz手动安装一般rpm、yum方式安装的不需要配置环境变量,但是若识别不到还是老老实实配置环境变量,若yum安装则默认Java被安装在/usr/lib/jvm(一般不用手动配置),若RPM安装则默认Java被安装在/usr/java/jdk1.8.0-x64(一般不用手动配置) 阅读详情

使用yum源
这里需要注意yum源的配置 
1、查看yum库中都有哪些jdk版本 
[root@lyh:] # yum search java|grep jdk 
2、选择指定的版本安装 
[root@lyh:] # yum install java-1.8.0-openjdk 
3、安装完成后查看版本信息 
[root@lyh:] # java -version
 

---------------------------------------------------------------------------------------------

在linux下部署java开发的web应用,一般采用Tomact+jre环境(可不需要apache),在RHEL和CentOS下,可以采用yum在线自动安装方式安装,具体操作如下:

可以先查看tomcat在服务器上面的版本

yum search tomcat

 

安装命令

yum install tomcat6

 执行以上命令系统会自动安装tomcat和所关联的jdk

下面结束安装系统位置和检测安装情况

 

 

安装位置
/etc/tomcat6

主程序/软件存放webapp位置
/var/lib/tomcat6/webapps

在Centos使用yum安装后,Tomcat相关的目录都已采用符号链接到/usr/share/tomcat6目录,包含webapps等,这很方便我们配置管理
/usr/share/tomcat6

日志记录位置
/var/log/tomcat6

 

 

 

注:要查看所有tomcat分散请求下面目录查看

/usr/share/tomcat6

 

 

 

[root@localhost tomcat6]# pwd
/usr/share/tomcat6
[root@localhost tomcat6]# ll
总用量 4
drwxr-xr-x. 2 root root   4096 7月  11 19:20 bin
lrwxrwxrwx. 1 root tomcat   12 7月  11 19:20 conf -> /etc/tomcat6
lrwxrwxrwx. 1 root root     23 7月  11 19:20 lib -> /usr/share/java/tomcat6
lrwxrwxrwx. 1 root root     16 7月  11 19:20 logs -> /var/log/tomcat6
lrwxrwxrwx. 1 root root     23 7月  11 19:20 temp -> /var/cache/tomcat6/temp
lrwxrwxrwx. 1 root root     24 7月  11 19:20 webapps -> /var/lib/tomcat6/webapps
lrwxrwxrwx. 1 root root     23 7月  11 19:20 work -> /var/cache/tomcat6/work
[root@localhost tomcat6]# 

 

 

查看全部tomcat安装目录

rpm -ql tomcat6 | cat -n

 

 

 

 

启动、停止、重启tomcat

 service tomcat6 start
 service tomcat6 stop
 service tomcat5 restart

 

Linux yum安装mysql8.0、jdk1.8、tomcat7.0 一、Linux上安装MySQL 自带MySQL卸载 安装前,我们可以检测系统是否自带安装 MySQL,如果自带安装,那么卸载原来安装的MySQL rpm -qa | grep mysql 我们系统显示如上,那么我们通过如下命令将已安装的信息卸载(当然这一步视不同情况而定,如果你的机器上尚未安装,则可跳过此步骤) 停止mysql服务、删除之前安装的mysql 删除命令如: rpm -e –nod... 阅读详情

相关推荐

linux安装jdk教程(手动安装/yum安装) 保姆级教程

该教程包含了手动安装jdk和自动安装教程很详细......

来杯咖啡的博客 4185

Linux服务器通过yum方式安装OpenJDK和Tomcat

安装JDK 1.查看系统是否通过yum或rpm方式安装过java,或通过运行java命令测试 yum list installed | grep java rpm -qa | grep java java -version rpm参数注解: -a  查询所有套件。 -q  使用询问模式,当遇到任何问题时,rpm指令会先询问用户。 2.如果系统已经安装过旧版本java,需要先卸载 y...

mypowerhere的专栏 1074

Frida实战:SSL Pinning绕过技术全解析

本文详细解析了如何使用Frida工具绕过SSL Pinning技术,包括环境搭建、四种实战绕过方案及常见问题排查指南。通过具体代码示例和实战经验,帮助安全研究人员快速掌握SSL Pinning绕过技术,适用于金融类App的安全测试场景。

weixin_42530732的博客 188

【Linux】安装Tomcat以yum方式安装

环境:Centos7.6前提:需要yum源。

liu_chen_yang的博客 7915

线结构光三维重建(二):光平面标定与激光轮廓提取的实战优化

本文深入探讨了线结构光三维重建中的光平面标定与激光轮廓提取两大核心环节的实战优化。详细介绍了从棋盘格标定板法到自动化高鲁棒性标定的流程优化,并分享了针对复杂工业场景(如低对比度、高反光表面)的激光轮廓提取组合策略,旨在提升三维重建系统的整体精度与稳定性。

weixin_29057237的博客 331

【清风数学建模笔记】第十一讲:时间序列分析

【清风数学建模笔记】第十一讲:时间序列分析

manerzi的博客 833

Linux安装JDK详细教程(附图)

这里介绍两种方式:yum安装方式和手动安装。

记录自己学习的点滴,有不足之处希望大家多多提议 6万+

Proteus+汇编+8086电子时钟实战:从框架搭建到中断驱动的核心实现

本文详细介绍了使用Proteus仿真软件和8086汇编语言实现电子时钟的完整过程。从程序框架搭建、内存分段模型理解,到核心的8259中断控制器配置与编程,再到中断服务程序编写和数码管动态扫描显示驱动,系统阐述了底层软硬件协同开发的核心原理与实战步骤。该项目是深入理解计算机中断机制和汇编语言编程的绝佳实践。

weixin_29189381的博客 413

Linux下软件安装的命令【RPM,YUM】及常用服务安装【JDK,Tomcat,MySQL】

以源代码安装软件,每次都需要配置操作系统、配置编译参数、实际编译,最后还要依据个人喜好的方式来安装软件。这个过程很麻烦很累人。

guojiaqi_的博客 2338

告别环境依赖!用PyInstaller把PaddleOCR项目打包成独立EXE(附完整spec文件配置)

本文详细介绍了如何使用PyInstaller将PaddleOCR项目打包成独立EXE文件,彻底解决Python环境依赖问题。通过完整的spec文件配置和实战技巧,开发者可以轻松创建开箱即用的OCR工具,特别适合需要交付给非技术用户的场景。文章涵盖环境配置、模型打包、性能优化等关键环节,并提供了解决常见问题的方案。

weixin_33712987的博客 574

数字孪生成熟度的L0-L4五级划分,各自特征和应用场景

数字孪生的分级(或成熟度模型)通常用于描述其技术复杂度和功能完备性的演进过程。3D设计模型(CAD)、建筑信息模型(BIM)、产品数字化手册。全自动驾驶系统、自适应智能电网、 “黑灯工厂”的自主调度。多学科模型融合、 “What-if”分析、提供决策建议。IoT设备监控平台、预测性维护(报警)、智慧仪表盘。工艺仿真优化、资产性能管理、手术方案预演、虚拟调试。状态监控、历史回溯、阈值报警、根因分析。可视化、数字化档案。自优化、自适应、目标驱动、高度自治。传统设备、纸质记录的管理模式。无或仅有离线、孤立数据。

2401_82881178的博客 1553

linux下使用yum安装jdk、mysql、tomcat、httpd

linux在线安装jdk、mysql、tomcat

somTian的博客 6118

SAP Joule Studio 能不能用来开发 skill:可以,但它开发的是 Joule 语境下的企业级 skill,而不是替代所有 SAP 开发技术的万能锤

SAP Joule Studio 专为开发Joule技能(Joule skills)而设计,这些技能是执行确定性单步业务动作的原子能力。它通过自然语言接口连接SAP和非SAP系统,适合处理边界清晰、可审计的任务(如创建工单、查询发票)。Joule技能作为会话式业务编排层,与ABAP、CAP等核心技术互补而非替代。开发支持低代码和专业代码两种方式,并具备企业级治理能力,但需要相应的BTP订阅和技术基础。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 202

Linux下yum安装jdk和wegt下载tomcat

目录 1、yum安装jdk 2、wegt下载安装tomcat 3、配置jdk环境变量 4、添加tomcat环境变量 1、yum安装jdk 可以通过下面这个语句查看要下载的jdk版本 yum list | grep jdk 类似这样 选择其中一个版本进行安装,这里我选择的是1.8的 yum -y install java-1.8.0-openjdk* 查看安装是否成功 java -version 成功显示如下 安装完后一般放在/usr/lib/jvm这个文件...

翱翔于知识的天空 920

如何解除Uniaccess管控??

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 2390

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

chromeos java安装_Linux 下 yum 安装jdk tomcat

一、 Linux 下 yum 安装jdk1.1 查看可安装的jdk版本yum -y list java*1.2 安装 jdkyum install -y java-1.8.0-openjdk-devel.x86_641.3 检查[root@VM-0-7-centos apache-tomcat-7.0.106]# java -versionopenjdk version "1.8.0_272"Op...

weixin_39618956的博客 200

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Linux学习安装JDK、Tomcat、YUM、Mysql

1.Linux目录 常见命令 查看当前所在目录 pwd 进入目录 cd 查看目录下的所有文件 ls -la 创建文件夹 mkdir /itcast 创建.文件 touch .classpath 写入内容 echo “ ”>文件 (>重定向输出到) 查看内容 cat test.txt 追加写入 echo “” >> 文件 拷贝a目录下的所有文件到b cp -r /a /...

weixin_43289855的博客 254

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Linux:Yum快速安装 JDK/Maven/MySQL/TomCat/Redis

新搞了一个阿里云的服务器,网上的安装教程大把大把的,不过就是下载安装包 再上传到服务器之类的,个人感觉很麻烦,yum安装之后再配置更方便一点吧.做个记录. 一 Linux快速安装JDK 1.首先检查自己是不是Root用户,如果不是的话 // 切换到Root用户 su root //之后 输入root密码 2.检测是否安装有jdk // 检测是否安装有jdk java -version //如果...

ShanDing_Blog 564

手把手教你在虚拟机Linux中安装jdk和tomcat(yum方式)

手把手教你在虚拟机Linux中安装jdk和tomcat(yum方式) 一、安装jdk 第一步 升级所有包同时也升级软件和系统内核 #yum update 第二步 查找jdk软件包 #yum search java | grep -i --color jdk 第三步 安装jdk1.8版 #yum install -y java-1.8.0-openjdk* 第四步 查看安装之后的jdk路径 #ls -lrt /etc/alternatives/java(后面会用到) 二、环境配置 第一步 配

AntPro 1082

Linux07(RPM与YUM、安装JDK、安装tomcat、安装idea、mysql5.7的安装)

Linux07 RPM与YUM rpm包的管理 介绍: 一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。 Linux的分发版本都有采用(suse,redhat, centos 等等),可以算是公认的行业标准了。 rpm包的简单查询指令: 查询已安装的rpm列表 rp

windyjcy的博客 416

Linux--yum以及nginx,java-jdk,tomcat的安装

一.关于yum 1.yum是上层软件管理工具,最重要的功能是可以解决软件的倚赖关系,yum能够投入使用的前提是必须要有yum源,以及配置源的指向文件。所以我们要在网络上下载与本机系统相匹配的iso镜像文件 本人系统是7.3,所以我使用的是rhel-server-7.3-x86_64-dvd.iso 镜像文件,具体根据个人而定。我在网上找了,发现好多博主都有各个版本的云盘连接,在这里我提供一个:ht...

woshijinfeixi的博客 217

Linux yum命令以及centOs安装jdk、tomcat、mysql

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

breadcrumb的博客 571

Linux学习笔记 -- day06 配置yum、安装mysql、jdk、tomcat等

一、安装软件命令 :yum  rpm

wingzhezhe的博客 646

Linux基础学习五:软件的相关安装(JDK,Tomcat,Yum)

设置静态ip 通过 dhclient 命令获取动态ip,动态ip存在的问题: 每次重启,需要重新获取 获取的ip地址不固定 解决方案:设置静态ip 配置步骤: 编辑 /etc/sysconfig/network-scirpts/ifcfg-ens33 文件 vi /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=sta

优快云专家-微编程的博客 289

【Linux】linux中安装软件(JDK、Tomcat、Docker)的三种方式(rpm、解压缩、yum)

文章目录一、使用 rpm 方式安装 JDK1、jdk环境配置第一步:检查当前系统是否存在java环境(jdk)第二步:rpm安装JDK第三步:配置环境变量第四步:生效配置文件2、springboot项目发布第一步:上传项目第二步:开启端口第三步:启动项目第四步:访问项目二、使用 解压缩 方式安装 Tomcat1、tomcat环境搭建第一步:解压压缩包第二步:启动/停止Tomcat三、使用 yum 方式安装 Docker1、yum 简介2、安装docker 一、使用 rpm 方式安装 JDK jdk的rp

✈ 正在努力 の 寒江(StudiousTiger) ✌ 呐 ✈ 665
上一篇: Linux基础配置
下一篇: Linux CentOS下安装Tomcat9
斜杠九四
博客等级 码龄9年 27粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值