首页 文章 精选 留言 我的

精选列表

搜索[基础搭建],共10000篇文章
优秀的个人博客,低调大师

搭建一个高可用负载均衡的集群架构(第三部分)

1.使用脚本编写一个简单的文件分发系统即可,首先expect编写一个脚本文件rsync.expect,这个脚本是实现文件同步的脚本,内容如下: expect编写一个脚本文件rsync.expect,这个脚本是实现文件同步的脚本,内容如下: [root@localhost ~/syncList]# vim syncFile.expect #!/usr/bin/expect set host [lindex $argv 0] set file [lindex $argv 1] set passwd [lindex $argv 2] # 核心命令,同步多个文件 spawn rsync -avR --files-from=$file / root@$host:/ expect { "yes/no" { send "yes\r"} "password:" { send "$passwd\r" } } expect eof [root@localhost ~/syncList]# chmod a+x syncFile.expect 提示:如果你的rsync命令没有加-R选项的话,就需要确保目标机器也有这个文件列表中所定义的目录路径,不然就会报错。而且存放文件路径列表的文件内容不能有空格,不然会把这个空格看作为文件路径的一部分。 2.然后再编辑一个文本文件,这个文件用来放需要同步的文件列表,例如我这里需要同步以下几个文件: [root@localhost ~/syncList]$ cat /tmp/fileList.txt /usr/local/nginx/conf/vhost/dedecms.com.conf /usr/local/nginx/conf/vhost/discuz.com.conf /usr/local/nginx/conf/vhost/zrlog.com.conf /usr/local/sbin/nginx_log_rotate.sh /var/spool/cron/root [root@localhost ~/syncList]$ 3.还需要编辑一个ip.txt文件,用于存放需要同步的目标机器的IP地址,例如我需要将文件都同步这几个IP的机器上: [root@localhost ~/syncList]$ cat /root/webServerIP.txt 192.168.200.153 192.168.200.154 192.168.200.155 192.168.200.156 192.168.200.157 192.168.200.158 192.168.200.159 192.168.200.160 4.再编写一个shell脚本syncFile.sh,这个脚本比较简单,只是遍历出ip.list文件内容然后交给syncFile.expect脚本去执行而已,示例: #!/bin/bash ipList="$1" fileList="$2" password="$3" for ip in `cat $ipList` do # 第二个参数就是需要同步的文件列表 ./syncFile.expect $ip $fileList $password done 5.最后我们只需要执行syncFile.sh脚本即可实现批量同步多个文件: [root@localhost ~/syncList]$ sh ./syncFile.sh "/root/webServerIP.txt" "/tmp/fileList.txt" "lri35krJF;ba" 我运行完之后,没有报错,文件也正常同步了,这样我们就实现了一个简单的文件分发系统,这个需求就实现了。 11 制定合理的mysql数据备份方案,并写备份脚本,要求把备份数据传输到备份服务器 这个mysql的主从已经可以满足备份的需求了,如果需要通过脚本另外备份,可以参考以下代码: 假定,我们知道mysql root账号的密码,要备份的库为discuz,本地备份目录为/bak/mysql, 远程服务器ip为192.168.123.30,远程提供了一个rsync服务,备份的地址是 192.168.200.149::backup . 写完脚本后,需要加入到cron中,每天凌晨3点执行。 #! /bin/bash ### backup mysql data PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin d1=`data +%w` d2=`date +%d` pass="123456" bakdir=/bak/mysql r_bakdir=192.168.200.149::module/data/mysqlBackup exec 1>/var/log/mysqlbak.log 2>/var/log/mysqlbak.log echo "mysql backup begin at `date +"%F %T"`." mysqldump -uroot -p$pass –default-character-set=utf8 ultrax >$bakdir/ultrax$d1.sql mysqldump -uroot -p$pass –default-character-set=utf8 DedeCMS >$bakdir/DedeCMS$d1.sql mysqldump -uroot -p$pass –default-character-set=utf8 zrlog >$bakdir/zrlog$d1.sql rsync -az $bakdir/ultrax$d1.sql $r_bakdir/ultrax$d2.sql rsync -az $bakdir/DedeCMS$d1.sql $r_bakdir/DedeCMS$d2.sql rsync -az $bakdir/zrlog$d1.sql $r_bakdir/zrlog$d2.sql echo "mysql backup end at `date +"%F %T"`." 接着加入cron: 0 3* /bin/bash /usr/local/sbin/mysqlbak.sh 然后就会每天凌晨3点进行备份了。 12 制定代码、静态文件的备份方案,并写备份脚本,要求备份13 编写数据恢复文档,能保证当数据丢失在2小时内恢复所有数据 以上这两个需求可以一起实现,结合起来就是两个小时同步一次文件,因为提到需要恢复所有数据,所以需要备份整个站点目录,备份的脚本修改一下分发系统那个expect脚本就可以了,代码如下: [root@localhost ~]$ vim syncList/syncWebFile.expect #!/usr/bin/expect set host [lindex $argv 0] set file [lindex $argv 1] set passwd [lindex $argv 2] spawn rsync -az $file root@$host:$file expect { "yes/no" { send "yes\r"} "password:" { send "$passwd\r" } } interact [root@localhost ~]$ chmod a+x /root/syncList/syncWebFile.expect ## shell 脚本 [root@localhost ~]$ vim /root/syncList/webBak.sh #!/bin/bash ip="$1" webDir="$2" password=`cat /etc/sync.passwd` d=`date +%F" "%T` echo "webdir backup begin at `date +"%F %T"`." for dir in `cat $webDir` do /root/syncList/syncWebFile.expect $ip $dir $password done echo "backup = ip:$ip time:$d;" >> /tmp/webSync.log echo "webdir backup end at `date +"%F %T"`." 创建密码文件: [root@localhost ~]$ vim /etc/sync.passwd lri35krJF;ba [root@localhost ~]$ chmod 600 /etc/sync.passwd 创建文件存放需要同步的目录路径列表: [root@localhost ~]$ vim /tmp/webDir.txt /data/wwwroot/discuz.com /data/wwwroot/dedecms.com /data/wwwroot/zrlog.com 在备份服务上创建目录: mkdir -p /data/wwwroot/ 8.测试一下能否进行同步: [root@localhost ~]$ /bin/bash /root/syncList/webBak.sh "192.168.200.149" "/tmp/webDir.txt" webdir backup begin at 2017-12-22 16:53:07. spawn rsync -az -e ssh -i .ssh/id_rsa /data/wwwroot/discuz.com user1@192.168.200.149:/data/wwwroot/discuz.com Enter passphrase for key '.ssh/id_rsa': spawn rsync -az -e ssh -i .ssh/id_rsa /data/wwwroot/dedecms.com user1@192.168.200.149:/data/wwwroot/dedecms.com Enter passphrase for key '.ssh/id_rsa': spawn rsync -az -e ssh -i .ssh/id_rsa /data/wwwroot/zrlog.com user1@192.168.200.149:/data/wwwroot/zrlog.com Enter passphrase for key '.ssh/id_rsa': webdir backup end at 2017-12-22 16:53:16. [root@localhost ~]$ 9.执行完脚本后到备份服务器上确认一下: [root@localhost ~]$ ls /data/wwwroot/ dedecms.com discuz.com zrlog.com [root@localhost ~]$ ls /data/wwwroot/dedecms.com/ dedecms.com [root@localhost ~]$ ls /data/wwwroot/dedecms.com/dedecms.com/ a data dede favicon.ico images include index.php logs m member plus robots.txt tags.php templets uploads [root@localhost ~]$ ls /data/wwwroot/zrlog.com/zrlog.com/ admin assets attached error favicon.ico include install logs META-INF WEB-INF [root@localhost ~]$ ls /data/wwwroot/discuz.com/discuz.com/ admin.php api.php config cp.php data fileList.txt forum.php home.php member.php plugin.php robots.txt source template uc_server api archiver connect.php crossdomain.xml favicon.ico filePermission.sh group.php index.php misc.php portal.php search.php static uc_client userapp.php [root@localhost ~]$ 10.看看日志文件里有没有记录每次同步的时间: [root@localhost ~]$ cat /tmp/webSync.log backup = ip:192.168.200.149 time:2017-12-22 17:13:18; [root@localhost ~]$ 11.添加到任务计划里: 0 */2 * * * /bin/bash /root/syncList/webBak.sh "192.168.200.149" "/tmp/webDir.txt" 7 所有服务器要求只能普通用户登录,而且只能密钥登录,root只能普通用户sudo 1.首先使用visudo命令编辑配置文件,设置用户的alias: User_Alias ADMINS = user1, user2, user3 然后批量执行useradd命令在全部服务器上添加user1、user2、user3用户 2.找到Allow root to run any commands anywhere,在这行下面添加以下内容: ADMINS ALL=(ALL) NOPASSWD: /usr/bin/su, /usr/bin/ls, /usr/bin/cat, /usr/bin/mkdir 3.修改sshd.config配置文件,修改以下内容: [root@localhost ~]$ vim /etc/ssh/sshd_config PermitRootLogin no PubkeyAuthentication yes PasswordAuthentication no 重启服务: systemctl restart sshd.service 4.新建/root/.ssh 文件夹,然后生成密钥 [root@localhost ~]$ mkdir /root/.ssh/ [root@localhost ~]$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): # 直接回车 Enter passphrase (empty for no passphrase): # 设置密钥的密码 Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 95:e1:79:b3:a0:4b:a0:d8:83:77:4e:88:96:8b:af:56 root@localhost.localdomain The key's randomart image is: +--[ RSA 2048]----+ | . | | . + | | . * o | | * o . o o o | | * * o S . | | o E = . . | |. o . . | | o | |o.. | +-----------------+ [root@localhost ~]$ 查看生成的密钥文件: [root@localhost ~]$ cd .ssh/ [root@localhost ~/.ssh]$ ls id_rsa id_rsa.pub [root@localhost ~/.ssh]$ 把公钥的文件名修改成authorized_keys,并复制一份到user1用户的家目录下: mv id_rsa.pub authorized_keys mkdir /home/user1/.ssh/ touch /home/user1/.ssh/authorized_keys cat /root/.ssh/authorized_keys > /home/user1/.ssh/authorized_keys 设置权限: chmod 700 /home/user1/.ssh/ chmod 600 /home/user1/.ssh/authorized_keys chown -R user1:user1 /home/user1/.ssh/ 5.将id_rsa文件下载到本地。 6.连接时选择这个文件,或者导入Xshell中: 登录成功: 7.然后把/etc/sudoers、/etc/ssh/sshd_config配置文件同步到所有机器上,密钥也一并同步,同步完之后记得重启sshd服务。 完成以上操作后,无论使用密钥或者是密码都无法远程登录root用户,只能登录普通用户了。 因为我们禁止了root远程登录,并且普通用户也只能密钥登录,所以之前写的那个备份文件的脚本需要进行更改,改成通过ssh指定密钥进行连接远程机器。 1.给刚刚生成的密钥文件授予700权限: chmod 700 .ssh/id_rsa 2.使用ssh测试一下看看能否进行同步文件(user1的密钥文件我已经同步到所有机器上了): [root@localhost ~]$ rsync -av -e "ssh -i .ssh/id_rsa" /tmp/fileList.txt user1@192.168.200.149:/tmp/fileList.txt Enter passphrase for key '.ssh/id_rsa': ## 这是生成密钥时设置的密码 sending incremental file list fileList.txt sent 269 bytes received 31 bytes 28.57 bytes/sec total size is 189 speedup is 0.63 [root@localhost ~]$ 从结果可以看到,能够成功同步文件。 好,接下来修改之前的脚本,首先修改的是密码文件,将之前的登录密码改为生成密钥时设置的密码: [root@localhost ~]$ vim /etc/sync.passwd 123456 [root@localhost ~]$ shell脚本不用修改,修改expect脚本如下: [root@localhost ~]$ vim syncList/syncWebFile.expect #!/usr/bin/expect set host [lindex $argv 0] set file [lindex $argv 1] set passwd [lindex $argv 2] spawn rsync -az -e "ssh -i .ssh/id_rsa" $file user1@$host:$file expect { "yes/no" { send "yes\r"} "'.ssh/id_rsa':" { send "$passwd\r" } } expect eof 到备份服务器上给/data/wwwroot/目录授予777权限: chmod 777 /data/wwwroot/ 然后测试一下该脚本: [root@localhost ~]$ /bin/bash /root/syncList/webBak.sh "192.168.200.149" "/tmp/webDir.txt" webdir backup begin at 2017-12-22 16:53:07. spawn rsync -az -e ssh -i .ssh/id_rsa /data/wwwroot/discuz.com user1@192.168.200.149:/data/wwwroot/discuz.com Enter passphrase for key '.ssh/id_rsa': spawn rsync -az -e ssh -i .ssh/id_rsa /data/wwwroot/dedecms.com user1@192.168.200.149:/data/wwwroot/dedecms.com Enter passphrase for key '.ssh/id_rsa': spawn rsync -az -e ssh -i .ssh/id_rsa /data/wwwroot/zrlog.com user1@192.168.200.149:/data/wwwroot/zrlog.com Enter passphrase for key '.ssh/id_rsa': webdir backup end at 2017-12-22 16:53:16. [root@localhost ~]$ 可以看到没有报错,同步成功,到备份服务器上看看: [root@localhost ~]$ ls /data/wwwroot/ dedecms.com discuz.com zrlog.com [root@localhost ~]$ ls /data/wwwroot/dedecms.com/ dedecms.com [root@localhost ~]$ ls /data/wwwroot/dedecms.com/dedecms.com/ a data dede favicon.ico images include index.php logs m member plus robots.txt tags.php templets uploads [root@localhost ~]$ ls /data/wwwroot/zrlog.com/zrlog.com/ admin assets attached error favicon.ico include install logs META-INF WEB-INF [root@localhost ~]$ ls /data/wwwroot/discuz.com/discuz.com/ admin.php api.php config cp.php data fileList.txt forum.php home.php member.php plugin.php robots.txt source template uc_server api archiver connect.php crossdomain.xml favicon.ico filePermission.sh group.php index.php misc.php portal.php search.php static uc_client userapp.php [root@localhost ~]$ 没毛病 ,到目前为止这个项目就告一段落了,其中有一些细节还需慢慢处理,这些都是日后维护的问题了。 本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/2052429,如需转载请自行联系原作者

