linux中环境搭建(一篇文章就够了)

2023-10-27


注意:在安装环境的时候大家一定要把以前的系统保存,就好比虚拟机一定要先创建快照后再安装环境,不然到时候环境安装错了就很麻烦了,请大家养成良好的习惯,不然就会花费很多的事件去安装环境。

VMware 安装centos7 不带桌面的,命令行的那种

在这里插入图片描述
部分资源在百度网盘中,链接: https://pan.baidu.com/s/1OyK2lp5zBwFlebc1ZNv2YA 提取码: miy3

1. Linux安装tomcat

在这里插入图片描述
使用在线安装:wegt https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.22/bin/apache-tomcat-10.0.22.tar.gz
在这里插入图片描述

#把事先准备好的安装包上传到linux中的opt目录下
#解压
[root@myhost opt]# tar -zxvf apache-tomcat-10.0.21.tar.gz

#进入tomacat安装目录
[root@myhost opt]# cd apache-tomcat-10.0.21/

#进入bin目录中
#在bin目录中,tomcat为我们提供很多使用的脚本命令,我们只需要运行它们,就可以完成tomcat的启动与关闭操作。
#需要注意的是:以bat为后缀的文件,是只能在windows环境中运行,以sh为后缀的文件,才是在linux环境下运行的脚本。

#运行tomcat
[root@myhost bin]# sh startup.sh
#tomcat默认端口是8080,改端口可以去tomcat里的conf目录中的server.xml中修改。
#例如:http://192.168.152.155:8080/

在这里插入图片描述
在这里插入图片描述

Linux安装tomcat详细教程

linux部署tomcat项目详细教程(安装linux到部署tomcat)

2. 安装MySQL数据库

#进入/opt目录
[root@myhost opt]# cd /opt

#Linux平台上使用RPM包来安装mysql
[root@myhost opt]# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

#rpm安装
[root@myhost opt]# rpm -ivh mysql-community-release-el7-5.noarch.rpm

#yum安装mysql-server
[root@myhost opt]# yum install -y mysql-server

#如果没有权限的,可以执行下面命令设置权限(root用户不用执行)
[root@myhost opt]# chown -R mysql:mysql /var/lib/mysql/

#启动服务
root@myhost opt]# systemctl start mysqld.service

#查看mysql运行状态
[root@myhost opt]# service mysqld status

#查看初始密码
[root@myhost opt]# grep 'password' /var/log/mysqld.log
# 我的这个版本的mysql没有初始密码,输入MySQL -u root -p后直接点击enter就可以进入数据库

在这里插入图片描述
在这里插入图片描述

Linux环境安装mysql数据库详细教程(含卸载和密码重置过程)

navicat连接远程mysql数据库

3. jdk环境的安装

在这里插入图片描述

#首先需要上传jar包到linux服务器下的opt目录中

#安装glibc包,jdk环境配置好了,在输入框输入Java这样就不会报错了
root@myhost opt]# yum -y install glibc.i686

#解压
[root@myhost opt]# tar -zxvf jdk-18_linux-x64_bin.tar.gz 

#配置环境变量
export JAVA_HOME=/opt/jdk-18.0.1.1
export CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

#查看jdk是否配置好,java -version
[root@myhost jdk-18.0.1.1]# java -version

在这里插入图片描述
Centos7安装Java环境

4. 安装Apach服务器

在这里插入图片描述

# 使用yum命令安装
[root@myhost opt]# yum install httpd

#启动
[root@myhost opt]# service httpd start   

#停止
[root@myhost opt]# service httpd stop    

#tomcat默认端口是80端口
#在浏览器中输入ip+80端口访问apach服务器首页
http://192.168.152.155:80

#Apache服务目录在/etc/httpd
#配置文件在 /etc/httpd/conf/httpd.conf

在这里插入图片描述

Apache安装配置(Windows和Linux)-有手就行

5. python环境更新到python3

在这里插入图片描述

在这里插入图片描述

#服务器上python为2.7版本,现在需要将其更新为3.0以上版本

