本文介绍了如何通过 Homebrew 安装和配置 macOS 上的开发环境,包括 Node.js、Python、Java、Ruby、Git 等。同时,还介绍了如何配置 VSCode,使用插件和设置,以便更高效地开发 Web 项目。最后,还提供了如何安装和使用 Vim 进行文本编辑的方法。
链接:https://pan.baidu.com/s/1EsvWGjrEIddwMs9CJk9CMA 提取码:kalk
第一步、下载JDK、Tomcat 下载JDK https://edelivery.Oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-x64.rpm 或者:#wget https://edelivery.oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-x64.rpm 版本:jdk-7u45-linux-x64.rpm 安装JDK [root@thinkpig007 ss]# rpm –ivhjdk-7u45-linux-x64.rpm 下载tomcat7 http://apache.fayea.com/apache-mirror/tomcat/tomcat-7/v7.0.47/bin/apache-tomcat-7.0.47.tar.gz 或者: #wget http://apache.fayea.com/apache-mirror/tomcat/tomcat-7/v7.0.47/bin/apache-tomcat-7.0.47.tar.gz 版本:apache-tomcat-7.0.47.tar.gz 第二步、卸载系统老的tomcat 卸载使用yum自动安装的tomcat6 #yum remove tomcat6 查看本机的jdk本版 #java –version [root@thinkpig007 ss]# java-version java version"1.6.0_24" OpenJDK Runtime Environment(IcedTea6 1.11.13) (rhel-1.65.1.11.13.el6_4-x86_64) OpenJDK 64-Bit Server VM(build 20.0-b12, mixed mode) [root@thinkpig007 ss]# 查看本机已经安装的JDK版本 [root@thinkpig007 ss]# cd/usr/java/ default/ jdk1.7.0_45/ latest/ 注意:这里的jdk目录就是我们修改/etc/profile环境变量是所要填写路径及目录名称,如下 exportJAVA_HOME=/usr/java/jdk1.7.0_45 (详解:“第三步、安装tomcat7”中的“(4) 添加tomcat环境变量”) [root@thinkpig007 ss]# cd/usr/java/ [root@thinkpig007jdk1.7.0_45]# cat release JAVA_VERSION="1.7.0" OS_NAME="Linux" OS_VERSION="2.6" OS_ARCH="amd64" SOURCE=" .:f0cdb08a4624corba:80f65a8f5850 deploy:2b1995e2c8f5 hotspot:12374864c655hotspot/make/closed:2c0b7ecdd92d hotspot/src/closed:b8a50da977b6hotspot/test/closed:47eee40b7622 install:99193876e329 jaxp:4beb90ab48f7jaxws:65b0f3ccdc8b jdk:c5ca4daec23b jdk/make/closed:917a8e455dc3jdk/src/closed:b6127fd9ff72 jdk/test/closed:e3c74041acc5 langtools:ba3ff27d4082pubs:476da1da84f7 sponsors:c732b1a6f43b" BUILD_TYPE=commercial 第三步、安装tomcat7 安装tomcat (1)解压apache-tomcat-7.0.47.tar.gz [root@thinkpig007 ss]# tar-zxvf apache-tomcat-7.0.47.tar.gz (2)复制解压后的目录apache-tomcat-7.0.47到/usr/local下并重命名为tomcat7 [root@thinkpig007 ss]# cp -Rapache-tomcat-7.0.47 /usr/local/tomcat7 注意:/usr/local/tomcat7就是后面我们要修改环境变量时需要填写的目录路径 (3)进入bin目录 [root@thinkpig007 ss]# cd/usr/local/tomcat7/ [root@thinkpig007 tomcat7]# cdbin/ [root@thinkpig007 bin]# 没修改环境变量前,启动tomcat出错 [root@thinkpig007 bin]#./star
Linux的用户信息很多都保存在这个/etc/passwd文件中,以前觉得这种配置文件挺难看懂的,但是静下心来瞅瞅其实也就一点东西,我们来一起看下。
在我们项目开发过程中,经常遇到定时类需求,如果是仅仅一个PHP文件,那么很轻松的知道该怎么配置,但是在框架中,mvc设计思想访问对应控制器下的对应方法,那么就无从下手了。我这里参考网上的例子在自己的服务器上成功实现。
20.31 expect脚本同步文件 expect脚本同步文件 在一台机器上把文件同步到多台机器上 自动同步文件 #!/usr/bin/expect set passwd "123456" spawn rsync -av root@192.168.133.132:/tmp/12.txt /tmp/ expect { "yes/no" { send "yes\r"} "password:" { send "$passwd\r" } } expect eof expect eof :只有spawn执行的命
expect是在tcl的基础上发展起来的,所以在安装expect之前务必要先安装tcl
根据系统版本下载tar.gz文件,服务器一般是64位的 jdk-8u121-linux-x64.tar.gz 、jdk-8u121-linux-i586.tar.gz 下载完成使用SSH或者winscp上传到服务器。
PKGBUILD 文件是为 Arch Linux 及其衍生版(如 Manjaro)构建和创建软件包的方式。
环境信息 Info1 Detail OS CentOS7 ZK Version 3.5.8 JDK Version 1.8 + (1.7以上即可) IP Info 192.168.126.133 其
一般情况下,zookeeper 的配置文件为 zoo.cfg。但是在 刚安装时,并不会有这个文件,而是 有一个 zoo_sample.cfg 文件,改文件便是配置文件的示例文件。
Liunx服务器不管是前端还是后端开发人员都是必须接触和了解的,安装各种各样的开发环境并不像Windows一样有界面能够便利操作,所以这里记录一下前端和后端需要的服务器环境!
该教程我只在 macOS10.12.3 下设置成功,其他情况未作太多的了解,仅供参考 感觉没什么人还在用Sublime了··· 查看$path 在终端输入以下命令,查看返回 echo $path 返回 /usr/local/bin /usr/bin /bin /usr/sbin /sbin 其中/usr/local/bin是macOS的默认加载路径,创建一条symbolic link就可以实现在终端打开 Sublime 设置安装 查找Sublime 3的CLI的设置教程: Here 发现有这条 ln -s
介绍:云服务器早在多年前就已经落地,趁着学生身份现在买腾讯云服务器还算实惠,就入手了一台1核2G的服务器,既然买了服务器之前又学习过Liunx就直接上手了。然后这篇文章就介绍一下腾讯云服务器安装各种环境实践。
oh my zsh shell的类型有很多种,linux下默认的是bash,虽然bash的功能已经很强大,但对于以懒惰为美德的程序员来说,bash的提示功能不够强大,界面也不够炫,并非理想工具。 而z
前言 今晚整理整理dockerfile作为再恋笔记。 那谁没事安心后随笔整理,想想都心痛。 ---- Dockerfile Dockerfile是用于自定义构建Docker镜像的规则文件。编辑好了Dockerfile文件后,使用docker build即可构建一个镜像。构建一个怎样的镜像那就得看Dockerfile文件。我们来看看具体的Docker有哪些内容与规则。 ---- 基本结构 (1) 文件的编辑类似键值对,一个键配置一个值,规范而言,键为大写、值要小写 (2) 使用#注释 (3) 整体
在官网下载:https://dev.mysql.com/downloads/mysql/ 也可以选择用我的修改后的: 使用deb包进行安装 将下载好的mysql-server_5.7.18压缩包导入linux服务器,然后进行下面的操作。
Linux任务计划 crontab -u、-e、-l、-r 格式:分 时 日 月 周 user command 文件/var/spool/cron/username 分范围0-59,时范围0-23,日范围1-31,月范围1-12,周1-7 可用格式1-5表示一个范围1到5 可用格式1,2,3表示1或者2或者3 可用格式*/2表示被2整除的数字,比如小时,那就是每隔2小时 要保证服务是启动状态 systemctl start crond.service crontab命令 crontab -e //编辑
其中的combined_realip是日志的名称,这个名称可以自定义,但是你定义了什么名称,后面你操作日志的时候也要使用这个名称。就像你给一个人起名叫李四,你就得用李四这个名字去叫他干活。剩下的字符串含义在上面的图片已经介绍了,就不赘述了。
在渗透中,我们拿到的webshell和反弹回来的shell权限可能都不高,如果我们可以使用sudo命令访问某些程序,则我们可以使用sudo可以提权。在这里,我们可以通过调用一些二进制文件,这些文件可以帮助我们使用sudo命令提升特权。但是在特权升级之前,让我们了解一些sudoer文件语法,sudo命令是什么?;)。
进入目录后会看见 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fffr6Upu-1599492222353)(en-resource://database/1203:1)] 一般情况下,zookeeper 的配置文件为 zoo.cfg。但是在 刚安装时,并不会有这个文件,而是 有一个 zoo_sample.cfg 文件,改文件便是配置文件的示例文件。
默认权限需要换算成字母再相减,所有建立文件之后的默认权限,为666减去umask的值
我们会在 Docker 容器里运行 Jenkins,再使用 Jenkins 启动一个 Maven 容器,用来编译我们的代码,接着在另一个 Maven 容器中运行测试用例并生成制品(例如 jar 包),然后再在 Jenkins 容器中制作 Docker 镜像,最后将镜像推送到 Docker Hub。
项目测试通过,到了上线部署阶段。部署的机器安全限制比较严格,不允许访问外网。此外,没有对外网开放ssh服务,无法通过ssh远程操作。
在这之前的笔记里,将大部分的常用shell基本语法已经介绍完了,在这之后就是实战一些小项目了。这个项目是做一个简单的告警系统,用于完成一些简单个性化的需求。
如果要将最终的打包形式改为war的话,还需要对pom.xml文件进行修改,因为spring-boot-starter-web中包含内嵌的tomcat容器,所以直接部署在外部容器会冲突报错。这里有两种方法可以解决,如下
通过crontab -e命令,添加定时器任务。定期执行python的脚本。如果-e后面是多条命名,可以用分号”;”进行分割。用分号 (;) 所分割的话,那么命令会连续的执行下去。如果每个命令被 && 号分隔,那么这些命令会一直执行下去,如果中间有错误的命令存在,则不再执行后面的命令,没错则执行到完为止。如果每个命令被双竖线(||)分隔符分隔,如果命令遇到可以成功执行的命令,那么命令停止执行,即使后面还有正确的命令则后面的所有命令都将得不到执行。假如命令一开始就执行失败,那么就会执行 || 后的下一个命令,直到遇到有可以成功执行的命令为止,假如所有的都失败,则所有这些失败的命令都会被尝试执行一次。
顾名思义,pdftk-java 是用 Java 编写的,所以只要你安装了 Java,它就能在所有主流的操作系统上工作。
在这篇文章中,我将会为大家介绍一些使用环境变量进行Linux提权的方法,包括在CTF challenges中使用到一些的技术。话不多说,让我们进入正题!
2、ZooKeeper压缩包上传到服务器,压缩包下载地址: Apache ZooKeeper
在busybox目录下会看见 _install目录,里面有/bin /sbin linuxrc三个文件将这三个目录或文件拷到第一步所建的rootfs文件夹下。
可以从下列链接找到process_monitor.sh: https://github.com/eyjian/mooon/blob/master/common_library/shell/process_monitor.sh 假设: 1) java安装目录为/data/jdk 2) 监控脚本process_monitor监控脚本process_monitor.sh安装目录为/usr/local/bin 3) hadoop安装目录为/data/hadoop 4) hbase安装目录为/data/hbase 5) zookeeper安装目录为/data/zookeeper 可以通过jps查看到进程ID,然后使用kill命令杀死进程,查看监控重拉起效果。 process_monitor.sh每隔2秒(由变量monitor_interval指定)检查一次,发现进程不存在时,立即启动。 假设运行用户为root,则process_monitor.sh的日志文件为/tmp/process_monitor-root.log, 假设运行用户为test,则process_monitor.sh的日志文件为/tmp/process_monitor-test.log,以此类推。 可以通过tail -f观察process_monitor.sh的日志,来了解process_monitor.sh的运行。 process_monitor.sh带两个参数,第一个参数是被监控的进程对象,process_monitor.sh依靠第二个参数重启被监控对象。 第一个参数又分两部分,第一个空格前的部分,和空格之后的部分。 第一部分为被监控对象的进程名称,对于java程序,进程名是java,而不是jar包的名称。 第二部分为参数部分,可有可无,但正是通过它来区分不同的被监控对象,对于java、shell程序等是必须的。 另外,process_monitor.sh对参数部分是采取模糊部分匹配方式。 可以通过ps aux命令来确定进程名称和参数。 crontab配置如下: # 监控HDFS NameNode * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_namenode" "/data/hadoop/sbin/hadoop-daemon.sh start namenode" # 监控HDFS切换主备NameNode程序 * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_zkfc" "/data/hadoop/sbin/hadoop-daemon.sh start zkfc" # 监控HDFS JournalNode * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_journalnode" "/data/hadoop/sbin/hadoop-daemon.sh start journalnode" # 监控HDFS DataNode * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_datanode" "/data/hadoop/sbin/hadoop-daemon.sh start datanode" # 监控HBase Master * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_master" "/data/hbase/bin/hbase-daemon.sh start master" # 监控HBase thrift2 * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dproc_thrift2" "/data/hbase/bin/hbase-daemon.sh start thrift2 --framed -nonblocking" # 监控ZooKeeper * * * * * /usr/local/bin/process_monitor.sh "/data/jdk/bin/java -Dzookeeper" "/data/zookeeper/bin/zkServer.sh start" # 监控HBase regionserver * * * * * /usr/local/bin/process_monitor.sh "/data/jd
真实的集群是需要部署在不同的服务器上的,但是在我们测试时同时启动很多个虚拟机内存会吃不消,所以我们通常会搭建伪集群,也就是把所有的服务都搭建在一台虚拟机上,用端口进行区分。
这可能很简单,但没太多解释。不要担心,我将使用示例来进行必要的解释,以便你能理解为什么在运行一个 shell 脚本时要使用给定的特定语法格式。
简单说,就是创建一个服务型的镜像,即运行基于该镜像创建的容器时,基于该容器自动开启一个服务。具体来说,是创建一个部署了nginx,uwsgi,python,django项目代码的镜像,运行基于该镜像创建的容器时,自动开启nginx,uwsgi等服务。简单理解就是在容器内部,通过nginx+uwsgi部署Django项目
在Docker的运用中,从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低。所以就需要一 种文件或脚本,我们把想执行的操作以命令的方式写入其中,然后让docker读取并分析、执行,那么重复构建、更新将变得很方便,所以Dockerfile就此诞生了。Docker提供了Dockerfile作为构建Docker镜像脚本,避免人们一行一行的输入,真是善莫大焉。Dockerfile脚本可以做到随时维护修改,即可以分享,更有利于在模板化,更不用说传输了,好处那
expect 命令是用来实现自动化交互通信的,比如当你在脚本中通过某些命令登录、连接、上传、下载等和远程服务器的交互时,可能需要让你输入一些账号、密码等信息
zookeeper分布式管理软件。常用它做注册中心(依赖zookeeper的发布/订阅功能)、配置文件中心、分布式锁配置、集群管理等。 zookeeper一共就有两个版本。主要使用的是java语言写的。
```bash tar -zxvf apache-hive-3.1.1-bin.tar.gz -C /root/bigdata/
虽然这是从早期DC版本开始的逻辑发展(我不会告诉您哪个),但是其中涉及一些新概念,但是您需要自己弄清楚这些概念。:-)如果您需要求助于暴力破解或字典攻击,您可能不会成功。
FastDFS架构包括Tracker server 和 Storage server 。客户端请求Tracker server 进行文件上传、下载,通过Ttacker server 调度,最总由Storage server 完成文件上传和下载。
之前分别介绍了在ubuntu、centos6和centos7环境下安装了Cisco AnyConnect的V**部署过程: 今天介绍下在linux客户机上连接AnyConnect V**:
文件的可执行属性和环境变量 Linux下文件有一个特殊的属性即可执行属性,用来指示这个文件是一个可执行的脚本或可以运行的二进制文件。前面所提到的这些命令,都具有可执行属性。 which: 表示查看命令的路径。一般用于当我们想知道使用的命令来源于什么地方时,比如安装了多个R或多个python,但又分不清用的是哪个时,which一下,立即明了。在这儿我们用which获取的是可执行的命令所在的路径,进而查看其属性。 ct@iZ8vb3e9jtel4m99ss6e7eZ:~$ ls -l "`which cd`"
如果系统默认的JDK版本是JDK 1.8.x,那么可以省略此步骤 如果系统中需要部署多Tomcat,例如:Tomcat 7+JDK 7,Tomcat 8 + JDK 8共存那么则需要进行以下配置:
这里ansible就安装完啦,是不是so easy~ 然后在建立一个/etc/ansilbe/hosts文件进行测试咯 其实这是ansible默认读取的位置,后续可以加参数指定hosts文件的。
以上三种方法也可以只使用于关键数据,具体使用哪种方法,可以根据自己集群的规模和数据量大小具体选择。
有这么一种迁移海量文件的运维场景:由于现有网站服务器配置不够,需要做网站迁移(就是迁移到另一台高配置服务器上跑着),站点目录下有海量的小文件,大概100G左右,图片文件居多。目测直接拷贝过去的话,要好几天的时间。那么问题来了,这种情况下的网站数据要怎么迁移呢?另外,此网站还在运行中,白天是断然不能停止了,只能运行深夜停掉几个小时。 可以采用的方案如下: 1.利用rsync进行同步。这种方法速度会慢,不过好在支持续传,在带宽不高或网站不稳定的情况下强烈建议用此方法: 1)先修改一下旧站上传图片的功能,确保新上
创建备份目录 mkdir -p /root/bin mkdir -p /bak/mysql-xback
shell 英文含义是“壳”,这是相对于内核来说的,shell 也确实就像是内核的壳,通常来说,所有对内核的访问都要经由 shell 。同时,shell 还是一门功能强大的编程语言。shell 是 Linux 学习中必然要经过的一环。实际上,Linux 系统在启动完成,登录成功后运行的第一个程序就是一个 shell ,Linux 的许多功能都可以从 shell 中轻松实现。
领取专属 10元无门槛券
手把手带您无忧上云