优秀的个人博客,低调大师

Hadoop概念学习系列之搭建(windows)Eclipse/MyEclipse远程操作(Linux上)hadoop2.2.0/hadoo...

问题1:在DFS Lcation 上不能多文件进行操作: 在Hadoop上的每个节点上修改该文件 conf/mapred-site.xml 增加: <property> <name>dfs.permissions</name> <value>false</value> </property> 关闭权限验证 问题2 log4j:WARN No appenders could be foundfor logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory). log4j:WARN Please initialize the log4jsystem properly. log4j:WARN Seehttp://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 在src文件夹下创建以log4j.properties命名的文件 文件内容如下 log4j.rootLogger=WARN, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d%p [%c] - %m%n 问题3 Java.io.IOException: Could not locateexecutable null/bin/winutils.exe in the Hadoop binaries. 缺少winutils.exe下载一个添加进去就行 下载地址 http://download.csdn.net/detail/u010106732/9630094 问题4 Exceptionin thread "main" java.lang.UnsatisfiedLinkError:org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(II[BI[BIILjava/lang/String;JZ)V 这是由于hadoop.dll 版本问题,2.2之前的和之后的需要的不一样 需要选择正确的版本并且在 Hadoop/bin和 C:\windows\system32 上将其替换 问题5 Exception in thread "main"java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z atorg.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Native Method) at org.apache.hadoop.io.nativeio.NativeIO$Windows.access(NativeIO.java:557) 目前未找到解决方法,只能修改源代码 源代码下载 http://pan.baidu.com/s/1jGJzVSy 将源代码放入 工程的src目录下并创建同样的包名,然后修改源代码 源代码 未修改前 publicstaticbooleanaccess(String path, AccessRight desiredAccess) throwsIOException { returnaccess0(path,desiredAccess.accessRight()); } 源代码 修改后 publicstaticbooleanaccess(String path, AccessRight desiredAccess) throwsIOException { return ture; //returnaccess0(path,desiredAccess.accessRight()); } 修改后编译成功,但是看不到软件运行时候的信息反馈。 本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/6053970.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