#上传Python-3.9.13.tgz压缩包到opt目录下

#安装python3编译的依赖包
[root@myhost opt]# yum install -y gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

#查看当前系统的python版本号(大部分linux系统下自带了python2,最好不要同一个系统下两个都存在,除非你清楚的知道该怎么区分它们)
#我们需要安装的是Python3,(注意不要删除旧的,删除后yum就无法使用了)

#解压源码包
[root@myhost opt]# tar -zxvf Python-3.9.13.tgz 

#创建python的安装目录
[root@myhost opt]# mkdir -p  /usr/local/software/python

#移动解压后的Python源码包到python目录
[root@myhost opt]# mv  /opt/Python-3.9.13   /usr/local/software/python

#进入解压后的目录并且执行安装命令
[root@myhost opt]# cd /usr/local/software/python/Python-3.9.13

 #指定安装目录为/usr/local/software/python/
[root@myhost Python-3.9.13]# ./configure --prefix=/usr/local/software/python/

#编译
[root@myhost Python-3.9.13]# make

#编译安装
[root@myhost Python-3.9.13]# make install

#添加linux环境变量,使用root账号
[root@myhost Python-3.9.13]# vi /etc/profile
#在末尾添加

#python
PATH=/usr/local/software/python/bin:$PATH
#保存后  执行source /etc/profile

#修改python的链接指向
[root@myhost Python-3.9.13]# mv /usr/bin/python /usr/bin/python.bak
[root@myhost Python-3.9.13]# ln -s /usr/local/software/python/bin/python3 /usr/bin/python

#因为yum和firewall都依赖python,所以更改会导致它们不可用,需要修改配置

#编辑yum
[root@myhost Python-3.9.13]# vi /usr/bin/yum

将第一行”#!/usr/bin/python” 改为 “#!/usr/bin/python2.7”即可
下面也同样:修改的”#!/usr/bin/python” 改为 “#!/usr/bin/python2.7”
[root@myhost Python-3.9.13]# vi /usr/libexec/urlgrabber-ext-down

#编辑firewall,修改/usr/bin/firewall-cmd和/usr/sbin/firewalld文件,在这两个文件的首行的“python”都改为“python2.7”
[root@myhost Python-3.9.13]# vi /usr/bin/firewall-cmd
[root@myhost Python-3.9.13]# vi /usr/sbin/firewalld

#验证是否修改成功  执行 
[root@myhost Python-3.9.13]# python -V

在这里插入图片描述
在这里插入图片描述

Linux下安装配置Python

6. 安装部署 Jenkins.war

jenkins.war下载地址
在这里插入图片描述

启动Jenkins需要提前安装配置 jdk 和 maven我这里是安装和配置好了环境的

在这里插入图片描述

如果你没有配置maven,请点击下面文章Centos7安装maven

环境和Jenkins.war配置和下载完成后,我们切换到 Jenkins.war所在到目录,然后执行如下命令: java -jar jenkins.war 启动,项目默认端口是 8080

在这里插入图片描述

第一次安装启动后,Jenkins 会自动生成一个随机的口令,用于首次登陆,Jenkins 默认的文件位置,以及你构建项目所在的目录,都在 /root/.jenkins/ 目录下,如果你更改 Jenkins.war 包的版本,也最好删除这个目录: rm -rf /root/.jenkins/ 后重新启动项目

在这里插入图片描述

liunx,centos7 下安装部署 Jenkins 持续集成工具,war包方式安装Jenkins

7. 安装pip、pytest

执行yum install python-pip,检查linux是否安装有Python-pip包,结果显示如下,说明虚拟机没有python-pip包
在这里插入图片描述

没有python-pip包执行yum -y install epel-release

在这里插入图片描述

再次执行yum install python-pip,然后输入两次y,表示确定

在这里插入图片描述
在这里插入图片描述
执行pip install --upgrade pip,对安装好的pip进行升级

在这里插入图片描述

突然一下子就报错了,让我猝不及防,然后我查看了一下pip的指向,发现pip指向的是python2.7版本,所有现在得把pip的指向改为python3版本

在这里插入图片描述
在这里插入图片描述

8. jmeter运行和安装

# 在Linux服务器先安装jdk,配置环境变量

# 下载:apache-jmeter-5.4.3.tgz(https://jmeter.apache.org/download_jmeter.cgi)上传到服务器(使用xftp)

#给安装包赋予权限
[root@myhost opt]# chmod 755 apache-jmeter-5.4.3.tgz

#创建一个目录
[root@myhost opt]# mkdir -p /usr/local/software/jmeter

#解压jmeter安装包到刚刚创建的文件夹里面
[root@myhost opt]# tar -zxvf apache-jmeter-5.4.3.tgz -C /usr/local/software/jmeter

#把解压的文件配置到对应的环境变量: vim /etc/profile

export JMETER_HOME=/usr/local/software/jmeter/apache-jmeter-5.4.3(jmeter安装路径)
exportCLASSPATH=${JMETER_HOME}/lib/ext/ApacheJMeter_core.jar:${JMETER_HOME}/lib/jorphan.jar:${CLASSPATH}
export PATH=${JMETER_HOME}/bin:$PATH

#使配置文件生效:source /etc/profile
[root@myhost apache-jmeter-5.4.3]# source /etc/profile

#运行jmeter -v
[root@myhost apache-jmeter-5.4.3]# jmeter -v

在这里插入图片描述

在这里插入图片描述

使用本机的jmeter写好测试代码,然后保存为脚本,上传到服务器中

在这里插入图片描述
在这里插入图片描述

#使用命令运行jmeter脚本文件
[root@myhost test]# jmeter -n -t 老黄历.jmx -l log.jtl

在这里插入图片描述

jemter运行参数说明

参数 Value 意思
-h 帮助 打印出有用的信息并退出
-n 非 GUI 模式 在非 GUI 模式下运行 JMeter
-t 测试文件 要运行的 JMeter 测试脚本文件
-l 日志文件 记录结果的文件
-r 远程执行 启动远程服务器
-H 代理主机 设置 JMeter 使用的代理主机
-P 代理端口 设置 JMeter 使用的代理主机的端口号

linux环境下安装jmeter

9. Android SD和adb安装

1、上传安装包到目标地址,用xftp上传

android-sdk下载地址:http://tools.android-studio.org/index.php/sdk/

在这里插入图片描述
在这里插入图片描述
2、解压安装包:tar -zxvf android-sdk_r24.4.1-linux.tgz
在这里插入图片描述

#创建一个Android的安装目录
[root@myhost opt]# mkdir -p /usr/local/software/android

#把刚刚解压的文件移动到这个目录里面
[root@myhost opt]# mv android-sdk-linux  /usr/local/software/android/

3、配置环境变量:vi /etc/profile

# 配置/etc/profile
export ANDROID_HOME=/usr/local/software/android/android-sdk-linux
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools

在这里插入图片描述

4、生效 环境变量配置,命令行输入:source /etc/profile

5、检查sdk安装成功:android -h

在这里插入图片描述

adb安装方法见下文

全平台adb工具安装方法

在这里插入图片描述

10. 使用源码安装git

yum安装就是这个缺点,版本你不好控制。如果想要使用最新版的git,那还是得自己下载源码安装

#安装git依赖包
[root@myhost opt]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

#安装编译源码所需依赖的时候,yum自动帮你安装了git,这时候你需要先卸载这个旧版的git
[root@myhost opt]#yum remove git

#下载安装包
[root@myhost opt]#wget https://www.kernel.org/pub/software/scm/git/git-2.8.3.tar.gz

#切换到安装目录里面,解压然后进入解压文件中
[root@myhost opt]# tar -zxvf git-2.8.3.tar.gz
[root@myhost opt]# cd git-2.8.3/

#配置git安装路径
[root@myhost git-2.8.3]# ./configure prefix=/usr/local/git/

#编译并且安装
[root@myhost git-2.8.3]# make && make install

#将git指令添加到bash中
[root@myhost git-2.8.3]# vi /etc/profile