如何在阿里云服务器搭建FTP服务器,在本地电脑连接并操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/41720473 首先你需要有一个阿里云的ECS服务器 并且开通了公网宽带(话说也不贵,开来玩玩还是可以的,第一次买会比较便宜,第二次买1M的宽带两天是九毛多吧~) 开通了宽带之后,ECS服务器就可以上网了 如果嫌弃阿里云的连接管理终端太卡不好用的话 可以在本地电脑cmd控制台运行mstsc.exe启动远程桌面连接 计算机名输入ECS服务器的公网ip地址,开通了宽带的可以在控制台看到 点击连接如果提示输入用户名密码,用户名应该是administrator密码是对应的登录windows系统的密码(初始化的密码很复杂,包含大小写的那个) 成功连接 要是连接出现闪退的话可能是服务器那边没开机 或者处于待机状态 先去阿里云的连接管理终端动一下或者重启之后就可以了 接下来就可以在本地电脑直接操作ECS服务器了 下面进入正题 打开服务器默认的IE浏览器在网上下个FileZilla Server 安装过程自己可以问问度娘 安装完成后会跳出这个一个窗口 点击确定就好了,这边的服务器地址和端口是指连接服务器这台电脑的,和等下的自己的电脑连接服务器的时候的地址和端口是不一样的 确定之后进入主窗口 点击上面工具栏的小人图标建立一个用户(很重要) 点击用户下面的添加 输入用户名点击确定 勾选密码并输入,如111111 接下来先不要急着点确定 点击左边的shared folders选择要共享的文件夹 选完之后点击设为主目录 然后上面的用户读写权限看情况勾选 完成之后点左下角的确定就ok了 完成之后服务器的配置就好了 在本地电脑下载一个FlashFXP 运行之后的界面如下,左边的是本地电脑的文件系统,右边是连接的ftp服务器的文件系统 点击会话-快速连接 在地址中输入服务器的公网IP,端口号就是ftp默认的21不用改 用户名和密码填刚刚设置ftp服务器的时候的用户 也就是Test和111111 点击连接 连接成功了 上图是在将本地电脑的vs2012安装包上传到服务器中 