#在最后一行加入
[root@myhost git-2.8.3]# export PATH=$PATH:/usr/local/git/bin

#让该配置文件立即生效
[root@myhost git-2.8.3]# source /etc/profile

#查看git版本
[root@myhost git-2.8.3]# git --version

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux中环境搭建(一篇文章就够了) 的相关文章

  • 调用 printf 系统子例程在汇编代码中输出整数错误[重复]

    这个问题在这里已经有答案了 来回 在windows7控制台窗口中运行gcc s2 asm 然后生成一个exe文件 运行a exe 然后崩溃 为什么 s2 asm 代码由以下源代码生成 int m m 1 iprint m s2 asm请参考
  • 在 .gitconfig 中隐藏 GitHub 令牌

    我想将所有点文件存储在 GitHub 上 包括 gitconfig 这需要我将 GitHub 令牌隐藏在 gitconfig 中 为此 我有一个 gitconfig hidden token 文件 这是我打算编辑并放在隐藏令牌的 git 下
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的
  • 如何在 Ubuntu 中创建公共 HTML 文件夹?

    简单的问题 但由于某种原因我无法在谷歌上找到确切的答案 我在 Slicehost 上安装了全新的 Ubuntu 并且想在我的主目录中为包含一堆静态 HTML 文件的简单网站创建一个公共目录 我该怎么做呢 只是打字的问题吗mkdir publ
  • 无需超级用户即可在 Linux 中打开 RAW 套接字

    我必须编写一个在 Linux 上运行的 ping 函数 语言是 C 所以 C 也可以 在网上搜索并查看源代码ping命令 事实证明我应该创建一个原始套接字 icmp sock socket AF INET SOCK RAW IPPROTO
  • 使用非规范地址检索内存数据会导致 SIGSEGV 而不是 SIGBUS

    我无法使用以下汇编代码产生 总线错误 这里我使用的内存地址不是合法的 规范地址 那么 我怎样才能触发该错误呢 我在带有 NASM 2 14 02 的 Ubuntu 20 04 LTS 下运行这段代码 但它会导致负载出现 SIGSEGV 分段
  • 使用 MAX_ORDER / 包含 mmzone.h

    根据https www kernel org doc Documentation networking packet mmap txt https www kernel org doc Documentation networking pa
  • Tomcat 连接超时

    我正在 tomcat 上运行 Spring Ext JS 应用程序 由于很少有繁重的过程需要花费大量时间 所以我会遇到以下异常 DefaultHandlerExceptionResolver 141 处理 org springframewo
  • 将我的应用程序部署在 Tomcat 的根目录下

    我有我的应用程序的战争文件 我需要在根级别部署它 当前的网址是http localhost 8080 war name application name 您有几个选择 取出开箱即用的ROOT 从 tomcat 目录并将您的 war 文件重命
  • 内核的panic()函数是否完全冻结所有其他进程?

    我想确认内核的panic 功能和其他类似kernel halt and machine halt 一旦触发 保证机器完全冻结 那么 所有的内核和用户进程都被冻结了吗 是panic 可以被调度程序中断吗 中断处理程序仍然可以执行吗 用例 如果
  • 将带有 webapp 的 WAR 部署到 Maven 中央存储库是否有意义?

    这样做有意义吗 如果是 我在哪里可以找到使用简单的 Web Hello World 执行此操作的示例 当人们从 Maven 执行 Web 应用程序时 他们会使用 Jetty 来运行它吗 我想 tomcat 太重了 任何帮助将不胜感激 谢谢
  • 绕过 dev/urandom|random 进行测试

    我想编写一个功能测试用例 用已知的随机数值来测试程序 我已经在单元测试期间用模拟对其进行了测试 但我也希望用于功能测试 当然不是全部 最简单的方法是什么 dev urandom仅覆盖一个进程 有没有办法做类似的事情chroot对于单个文件并
  • linux下如何从文本文件中获取值

    我有一些文本格式的文件 xxx conf 我在这个文件中有一些文本 disablelog 1 当我使用 grep r disablelog oscam conf 输出是 disablelog 1 但我只需要值1 请问你有什么想法吗 一种方法
  • Apache 访问 Linux 中的 NTFS 链接文件夹

    在 Debian jessie 中使用 Apache2 PHP 当我想在 Apache 的文档文件夹 var www 中创建一个新的小节时 我只需创建一个指向我的 php 文件所在的外部文件夹的链接 然后只需更改该文件夹的所有者和权限文件夹
  • 如何在 Eclipse 导出到 war 时将所有外部 jar 添加到库

    现在我已经做了一些研究 我明白我需要将依赖的外部 jar 放在 eclipse 中的动态 Web 项目的 web inf lib 文件夹中 不幸的是 到目前为止 我只是将它们导入到 eclipse 内的构建路径中 然后再次导入到我的测试服务
  • 使用os.execlp时,为什么`python`需要`python`作为argv[0]

    代码是这样的 os execlp python python child py other args this works os execlp python child py other args this doesn t work 我读过
  • cdc_acm:无法设置 dtr/rts - 无法与 USB cdc 设备通信

    我试图使用 pic24fj128gb206 枚举 usb cdc 设备 设备似乎已正确枚举 但是当我将设备连接到 Linux PC 时 我从内核收到以下警告消息 cdc acm 1 8 1 6 7 1 0 failed to set dtr
  • 如何让 Node.js 作为后台进程运行并且永不死掉?

    我通过 putty SSH 连接到 linux 服务器 我尝试将其作为后台进程运行 如下所示 node server js 然而 2 5 小时后 终端变得不活动 进程终止 即使终端断开连接 我是否也可以使进程保持活动状态 Edit 1 事实
  • ansible unarchive 模块如何查找 tar 二进制文件?

    我正在尝试执行一个 ansible 剧本 该剧本的任务是利用unarchive模块 因为我是在 OSX 上执行此操作 所以我需要使用它gnu tar 而不是bsd tar通常与 OSX 一起提供 因为BSD tar 不受官方支持 https

随机推荐

  • WebSocked、SSE、http1.0、http1.1和http2.0之间的关系

    1 WebSocked是个啥 首先 WebSocked是html5搞出来的一种新的协议 所以和http没有什么联系 要说非要有联系就是他借用了http协议来完成一部分的握手 但它和http一样都是一种连接协议 建立在tcp协议之上 使用在应
  • 服务器端Windows系统下SVN配置

    服务器端Windows系统下SVN配置 在局域网或者公网上进行SVN配置 即客户端与服务器端不是同一台电脑 则服务器端需要利用相关软件进行相应配置 客户端配置请参见 Windows系统下SVN 本地配置 所需软件 Visual SVN Se
  • 实证研究的步骤_写一篇论文的大致步骤是什么呢?

    大部分写过论文的人都知道 完成一篇大论文 准备时间少则数月多则数年 一旦准备完成 论文不过数天或数周就可以完成 下面我们简单总结一下写一篇论文的大致步骤有哪些 一 选题 选题是否恰当 对于论文写作有非常大的影响 论文选题可以从本专业未研究过
  • 【仙女踩坑实录】VirtualBox设置中需要禁用硬件虚拟化才能启动虚拟机

    最近在用virtual box做实验 在设置中提示 需要禁用硬件虚拟化才能启动虚拟机 确认按钮灰色 并且无法启动虚拟机 于是重启 进到bios系统 网上说按F2或者根据电脑上的提示再开机的时候一直按就能进入 我没进去 不过幸好 之前设置过g
  • 【编译原理】LL(1)文法分析全过程(FIRST/FLLOW/SELECT集等)实现(c++语言)

    注 本程序只能进行LL 1 文法的分析 非LL 1 文法请转化为LL 1 文法 变量声明 string M 2000 2000 任务分析表 stack
  • JMX+Prometheus监控Grafana展示

    文章目录 概述 Java代码使用PrometheusApi统计监控指标 Prometheus Grafana展示 概述 最近在阅读InLong的源码 发现它采用通过JMX Prometheus进行指标监控 这里做了下延伸将介绍使用JMX P
  • 【配电网重构】高比例清洁能源接入下计及需求响应的配电网重构【IEEE33节点】(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 2 1 数据 2 2 DG 与负荷 24 h 功率分布曲线 2 3 需求响应措施对重构结果的
  • 无需Avatarify 无需剪辑工具 一键生成多人版 “蚂蚁呀嘿“视频

    2021年3月1日更新2 1 调整人脸区域为椭圆 比圆形更贴合脸型 占用的面积变小 2 修复了人脸出现黑边的问题 如果人脸区域不合适 可调整ratio参数 2021年3月1日更新 1 调整人脸区域为圆形 更贴合脸型 占用的面积变小 2 增加
  • .net C#反编译及脱壳常用工具--小结

    1 Reflector 微软自家工具 推荐 Reflector是最为流行的 Net反编译工具 Reflector是由微软员工Lutz Roeder编写的免费程序 Reflector的出现使 NET程序员眼前豁然开朗 因为这个免费工具可以将
  • gin 十. gin-contrib之secure 支持https与安全设置

    目录 一 实现https 二 防止XSS CSRF 一 实现https gin默认是http接口 前面也了解到gin中存在一个子包 gin contrib secure 内部提供了一些安全相关的中间件 例如HTTPS重定向 内容安全策略 C
  • VS2017社区版30天到期无法使用的激活方法

    VS2017社区版30天到期无法使用的激活方法 VS2017社区版是免费的 但是第一次安装时 没有登录 导致只要30天的试用期 现在试用期结束 无法使用 本教程就是解决这个问题 我先在控制面板中将2017社区版软件卸载了 其实 事实证明完全
  • Camunda并行任务的处理

    在工作流的编排中 有些时候会同时运行多个任务或子进程 默认的方式是串行运行 但是为了提高性能 我们会希望能并行运行 我也进行了一些测试 发现这个并行运行还不是这么简单的 举个例子 我们现在定义一个流程 这个流程很简单 就是调用一个Http接
  • Unity中启动外部文件

    启动指定文件夹中的文件 按照其默认的打开方式 例如 1 mp4格式的会使用电脑的视频播放器 2 ppt格式的会使用office或者wps启动 UnityEngine Application OpenURL file Application
  • Unity关联 VS2017/VS2019,visual studio tools for unity

    1 打开VS2017 打开工具 获取工具和功能 下载如下所示 2 3 选择Assets 再选择import package 选择custom package 再找到Visual Studio 2017 Tools 位置一般在C Progra
  • C++赋值函数

    左值引用和右值引用 左值与右值 左值 在内存中占有确定位置的对象 即左值占有内存 换句话来说 就是有地址 有值 右值 不占内存 科学地讲是临时寄存器 仅有值 为临时变量 左右值的切换 右值 gt 左值 用 符号 int a 10 int b
  • vue 项目npm run dev如何访问static文件夹外的静态资源

    npm run dev的时候会走package json对应的命令 看dev server js文件 里面启动了一个服务 项目是通过localhost 8080形式访问 这时候index html里引入的静态资源必须是在已启动服务配置的目录
  • redis 健康检查所伴随的启动报错

    Redis health check failed 问题 Caused by Ubable to connect to 127 0 0 1 6379 Caused by java net ConnectExpection Connectio
  • Error running Command line is too long. IDEA 启动springboot项目报错

    问题描述 增加了个jar包 发现项目就启动不起来了 Error running EdenServerSystemApplication Command line is too long Shorten command line for Ed
  • qemu侧 网络包发送调试记录(二)

    qemu侧 网络包发送调试记录 二 断点记录 网络后端初始化 net param nic 函数 net client init1 net init tap net init tap one 网络前端初始化 pci nic init nofa
  • linux中环境搭建(一篇文章就够了)

    linux中环境搭建 一篇文章就够了 1 Linux安装tomcat 2 安装MySQL数据库 3 jdk环境的安装 4 安装Apach服务器 5 python环境更新到python3 6 安装部署 Jenkins war 7 安装pip