优秀的个人博客,低调大师

离线环境 0 基础 10 分钟部署高可用 K8s?这个工具太强了!

还在手搓 K8s 离线安装包?你该升级装备了! 对于运维和开发工程师来说,离线环境部署 Kubernetes往往是一场噩梦。 当你兴致勃勃准备大干一场时,现实通常是这样的: 镜像缺失: ImagePullBackOff 成了屏幕上最常见的报错。 配置繁琐: 证书、ETCD、网络插件……稍微错一个参数,集群就起不来。 不仅是K8s:装好了 K8s 只是第一步,还得装监控、装网关、装管理面板…… 有没有一种工具,能像在线安装一样丝滑,把 K8s 集群和管理平台一次性端进离线机房? 今天,我们要向大家推荐一款神器 ROI (Rainbond Offline Installer) 什么是 ROI? ROI 是 Rainbond 团队专为完全离线环境打造的一站式部署工具。 它的目标很简单:让离线环境下的云原生平台交付,变得像 apt-get install 一样简单。 无论你是需要在无网的物理机房交付项目,还是在很多安全限制的内网做 POC,ROI 都能让你事半功倍。 1. 真正的全栈离线交付 ROI 不止安装 K8s。它提供了一个包含所有依赖的大礼包。 自动 OS 调优: 内核参数、防火墙、Swap……ROI 自动帮你按最佳实践配置好。 内置 K8s (RKE2): 基于轻量级、高安全性的 RKE2 发行版,符合生产标准。 自动存储配置: 自动配置 LVM 和 NFS,不再为持久化存储头疼。 内置MySQL:集群模式下默认部署 MySQL 主从集群,为 Rainbond 集群提供高可用的 MySQL。 预加载镜像: 所有需要的容器镜像都已打包,无需配置任何 Registry 代理。 2. 极简操作,零门槛上手 忘掉那些几百行的 Ansible 脚本吧。ROI 的操作逻辑简单到令人发指: 下载:一条命令把所有离线包下载到本地。 分发:自动将包分发到集群所有节点。 安装:一个命令 roi up,集群就好了。 不仅仅是 K8s,更是 Rainbond 很多朋友为了离线装 K8s 费尽周折,但装好 K8s 后,如何让不懂 K8s 的开发人员也能用起来? 这才是更大的挑战。 使用 ROI,你在获得一个标准 K8s 集群的同时,还免费获得了一套强大的云原生应用管理平台 —— Rainbond。 Rainbond 能为你做什么? 应用视角的管理: 不需要写 Yaml,不需要懂 Service/Ingress,直接通过源码或镜像就能部署应用。 应用市场: 像手机装 App 一样安装 MySQL、Redis、GitLab 等中间件。 ...... ROI + Rainbond,不仅解决了怎么装的问题,更解决了怎么用的问题。 快速上手演示 眼见为实,让我们看看用 ROI 部署有多简单。 第一步:在有网环境下载离线包 # 下载 ROI 工具 curl -o roi https://get.rainbond.com/roi/roi-amd64 &amp;&amp; chmod +x roi # 一键下载所有离线资源 ./roi download 第二步:将文件拷贝到离线服务器 拿到 offline-packages 目录后,通过 U 盘或光盘拷贝到内网服务器。 第三步:单机一键安装(最简模式) > 单机部署下默认会部署 NFS Server,你需要手动安装,如 yum -y install nfs-utils。 > > TODO:未来会支持自动部署 # 无需任何配置,直接起飞 ./roi up 第四步:集群模式安装(生产模式) 只需编写一个简单的 cluster.yaml: hosts: - name: node-1 address: 172.16.0.134 internalAddress: 172.16.0.134 user: root password: root - name: node-2 address: 172.16.0.135 internalAddress: 172.16.0.135 user: root password: root - name: node-3 address: 172.16.0.136 internalAddress: 172.16.0.136 user: root password: root # Role assignment roleGroups: etcd: [node-1, node-2, node-3] master: [node-1, node-2] worker: [node-1, node-2, node-3] nfs-server: [node-1] rbd-gateway: [node-2, node-3] rbd-chaos: [node-2, node-3] # Storage configuration storage: nfs: enabled: true sharePath: /nfs-data/k8s storageClass: enabled: true # Database configuration - MySQL with master-slave replication database: mysql: enabled: true masterPassword: "RootPassword123!" replicationPassword: "ReplPassword123!" # Rainbond configuration rainbond: version: v6.4.0-release 然后执行: ./roi up -f cluster.yaml ✅ 安装完成! 终端会直接输出访问地址。打开浏览器,你不仅拥有了一个 Ready 状态的 K8s 集群,更拥有了一个功能完备的 Rainbond 控制台。 > 离线交付不再难,用 ROI 重新定义你的部署效率。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册