全国大数据交易所及数据交易平台汇总
政府类:
贵阳大数据交易所
http://www.gbdex.com/website/
我国乃至全球第一家大数据交易所, 贵阳大数据交易所发展会员数目突破2000家,已接入225家优质数据源,经过脱敏脱密,可交易的数据总量超150PB,可交易数据产品4000余个,涵盖三十多个领域,成为综合类、全品类数据交易平台。
西咸新区大数据交易所
http://www.chinabdbank.com/index.htm
西咸新区沣西大数据产业发展平台,通过构建有效的市场机制,聚合政府、企业、社会等多类数据资源,整合大数据服务能力,全面运营大秦大数据银行线上服务平台和陕西省社会数据服务大厅线下服务平台。
东湖大数据交易中心
http://www.chinadatatrading.com/
武汉东湖大数据交易中心股份有限公司的业务涵盖数据交易与流通、数据分析、数据应用和数据产品开发等,聚焦“大数据+”产业链,提供有价值的产品和解决方案,帮助用户提升核心竞争力。
华东江苏大数据交易平台
http://www.bigdatahd.com/
华东江苏大数据交易中心(简称BDEX)是在实施“国家大数据战略”大背景下,经国家批准的华东地区首个领先的跨区域、标准化、权威性省级国有大数据资产交易与流通平台,2015年11月成立于国家级大数据产业基地——江苏盐城大数据产业园,承担助推江苏省国有数据增值开放流通、大数据产业发展之重任。
哈尔滨数据交易中心
http://www.hrbdataex.com/
哈尔滨数据交易中心由黑龙江省政府办公厅组织发起并协调省金融办、省发改委、省工信委等部门批准设立。结合政府数据资源、企业数据资源,打造成为立足东三省,辐射全国的大数据交易市场,构建围绕数据的生态系统支撑平台。
上海数据交易中心
https://www.chinadep.com/index.html
上海数据交易中心有限公司(简称“上海数据交易中心”),是经上海市人民政府批准,上海市经济和信息化委、上海市商务委联合批复成立的国有控股混合所有制企业,上海数据交易中心承担着促进商业数据流通、跨区域的机构合作和数据互联、政府数据与商业数据融合应用等工作职能。
中国工信数据
http://www.miit.gov.cn/n1146312/index.html
平台类:
京东万象
https://wx.jdcloud.com/
以数据开放、数据共享、数据分析为核心的综合性数据开放平台,拥有的数据类型主要包括金融、征信、电商、质检、海关、运营商数据
聚合数据
https://www.juhe.cn/
互联网专业数据科技服务商。主要提供两种核心服务:以API数据接口的形式,提供数据服务;以大数据技术,提供数据应用服务。
数据宝
https://www.chinadatapay.com/
中国领先的国有数据资产增值运营服务商,提供 公安、运营商、银联、交通、车辆、企业、税务、气象大数据。
百度智能云云市场
https://cloud.baidu.com/market/list/125
由百度智能云建立的云计算软件或商品的交易与交付平台,下设多个商品品类,包括镜像环境、建站推广、企业应用、人工智能、数据智能、区块链、泛机器人、软件工具、安全服务、上云服务、API服务等,商品数量数千种。
数粮
http://datasl.com/
大数据领域的流通平台,供数据资源和大数据技术应用产品进行交易,支持API接口、数据包下载、定制等交易模式。
阿凡达数据
https://www.avatardata.cn/Docs
API数据接口云服务,专注于数据的采集与分析处理工作,拥有106个数据种类。
HaoService
http://www.haoservice.com/
数据互联服务平台。提供30大类以上基础数据API服务、热门源码交易服务。
发源地
http://www.finndy.com/
大数据应用平台和大数据解决方案提供商。提供数据交易服务,目前总共拥有20246个数据源。
iDataAPI
https://www.idataapi.com/
数据服务提供商,已推出1300多种数据产品和50多种数据分析产品,涵盖30000个网站平台和全球移动APP平台。
天元数据
https://www.tdata.cn/
中国领先的云计算、大数据服务商。数据商品涵盖了线上零售、生活服务、企业数据、农业、资源能化等10大类。提供17个API接口、165个数据集、56个数据报告、278个政府开放数据。
中原大数据交易
http://www.zybigdatae.cn/
数据资源提供商、数据资产运营商和数据交易服务商,向客户提供大数据全产业链平台与技术服务。提供223个API接口、177个数据集、89个数据报告、2个数据应用。
环境云
http://www.envicloud.cn/home?title=0
环境大数据开放平台。拥有3702家注册用户、收录1,041,098,354条环境数据,以积分兑换和免费下载两种方式提供数据服务。
天眼查
https://www.tianyancha.com/vipintro/?jsid=SEM-BAIDU-PZ1907-SY-000100
天眼查收录了1.8亿+家社会实体信息(含企业、事业单位、基金会、学校、律所等),90多种维度信息全量实时更新。
企查查
https://www.qichacha.com/
提供企业工商信息、法院判决信息、关联企业信息、法律诉讼、失信信息、被执行人信息、知识产权信息、公司新闻、企业年报等企业数据交易服务,覆盖全国1.8亿家企业信息。
杭州钱塘大数据交易中心
http://www.qtbigdata.com/index.html
杭州钱塘大数据交易中心有限公司(简称“钱塘数据”)成立于2015年底,是国内一家工业大数据应用和交易平台。
中关村数海大数据交易平台
http://www.shuhaidata.com/
全国第一家数据交易平台,推动数据的流通,发挥数据的商品属性,促成数据交换、整合,将真正带动大数据产业繁荣。
大数据挖掘模型交易平台
http://mx.tipdm.org/
模型算法交易平台,配套完整建模数据,模型实现过程说明及源代码。
APIX
https://www.apix.cn/services/category
APIX是黑格科技旗下的一款SaaS云服务产品,专注为机构提供实时在线用户数据分析,信用评估,第三方数据接入服务。
抓手数据
https://zhuashou.net/
运用区块链底层技术,以生产数据产品、建立数据交易生态圈为主要目标,促进数据的开放共享和数据价值的释放
千教堂
http://d.askci.com/
全球大数据众享平台
中国数据商城
http://www.chinadatastore.cn/index.html
中国领先的大数据交易平台
中国管理大数据
http://www.chn-source.com/
管理大数据RBD=平台运营商+数据供应商
数据星河
http://www.bdgstore.cn/
是全球首款大数据产业链生态平台,基于国际主流的大数据生态技术研发,结合先进的大数据资产运营理念,汇聚全球近千家大数据公司 。
相关阅读:
最全的中国开放数据(Open Data)及政府数据开放平台汇总
国外最全的开放数据(Open Data)及政府数据开放平台汇总
【Open Data】国外开放数据中心及政府数据开放平台汇总
纽约政府开放数据平台
https://opendata.cityofnewyork.us/
美国官网数据超市
提供230,256个数据集、14个数据目录
新加坡政府开放数据平台
提供1700个数据集、9个数据目录
休斯顿市开放数据门户网站
247个数据集、12个数据目录
Academic Torrents
共享大量数据集的分布式系统,提供445.96TB的研究数据
Hadoopilluminated.Com
http://hadoopilluminated.com/hadoop_illuminated/Public_Bigdata_Sets.html
提供国外开放数据网站相关信息,目前已集合35个查询途径
United States Census Bureau
美国人口普查局
Usgovxml.Com
USGovXML.com是美国政府提供的公共Web服务和XML数据源的索引。USGovXML.com索引来自 美国政府所有3个分支机构以及董事会,委员会,公司和独立机构的数据来源。
Enigma.Com
快速搜索和分析政府、公司和组织发布的数十亿份公共记录。
Datahub.Io
发现和分享高质量数据集,与他人联系和分享知识。
Aws.Amazon.Com/Datasets
https://registry.opendata.aws/
帮助人们发现和共享通过AWS资源提供的数据集。
Databib.Org
开放数据网站导航
Quandl.Com
金融,经济和替代数据集的主要来源,为投资专业人士提供服务。Quandl的平台被超过40万人使用,其中包括来自世界顶级对冲基金,资产管理公司和投资银行的分析师。
Figshare.Com
研究论文上传网站,已有2600万+浏览量、750万+下载、800,000+上传、200万+文章
GeoLite Legacy Downloadable Databases
https://dev.maxmind.com/geoip/geoip2/geolite2/
IP地理定位数据库
Quora's Big Datasets Answer
https://www.quora.com/Where-can-I-find-large-datasets-open-to-the-public
公共开放数据集汇总
Kaggle Datasets
https://www.kaggle.com/datasets
数据文档,拥有20394个数据集
A Deep Catalog Of Human Genetic Variation
https://www.internationalgenome.org/data
国际基因组样本资源
Google Public Data
https://www.google.com/publicdata/directory
谷歌公开数据搜索网站
World Bank Data
世界银行开放数据搜索网站
NYC Taxi Data
http://chriswhong.github.io/nyctaxi/
纽约出租车数据开放平台
Open Data Philly
https://www.opendataphilly.org/
费城开放数据平台、16个数据目录、354个数据集
Grouplens.Org
https://grouplens.org/datasets/
提供9个数据集,关于书籍、电源、wiki数据集
UC Irvine Machine Learning Repository
http://archive.ics.uci.edu/ml/index.php
加州大学欧文机器学习库,提供481个数据集
Research-Quality Data Sets By Hilary Mason
http://web.archive.org/web/20150320022752/https://bitly.com/bundles/hmason/1
公共数据集汇总
National Climatic Data Center - NOAA
美国国家环境信息中心,监测,评估和提供国家气候和历史天气数据和信息
ClimateData.Us
美国宇航局公布的美国气候数据
R/Datasets
https://www.reddit.com/r/datasets/
开放数据集汇总网站
MapLight
关于货币的数据集
GHDx
健康指标和评估研究所 - 来自世界各地的健康和人口统计数据集目录,包括IHME结果
St. Louis Federal Reserve Economic Data - FRED
圣路易斯联邦储备银行数据开放网站,该网站提供丰富的经济数据和信息,以促进经济教育和加强经济研究。
New Zealand Institute Of Economic Research – Data1850
新西兰经济研究所,可在该网站下载自1850年以来的相关经济数据。
Dept. Of Politics @ New York University
http://www.nyu.edu/projects/politicsdatalab/datasupp_datasources.html
纽约大学政治数据中心
Open Data Sources
https://github.com/datasciencemasters/data
Github网站上的开放数据源总结
UNICEF Statistics And Monitoring
https://www.unicef.org/statistics/index_24287.html
联合国儿童基金会官网,开放世界各国家、地区的儿童状况报告
Undata
http://data.un.org/Default.aspx
联合国国际统计数据库,包含6,000多万个数据点,涵盖广泛的统计主题,包括农业,犯罪,通信,发展援助,教育,能源,环境,金融,性别,健康,劳动力市场,制造业,国民核算,人口与移民,科学技术,旅游,运输和贸易。
NASA SocioEconomic Data And Applications Center - SEDAC
https://sedac.ciesin.columbia.edu/
社会经济数据和应用中心,是美国国家航空航天局地球观测系统数据和信息系统(EOSDIS)中的分布式主动档案中心(DAAC)之一。
The GDELT Project
https://www.gdeltproject.org/#intro
GDELT博客是世界上最大的人类社会开放研究平台的最新新闻,公告,信息和应用程序的官方一站式存储库。
Sweden, Statistics
瑞典统计局,提供瑞典国家统计数据,包含26个数据集。
Github Free Data Source List
https://www.datasciencecentral.com/profiles/blogs/great-github-list-of-public-data-sets
Github公共数据集
StackExchange Data Explorer
https://data.stackexchange.com/
一个开源工具,用于对来自StackExchange网络的公共数据进行任意查询。
San Fransisco Government Open Data
旧金山政府开发数据网站
IBM Blog Abour Open Data
https://www.datasciencecentral.com/profiles/blogs/the-free-big-data-sources-everyone-should-know
数据科学中心
Liver Tumor Segmentation Challenge Dataset
https://competitions.codalab.org/competitions/17094
Public Git Archive
https://github.com/src-d/datasets/tree/master/PublicGitArchive
Git Hub开放数据平台汇总
GHTorrent
Microsoft Research Open Data
来自Microsoft Research的免费数据集,以推进自然语言处理,计算机视觉和特定领域科学等领域的最新研究。
Open Government Data Platform India
印度开放政府数据(OGD)平台-data.gov.in-是一个用于支持印度政府开放数据倡议的平台。
Google Dataset Search (Beta)
https://toolbox.google.com/datasetsearch
谷歌数据集搜索门户
Data.Gov
它是美国政府免费提供有关气候和犯罪等各种惊人信息的门户。
Data.Gov.Uk
有来自英国所有中央部门以及许多其他公共部门和地方当局的数据集。它充当有关一切信息的门户,包括商业与经济,犯罪与正义,国防,教育,环境,政府,卫生,社会和交通运输。
美国人口普查局(US Census Bureau)
该网站是有关政府掌握的有关美国公民生活的统计数据,包括人口,经济,教育,地理等。
中央情报局世界概况
https://www.cia.gov/library/publications/the-world-factbook/
世界上每个国家的事实;重点研究267个国家/地区的历史,政府,人口,经济,能源,地理,通讯,运输,军事和跨国问题。
欧盟开放数据门户
http://open-data.europa.eu/en/data/
数据的增长包括欧盟内部的经济发展以及欧盟机构内部的透明度,包括地理,地缘政治和金融数据,统计数据,选举结果,法律法规以及犯罪,健康,环境,交通运输和科学研究的数据。
加拿大开放数据
包含许多政府和地理空间数据集的试点项目。它可以帮助您探索加拿大政府如何通过开放数据,开放信息和开放对话来提高透明度,加强问责制,提高公民参与度并推动创新和经济机会。
Datacatalogs.Org
https://opengovernmentdata.org/
它提供来自美国,欧盟,加拿大,CKAN等的开放政府数据。
美国国家教育统计中心
国家教育统计中心(NCES)是收集和分析与美国和其他国家/地区的教育相关数据的主要联邦实体。
英国数据服务
https://www.ukdataservice.ac.uk/
英国数据服务集合包括英国政府资助的主要调查,跨国调查,纵向研究,英国人口普查数据,国际总量,商业数据和定性数据。
大数据数据开放平台
2015年国务院印发的《促进大数据发展行动纲要》,要求“2018年底前建成国家政府数据统一开放平台,率先在信用、交通、医疗、卫生、就业、社保、地理、文化、教育、科技、资源、农业、环境、安监、金融、质量、统计、气象、海洋、企业登记监管等重要领域实现公共数据资源合理适度向社会开放”,截止2019年,已经有50多个地市开放了平台,开放了约15个领域数据,包括教育科技、民生服务、道路交通、健康卫生、资源环境、文化休闲、机构团体、公共安全、经济发展、农业农村、社会保障、劳动就业、企业服务、城市建设、地图服务。 同时,研究显示,中国开放政府数据实践存在六个方面的主 要问题:数据量少、价值低、可机读比例低,开放的多为静态数据,数据授权协议条款含糊,缺乏便捷的数据获取 渠道,缺乏高质量的数据应用,缺乏便捷、及时、有效、公开的互动交流。最后基于研究的评估结果,为中国开放政府数据的发展提出了政策建议。
参考论文:
- 中国开放政府数据平台研究:框架、现状与建议
- 贵阳市政府数据开放平台设计与实现
- 政府数据开放建设思路
- 知乎:哪一些网站提供中国的开放数据(open data)
- 使用政府开放数据和低代码方案构建应用
- PDF版本下载:政府开放数据平台汇总.pdf
关键词:
电子政务;开放政府;政府数据;政府数据开放;大数据数据开放平台。
四川省
成都市公共数据开放平台
已开放:602个数据集,60个部门,27301171条数据,39个API,12个应用
数据开放--四川省人民政府网站
http://www.scdata.net.cn/odweb/index.htm
达州市政府数据开放平台
雅安市人民政府数据开放栏目
http://www.yaan.gov.cn/shuju.html
北京市
北京市政务数据资源网
http://www.bjdata.gov.cn/jkfb/index.htm
56家单位、1147类数据集、7653万余条数据记录
上海市
上海市政府数据服务网
http://www.data.sh.gov.cn/home!toHomePage.action
开放数据项总量32312条 开放数据资源1958个 开放数据部门45个
天津市
天津市信息资源统一开放平台
21 个主题、39 个部门、384 个数据集、116 个数据接口
福建省
福建省公共信息资源统一开放平台
https://data.fujian.gov.cn/odweb/
697346300条数据; 698个数据资源; 37个部门;1318个API;3个应用
厦门市大数据开放平台
8896790条数据 、789个资源、327个API、39个部门
广东省
开放广东
2369个政府数据集,58个数据应用,超过1.39亿条政府数据
广东省金融数据开放平台
佛山市政府数据开放平台
提供部门(个):49主题分类(个):25数据集(个):1071数据总量(个):45078449
深圳市政府数据开放平台
数据目录1,260个 数据总量121,338,216条 数据接口1,002个 调用次数1,945,673次
广州市政府数据统一开放平台
68个部门,1307个数据集,100248678数据量,81693下载量
数据东莞
http://dataopen.dg.gov.cn/dataopen/
36797385条数据、69个部门、714类资源、12757个数据包、2100037次浏览、173422次下
惠州市政府数据开放平台
3141349条数据、348个数据集、5个部门
珠海市民生数据开放平台
#/ 已开放:195条数据;188个数据资源;74个部门
广东省政府数据统一开放平台-潮州市
http://gddata.gd.gov.cn/index.php/data/ls/Type/0/v/344.html
广东省政府数据统一开放平台-河源市
http://gddata.gd.gov.cn/index.php/data/ls/Type/0/v/339.html
江门市数据开放平台
提供:26个部门、12个主题分类.299个开放数据集、65.21万条数据、1994次下载量
中山市政府数据统一开放平台
http://zsdata.zs.gov.cn/web/index
数据集总数215,机构部门56,数据条数1736366,下载总数43801
肇庆市人民政府数据开放平台
http://www.zhaoqing.gov.cn/sjkf/
贵州省
贵阳市政府数据开放平台
已开放 6180610条数据, 2841个数据集 , 310个API, 52个市级部门 , 13个区县
遵义市政府数据开放平台
171开放数据集;219个开放文件;30个部门
铜仁市政府数据开放平台
累计提供310个数据资源,其中数据类型资源69个
海南省
海南省政府数据统一开放平台
14个已开放数据集; 969个已开放API;34个已开放部门
河南省
河南省公共数据开放平台
http://data.hnzwfw.gov.cn/odweb/
32个部分,20个领域,3497200数据量,709数据集,1418API,8个应用
江西省
江西省政府数据开放网站
9个部门 , 153192条数据; 72个数据目录; 1个接口
宁夏回族自治区
宁夏回族自治区数据开放平台
http://ningxiadata.gov.cn/odweb/index.htm
22个已开放部门;128个数据集类;343175条政府数据;13个应用;12个API;545544条访问量;456个下载量
石嘴山政府数据开放平台
已开放97个数据集,107个数据资源,32个部门
银川市城市数据开放平台
提供:32个部门数据;228个开放数据目录数量、7832个数据总条数、45个API数量
山东省
山东公共数据开放网
59部门,34216目录,7.35亿数据,70284API,41应用
济南市公共数据开放网
71个部门 2106个数据集 4300个接口 6506个文件
青岛公共数据开放网
2818个数据集、7260个API、25个领域、12个文件集
陕西省
陕西省公共数据开放平台
57个部门1300多个可开放目录,省级部门已开放121个目录1654万条数据
哈尔滨市政府数据开放平台"
http://data.harbin.gov.cn/ 54个部门; 1059个数据集; 5167696条数据; 5782个数据文件; 2284个API; 7个APP
浙江省
浙江政务服务网“数据开放”专题网站
68个省级单位提供的350项数据类目,包含100项可下载 的数据资源,137个数据接口和8个移动APP
宁波市政府数据服务网
http://www.datanb.gov.cn/nbdatafore/web/indexpage.action
20类主题、432个资源、3065883数据
安徽省
合肥市政府数据开放平台
"已开放79个部门,3个数据种类,211233条数据
蚌埠市信息资源开放平台
数据总量140条,112次下载次数、29次调用次数、2837次浏览总数
黄山市人民政府数据开放栏目
http://www.huangshan.gov.cn/DataDevelopment/showTopicContentList/8/page_1.html
湖北省
武汉市政务公开数据服务网
http://www.wuhandata.gov.cn/whData/
"开放数据部门101家,开放数据集2192类,开放数据总量118417条,4个API,54个应用
湖南省
长沙市政府门户网站数据开放平台
http://www.changsha.gov.cn/data/
40个部门,236个接口,6个app
江苏省
苏州市政府数据开放平台
http://www.suzhou.gov.cn/dataOpenWeb/data
常州市政府数据开放平台
http://opendata.changzhou.gov.cn/
390705条数据; 198个数据资源; 24个部门
黑龙江省
哈尔滨市政府数据开放平台
54个部门; 1059个数据集; 5167696条数据; 5782个数据文件; 2284个API; 7个APP
嫩江市政务公开统计数据
http://www.nenjiang.gov.cn/zwgk/tjsj/
新疆维吾尔自治区
新疆维吾尔自治区政务数据开放网
http://data.xinjiang.gov.cn/index.html
内蒙古自治区数据开放
http://gzw.nmg.gov.cn/zwgk/zdlyxxgk/sjkf/
台湾省
台湾
38745个资料集,18个分类,649个部门
国家相关部门统计信息网站汇总
中国人民银行
http://www.pbc.gov.cn/diaochatongjisi/116219/index.html
主要包括社会融资规模、金融统计数据、货币统计、金融机构信贷收支统计、金融市场统计、企业商品价格指数等等,数据权威且容易查找,实用性强。
中国银行业监督管理委员会
Http://Www.Cbrc.Gov.Cn/Chinese/Home/DocViewPage/110009.Html
主要包括银行业的数据统计,包括资产负债规模、主要监管数据等。
中国证券监督管理委员会
http://www.csrc.gov.cn/pub/newsite/sjtj/
主要包括证券市场、期货市场相关数据,每天更新快报,并有周报、月报等定期更新。
中国银保险监督管理委员会
http://www.cbirc.gov.cn/cn/index.html
对银行业和保险业机构的公司治理、风险管理、内部控制、资本充足状况、偿付能力、经营行为和信息披露
中国国家统计局
主要包括国家经济宏观数据,社会发展、民生相关重要数据及信息,非常全面,且定期发布统计出版刊物,实用性强。
国家数据
数据源来自国家统计局,但排版更清晰简洁,包括国计民生各个方面的月度数据、季度数据、年度数据、各地区数据、部门数据以及国际数据。
数据-中国政府网
主要包括CPI、GDP、PPI、工业生产增长指数、固定资产投资、社会消费品零售总额、粮食产量等的指数统计,只列出了主要数据,数据来源于国家统计局,点击会跳转至统计局的国家数据网站。查找起来比较简洁清晰,适合需要快速获取这些基础数据的人群。
中国经济数据库
https://www.ceicdata.com/zh-hans/products/china-economic-database
中国互联网信息中心
主要包括互联网发展相关基础数据,相对第三方机构的互联网数据而言,数据更宏观且权威。
香港 https://data.gov.hk/sc/
澳门 https://www.dsec.gov.mo/home_zhmo.aspx
密码保护:持续积累技能图谱
群晖DSM使用端口大全
请参见下表:
设置工具
|
||
类型
|
端口号码
|
协议
|
Synology Assistant
|
9999、9998、9997
|
UDP
|
备份
|
||
类型
|
端口号码
|
协议
|
Data Replicator、Data Replicator II、Data Replicator III
|
9999、9998、9997、137、138、139、445
|
TCP
|
网络备份
|
873(数据)、3260(iSCSI LUN)
|
TCP
|
加密的网络备份(远程 Time Backup)
|
22
|
TCP
|
下载
|
||
类型
|
端口号码
|
协议
|
eMule
|
4662(TCP)、4672(UDP)
|
TCP/UDP
|
BT
|
6890 ~ 6999(用于 DSM 版本早于 v2.0.1-3.0401 的机型);
16881(用于 DSM 版本 v2.0.1 以上的机型) |
TCP/UDP
|
网页应用程序
|
||
类型
|
端口号码
|
协议
|
DSM
|
5000(HTTP)、5001(HTTPS)
|
TCP
|
Download Station
|
5000
|
TCP
|
Photo Station、Web Station
|
80(可添加另外的端口)、443(HTTPS)
|
TCP
|
Mail Station
|
80(HTTP)、443(HTTPS)
|
TCP
|
Audio Station
|
5000(HTTP,可添加另外的端口)、5001(HTTPS,可添加另外的端口)、5353(Bonjour 服务)、6001-6010(AirPlay 控制/定时)
|
TCP/UDP
|
File Station
|
5000(HTTP,可添加另外的端口)、5001(HTTPS,可添加另外的端口)
|
TCP
|
Surveillance Station
|
9900(HTTP)、9901(HTTPS)
|
TCP
|
媒体服务器
|
1900(UPnP)、50001(内容浏览)、50002(内容串流)
|
TCP/UDP
|
Video Station
|
5000(HTTP)、5001(HTTPS)、9025-9040、
5002、5004、65001(使用 HDHomeRun 网络调谐器的情况下) |
TCP
|
邮件服务器
|
||
类型
|
端口号码
|
协议
|
SMTP
|
25
|
TCP
|
POP3
|
110
|
TCP
|
IMAP
|
143
|
TCP
|
IMAP 含 SSL/TLS
|
993
|
TCP
|
POP3 含 SSL/TLS
|
995
|
TCP
|
文件传输
|
||
类型
|
端口号码
|
协议
|
FTP、FTP 含 SSL、FTP 含 TLS
|
21(命令)、20(主动模式的数据连接)、55536-55663(被动模式的数据连接)
|
TCP
|
AFP
|
548
|
TCP
|
CIFS
|
smbd:139(netbios-ssn)、445(microsoft-ds)
|
TCP/UDP
|
Nmbd:137、138
|
UDP
|
|
NFS
|
111、892、2049
|
TCP/UDP
|
WebDAV、CalDAV
|
5005、5006(HTTPS)
|
TCP
|
iSCSI
|
3260
|
TCP
|
TFTP
|
69
|
UDP
|
套件
|
||
类型
|
端口号码
|
协议
|
Cloud Station
|
6690
|
TCP
|
VPN Server(OpenVPN)
|
1194
|
UDP
|
VPN Server(PPTP)
|
1723
|
TCP
|
Syslog Server
|
514(可添加另外的端口)
|
TCP/UDP
|
iTunes Server
|
3689
|
TCP
|
Directory Server
|
389(LDAP)、636(LDAP 含 SSL)
|
TCP
|
DHCP Server
|
67、68
|
UDP
|
行动应用程序
|
||
类型
|
端口号码
|
协议
|
DS photo+
|
80、443(HTTPS)
|
TCP
|
DS audio
|
5000、5001(HTTPS)
|
TCP
|
DS cam
|
5000
|
TCP
|
DS file
|
Android/iOS 设备:5005、5006(HTTPS)
Windows Phone:5000 |
TCP
|
DS finder
|
5000(HTTP)、5001(HTTPS)
|
TCP
|
DS video
|
5000(HTTP)、5001(HTTPS)
|
TCP
|
DS download
|
5000(HTTP)、5001(HTTPS)
|
TCP
|
DS cloud
|
6690
|
TCP
|
打印机、UPS 和外围设备
|
||
类型
|
端口号码
|
协议
|
LPR
|
515
|
UDP
|
网络打印机(IPP)/CUPS
|
631
|
TCP
|
Bonjour
|
5353
|
UDP
|
网络 MFP
|
3240-3259
|
TCP
|
UPS
|
3493
|
TCP
|
系统
|
||
类型
|
端口号码
|
协议
|
SSH/SFTP
|
22
|
TCP
|
Telnet
|
23
|
TCP
|
资源监视器/SNMP
|
161
|
TCP/UDP
|
MySQL
|
3306
|
TCP
|
LDAP
|
389、636(SLAPD)
|
TCP
|
重新获取谷歌云300美金免费一年的方法
谷歌云首次使用的话可以获得300美金免费一年是的使用体验,但是如果提前使用玩300美金或者一年的时间到期后,依旧可以重置后再次获得300美金一年的优惠体验。
一、登录谷歌云,https://cloud.google.com,点击转至控制台
二、点击进入结算 ,然后添加一个结算账号管理员
三、删除之前的结算账号管理员,只保留新的管理员,然后关闭页面,清空缓存,等待5分钟
四、再次登录谷歌云,https://cloud.google.com,就会看到免费试用GCP ,然后点击
五、根据提示操作,然后点开始免费试用(注:2018年12月2o日谷歌取消了中国地区,选择香港、台湾、美国都可以)
六、再次点击结算,我的结算账号,就可以看到全新的300美金了
七、回到我们实例,然后看看我们之前的实例是否都正常
Journalctl查看并操作Systemd日志
内容简介
作为最具吸引力的优势,systemd拥有强大的处理与系统日志记录功能。在使用其它工具时,日志往往被分散在整套系统当中,由不同的守护进程及进程负责处理,这意味着我们很难跨越多种应用程序对其内容进行解读。
相比之下,systemd尝试提供一套集中化管理方案,从而统一打理全部内核及用户级进程的日志信息。这套系统能够收集并管理日志内容,而这也就是我们所熟知的journal。
Journal的实现归功于journald守护进程,其负责处理由内核、initrd以及服务等产生的信息。在今天的教程中,我们将探讨如何使用journalctl工具,并在其帮助下访问并操作journal内部的数据。
总体思路
Systemd journal的深层驱动力在于以集中方式管理对来自任意来源的日志信息。由于大部分引导进程都是由systemd进程处理的,因此我们有理由以标准化方式实现日志的收集与访问。其中jornald守护进程会收集全部来源的数据并将其以二进制格式加以存储,从而轻松实现动态操作。
这种作法能够实现多种收益。通过单一工具与数据交互,管理员能够以动态方式显示日志数据。另外,我们也可以轻松查看历史引导数据,或者将日志条目同其它相关服务加以结合,从而 完成通信问题调试。
将日志数据以二进制形式存储还意味着这些数据可根据需求随时以二进制输出格式显示。例如,大家可以通过标准syslog格式查看日志以实现日常管理,并在需要使用图形服务时将各条目作为JSON对象交由图形化服务处理。由于数据不会以纯文本形式被写入磁盘,因此我们无需进行任何格式转换。
大家可以将systemd journal与现有syslog方案配合使用,也可利用其替代现有syslog功能,具体取决于实际需求。尽管systemd journal足以涵盖大部分管理工作需求,但其同时也能够补充现有日志记录机制。例如,大家可以建立一套集中式syslog服务器,从而对来自多台服务器的数据进行编译;或者,我们也能够利用systemd journal将来自多项服务的日志汇总在单一系统当中。
设置系统时间
使用二进制journal的一大好处在于,它能够以UTC或者本地时间显示日志记录。在默认情况下,systemd会以本地时间显示结果。
有鉴于此,在我们开始使用journal之前,首先要确保时区得到正确设置。Systemd套件中还提供一款timedatectl工具,专门用于解决此类问题。
首先,利用list-timezones选项查看可用时区:
timedatectl list-timezones
结果将列出系统上可用的全部时区。而后选择与服务器所在地相匹配的项目,并使用set-timezone选项加以设置:
sudo timedatectl set-timezone zone
为了确保我们的设备使用正确的时间,可单独使用timedatectl命令或者添加status选项。显示结果如下:
timedatectl status
Local time: Thu 2015-02-05 14:08:06 EST
Universal time: Thu 2015-02-05 19:08:06 UTC
RTC time: Thu 2015-02-05 19:08:06
Time zone: America/New_York (EST, -0500)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
第一行所示应为正确时间。
基础日志查看
要查看journald守护进程收集到的日志,可使用journalctl命令。
在单独使用时,系统中的每个journal条目都会被显示在单一pager中供我们浏览。条目时间越早,排列越靠前:
journalctl
-- Logs begin at Tue 2015-02-03 21:48:52 UTC, end at Tue 2015-02-03 22:29:38 UTC. --
Feb 03 21:48:52 localhost.localdomain systemd-journal[243]: Runtime journal is using 6.2M (max allowed 49.
Feb 03 21:48:52 localhost.localdomain systemd-journal[243]: Runtime journal is using 6.2M (max allowed 49.
Feb 03 21:48:52 localhost.localdomain systemd-journald[139]: Received SIGTERM from PID 1 (systemd).
Feb 03 21:48:52 localhost.localdomain kernel: audit: type=1404 audit(1423000132.274:2): enforcing=1 old_en
Feb 03 21:48:52 localhost.localdomain kernel: SELinux: 2048 avtab hash slots, 104131 rules.
Feb 03 21:48:52 localhost.localdomain kernel: SELinux: 2048 avtab hash slots, 104131 rules.
Feb 03 21:48:52 localhost.localdomain kernel: input: ImExPS/2 Generic Explorer Mouse as /devices/platform/
Feb 03 21:48:52 localhost.localdomain kernel: SELinux: 8 users, 102 roles, 4976 types, 294 bools, 1 sens,
Feb 03 21:48:52 localhost.localdomain kernel: SELinux: 83 classes, 104131 rules
. . .
大家可以一页页进行翻看,不过如果系统运行时间较长,那么systemd中的日志也将成千上万,这也证明了journal数据库中可观的数据量。
其格式与标准的syslog日志非常相似。然而,其收集数据的来源较syslog要丰富得多。其中包含有来自先前引导进程、内核、initrd以及应用程序标准错误与输出的日志。这一切都可在journal中查看到。
大家可能还注意到,全部时间戳都以本地时间为准。由于已经为系统正确设置了本地时间,所以显示的时间戳也都准确无误。
如果大家希望以UTC显示时间戳,则可使用–utc标记:
journalctl --utc
按时间进行journal过滤
浏览大量数据当然有其作用,但信息量过于庞大则会让我们很难甚至根本不可能找到真正重要的内容。因此,journalctl提供了极为关键的过滤选项。
显示当前引导进程下的日志
其中最常用的就是-b标记了,其将显示全部最近一次重新引导后收集到的journal条目。
journalctl -b
通过这种方式,我们能够识别并管理源自当前环境下的信息。
如果不使用这项功能,而且显示的引导数量超过一天,那么journalctl会在在系统关闭处插入说明:
. . .
-- Reboot --
. . .
这种方式能够帮助我们有效区分来自不同引导会话的信息。
过往引导记录
大家通常只需要查看当前引导环境下的信息,但有时候查看过往引导记录也非常必要。Journal能够保存大量过往引导信息,从而允许journalctl轻松显示相关内容。
有些版本会在默认情况下保存过往引导信息,而有些则默认禁用这项功能。要启用此功能,可以使用以下功能以创建用于存储journal信息的目录:
- sudo mkdir -p /var/log/journal
或者直接编辑journal配置文件:
- sudo nano /etc/systemd/journald.conf
在[Journal]区段下将Storage=选项设定为“persistent”以启用持久记录:
/etc/systemd/journald.conf
. . .
[Journal]
Storage=persistent
当启用保存过往引导信息功能后,journalctl会提供额外命令以帮助大家将各引导记录作为独立单元操作。要查看Journald中已经记录的引导信息,可使用–list-boots选项:
journalctl --list-boots
-2 caf0524a1d394ce0bdbcff75b94444fe Tue 2015-02-03 21:48:52 UTC—Tue 2015-02-03 22:17:00 UTC
-1 13883d180dc0420db0abcb5fa26d6198 Tue 2015-02-03 22:17:03 UTC—Tue 2015-02-03 22:19:08 UTC
0 bed718b17a73415fade0e4e7f4bea609 Tue 2015-02-03 22:19:12 UTC—Tue 2015-02-03 23:01:01 UTC
这里每次引导都将显示为一行。第一列可用于在journalctl中引用该次引导。如果大家需要更为准确的引用方式,则可在第二列中找到引导ID。末尾记录的两次时间为当次引导的开始与结束时间。
要显示这些引导中的具体信息,则可使用第一或者第二列提供的信息。
例如,要查看上次引导的journal记录,则可使用-1相对指针配合-b标记:
journalctl -b -1
另外,也可以使用引导ID:
journalctl -b caf0524a1d394ce0bdbcff75b94444fe
时间窗
按照引导环境查看日志条目当然非常重要,但我们往往还需要使用与系统引导无关的时间窗作为浏览基准。这种情况在长期运行的服务器当中较为常见。
大家可以利用–since与–until选项设定时间段,二者分别负责说明给定时间之前与之后的记录。
时间值可以多种格式输出。对于绝对时间值,大家可以使用以下格式:
YYYY-MM-DD HH:MM:SS
例如,我们可以通过以下命令查看全部2015年1月10日下午5:15之后的条目:
journalctl --since "2015-01-10 17:15:00"
如果以上格式中的某些组成部分未进行填写,系统会直接进行默认填充。例如,如果日期部分未填写,则会直接显示当前日期。如果时间部分未填写,则缺省使用“00:00:00”(午夜)。第二字段亦可留空,默认值为“00”:
journalctl --since "2015-01-10" --until "2015-01-11 03:00"
另外,journal还能够理解部分相对值及命名简写。例如,大家可以使用“yesterday”、“today”、“tomorrow”或者“now”等表达。另外,我们也可以使用“-”或者“+”设定相对值,或者使用“ago”之前的表达。
获取昨天数据的命令如下:
journalctl –since yesterday
要获得早9:00到一小时前这段时间内的报告,可使用以下命令:
journalctl --since 09:00 --until "1 hour ago"
如大家所见,时间窗的过滤机制非常灵活且易用。
按信息类型过滤
现在我们要探讨如何利用感兴趣的服务或者组件类型实现过滤。Systemd journal同样提供多种方式供大家选择。
按单元
最常用的此类过滤方式当数按单元过滤了。我们可以使用-u选项实现这一效果。
例如,要查看系统上全部来自Nginx单元的日志,可使用以下命令:
journalctl -u nginx.service
一般来讲,我们可能需要同时按单元与时间进行信息过滤。例如,检查今天某项服务的运行状态:
journalctl -u nginx.service --since today
我们还可以充分发挥journal查看多种单元信息的优势。例如,如果我们的Nginx进程接入某个PHP-FPM单元以处理动态内容,则可将这两个单元合并并获取按时间排序的查询结果:
journalctl -u nginx.service -u php-fpm.service --since today
这种能力对于不同程序间交互及系统调试显然非常重要。
按进程、用户或者群组ID
由于某些服务当中包含多个子进程,因此如果我们希望通过进程ID实现查询,也可以使用相关过滤机制。
这里需要指定_PID字段。例如,如果PID为8088,则可输入:
journalctl _PID=8088
有时候我们可能希望显示全部来自特定用户或者群组的日志条目,这就需要使用_UID或者_GID。例如,如果大家的Web服务器运行在www-data用户下,则可这样找到该用户ID:
id -u www-data
33
接下来,我们可以使用该ID返回过滤后的journal结果:
journalctl _UID=33 --since today
Systemd journal拥有多种可实现过滤功能的字段。其中一些来自被记录的进程,有些则由journald用于自系统中收集特定时间段内的日志。
之前提到的_PID属于后一种。Journal会自动记录并检索进程PID,以备日后过滤之用。大家可以查看当前全部可用journal字段:
man systemd.journal-fields
下面来看针对这些字段的过滤机制。-F选项可用于显示特定journal字段内的全部可用值。
例如,要查看systemd journal拥有条目的群组ID,可使用以下命令:
journalctl -F _GID
32
99
102
133
81
84
100
0
124
87
其将显示全部journal已经存储至群组ID字段内的值,并可用于未来的过滤需求。
按组件路径
我们也可以提供路径位置以实现过滤。
如果该路径指向某个可执行文件,则journalctl会显示与该可执行文件相关的全部条目。例如,要找到与bash可执行文件相关的条目:
journalctl /usr/bin/bash
一般来讲,如果某个单元可用于该可执行文件,那么此方法会更为明确且能够提供更好的相关信息(与子进程相关的条目等)。但有时候,这种作法则无法奏效。
显示内核信息
内核信息通常存在于dmesg输出结果中,journal同样可对其进行检索。要只显示此类信息,可添加-k或者–dmesg标记:
journalctl -k
默认情况下,其会显示当前引导环境下的全部内核信息。大家也可以使用常规的引导选择标记对此前的引导记录进行查询。例如,要查询五次之前引导环境的信息:
journalctl -k -b -5
按优先级
管理员们可能感兴趣的另一种过滤机制为信息优先级。尽管以更为详尽的方式查看日志也很有必要,不过在理解现有信息时,低优先级日志往往会分散我们的注意力并导致理解混乱。
大家可以使用journalctl配合-p选项显示特定优先级的信息,从而过滤掉优先级较低的信息。
例如,只显示错误级别或者更高的日志条目:
journalctl -p err -b
这将只显示被标记为错误、严重、警告或者紧急级别的信息。Journal的这种实现方式与标准syslog信息在级别上是一致的。大家可以使用优先级名称或者其相关量化值。以下各数字为由最高到最低优先级:
- 0: emerg
- 1: alert
- 2: crit
- 3: err
- 4: warning
- 5: notice
- 6: info
- 7: debug
以上为可在-p选项中使用的数字或者名称。选定某一优先级会显示等级与之等同以及更高的信息。
修改journal显示内容
到这里,过滤部分已经介绍完毕。我们也可以使用多种方式对输出结果进行修改,从而调整journalctl的显示内容。
截断或者扩大输出结果
我们可以缩小或者扩大输出结果,从而调整journalctl的显示方式。
在默认情况下,journalctl会在pager内显示各条目,并通过右箭头键访问其信息。
如果大家希望截断输出内容,向其中插入省略号以代表被移除的信息,则可使用–no-full选项:
journalctl --no-full
. . .
Feb 04 20:54:13 journalme sshd[937]: Failed password for root from 83.234.207.60...h2
Feb 04 20:54:13 journalme sshd[937]: Connection closed by 83.234.207.60 [preauth]
Feb 04 20:54:13 journalme sshd[937]: PAM 2 more authentication failures; logname...ot
大家也可以要求其显示全部信息,无论其是否包含不可输出的字符。具体方式为添加-a标记:
journalctl -a
标准输出结果
默认情况下,journalctl会在pager内显示输出结果以便于查阅。如果大家希望利用文本操作工具对数据进行处理,则可能需要使用标准格式。在这种情况下,我们需要使用–no-pager选项:
journalclt --no-pager
这样相关结果即可根据需要被重新定向至磁盘上的文件或者处理工具当中。
输出格式
如果大家需要对journal条目进行处理,则可能需要使用更易使用的格式以简化数据解析工作。幸运的是,journal能够以多种格式进行显示,只须添加-o选项加格式说明即可。
例如,我们可以将journal条目输出为JSON格式:
journalctl -b -u nginx -o json
{ "__CURSOR" : "s=13a21661cf4948289c63075db6c25c00;i=116f1;b=81b58db8fd9046ab9f847ddb82a2fa2d;m=19f0daa;t=50e33c33587ae;x=e307daadb4858635", "__REALTIME_TIMESTAMP" : "1422990364739502", "__MONOTONIC_TIMESTAMP" : "27200938", "_BOOT_ID" : "81b58db8fd9046ab9f847ddb82a2fa2d", "PRIORITY" : "6", "_UID" : "0", "_GID" : "0", "_CAP_EFFECTIVE" : "3fffffffff", "_MACHINE_ID" : "752737531a9d1a9c1e3cb52a4ab967ee", "_HOSTNAME" : "desktop", "SYSLOG_FACILITY" : "3", "CODE_FILE" : "src/core/unit.c", "CODE_LINE" : "1402", "CODE_FUNCTION" : "unit_status_log_starting_stopping_reloading", "SYSLOG_IDENTIFIER" : "systemd", "MESSAGE_ID" : "7d4958e842da4a758f6c1cdc7b36dcc5", "_TRANSPORT" : "journal", "_PID" : "1", "_COMM" : "systemd", "_EXE" : "/usr/lib/systemd/systemd", "_CMDLINE" : "/usr/lib/systemd/systemd", "_SYSTEMD_CGROUP" : "/", "UNIT" : "nginx.service", "MESSAGE" : "Starting A high performance web server and a reverse proxy server...", "_SOURCE_REALTIME_TIMESTAMP" : "1422990364737973" }
. . .
这种方式对于工具解析非常重要。大家也可以使用json-pretty格式以更好地处理数据结构:
journalctl -b -u nginx -o json-pretty
{
"__CURSOR" : "s=13a21661cf4948289c63075db6c25c00;i=116f1;b=81b58db8fd9046ab9f847ddb82a2fa2d;m=19f0daa;t=50e33c33587ae;x=e307daadb4858635",
"__REALTIME_TIMESTAMP" : "1422990364739502",
"__MONOTONIC_TIMESTAMP" : "27200938",
"_BOOT_ID" : "81b58db8fd9046ab9f847ddb82a2fa2d",
"PRIORITY" : "6",
"_UID" : "0",
"_GID" : "0",
"_CAP_EFFECTIVE" : "3fffffffff",
"_MACHINE_ID" : "752737531a9d1a9c1e3cb52a4ab967ee",
"_HOSTNAME" : "desktop",
"SYSLOG_FACILITY" : "3",
"CODE_FILE" : "src/core/unit.c",
"CODE_LINE" : "1402",
"CODE_FUNCTION" : "unit_status_log_starting_stopping_reloading",
"SYSLOG_IDENTIFIER" : "systemd",
"MESSAGE_ID" : "7d4958e842da4a758f6c1cdc7b36dcc5",
"_TRANSPORT" : "journal",
"_PID" : "1",
"_COMM" : "systemd",
"_EXE" : "/usr/lib/systemd/systemd",
"_CMDLINE" : "/usr/lib/systemd/systemd",
"_SYSTEMD_CGROUP" : "/",
"UNIT" : "nginx.service",
"MESSAGE" : "Starting A high performance web server and a reverse proxy server...",
"_SOURCE_REALTIME_TIMESTAMP" : "1422990364737973"
}
. . .
以下为可用于显示的各类格式:
- cat: 只显示信息字段本身。
- export: 适合传输或备份的二进制格式。
- json: 标准JSON,每行一个条目。
- json-pretty: JSON格式,适合人类阅读习惯。
- json-sse: JSON格式,经过打包以兼容server-sent事件。
- short: 默认syslog类输出格式。
- short-iso: 默认格式,强调显示ISO 8601挂钟时间戳。
- short-monotonic: 默认格式,提供普通时间戳。
- short-precise: 默认格式,提供微秒级精度。
- verbose: 显示该条目的全部可用journal字段,包括通常被内部隐藏的字段。
这些选项允许大家以最适合需求的格式显示journal条目。
活动进程监控
Journalctl命令还能够帮助管理员以类似于tail的方式监控活动或近期进程。这项功能内置于journalctl当中,允许大家在无需借助其它工具的前提下实现访问。
显示近期日志
要显示特定数量的记录,大家可以使用-n选项,具体方式为tail -n。
默认情况下,其会显示最近十条记录:
journalctl -n
大家可以在-n之后指定要查看的条目数量:
journalctl -n 20
追踪日志
要主动追踪当前正在编写的日志,大家可以使用-f标记。方式同样为tail -f:
journalctl -f
Journal维护
存储这么多数据当然会带来巨大压力,因此我们还需要了解如何清理部分陈旧日志以释放存储空间。
了解现有磁盘使用量
大家可以利用–disk-usage标记查看journal的当前磁盘使用量:
journalctl --disk-usage
Journals take up 8.0M on disk.
删除旧有日志
如果大家打算对journal记录进行清理,则可使用两种不同方式(适用于systemd 218及更高版本)。
如果使用–vacuum-size选项,则可硬性指定日志的总体体积,意味着其会不断删除旧有记录直到所占容量符合要求:
sudo journalctl --vacuum-size=1G
另一种方式则是使用–vacuum-time选项。任何早于这一时间点的条目都将被删除。
例如,去年之后的条目才能保留:
sudo journalctl --vacuum-time=1years
限定Journal扩展
大家可以配置自己的服务器以限定journal所能占用的最高容量。要实现这一点,我们需要编辑/etc/systemd/journald.conf文件。
以下条目可用于限定journal体积的膨胀速度:
- SystemMaxUse=: 指定journal所能使用的最高持久存储容量。
- SystemKeepFree=: 指定journal在添加新条目时需要保留的剩余空间。
- SystemMaxFileSize=: 控制单一journal文件大小,符合要求方可被转为持久存储。
- RuntimeMaxUse=: 指定易失性存储中的最大可用磁盘容量(/run文件系统之内)。
- RuntimeKeepFree=: 指定向易失性存储内写入数据时为其它应用保留的空间量(/run文件系统之内)。
- RuntimeMaxFileSize=: 指定单一journal文件可占用的最大易失性存储容量(/run文件系统之内)。
通过设置上述值,大家可以控制journald对服务器空间的消耗及保留方式。
总结
到这里,systemd journal对系统及应用数据的收集与管理机制就介绍完毕了。其出色的灵活性源自将广泛的元数据自动记录至集中化日志之内。另外,journalctl命令则显著简化了journal的使用方式,从而让更多管理员得以利用它完成面向不同应用组件的分析与相关调试工作。
本文来源自DigitalOcean Community。英文原文:How To Use Journalctl to View and Manipulate Systemd Logs By Justin Ellingwood
CentOS 使用 Google Authenticator 登录验证
Google Authentication 项目 包含了多个手机平台的一次性验证码生成器的实现,以及一个可插拔的验证认证模块(PAM)。这些实现支持基于 HMAC 的一次性验证码(HOTP)算法(RFC 4226)和基于时间的一次性验证码(TOTP)算法(RFC 6238)。
下面将在 CentOS 上安装并使用 Google Authenticator 做登录的身份验证,当前系统的版本为
CentOS Linux release 7.2.1511 (Core)
安装 Google Authenticator PAM module
-
确保
ntpd
已安装并正常运行运行yum install -y ntpdate systemctl start ntpd systemctl enable ntpd
ntpdate
是用来自动同步时间的程序,这里启动它并设置它开机自动启动。 -
安装一些接下去会用到的组件
yum install -y git make gcc libtool pam-devel
-
编译安装 Google Authenticator PAM module
git clone https://github.com/google/google-authenticator cd google-authenticator/libpam ./bootstrap.sh ./configure make make install ln -s /usr/local/lib/security/pam_google_authenticator.so /usr/lib64/security/
配置 SSH 服务
打开 /etc/ssh/sshd_config
文件
vim /etc/ssh/sshd_config
修改下面字段的配置
ChallengeResponseAuthentication yes
PasswordAuthentication no
PubkeyAuthentication yes
UsePAM yes
然后重启一下 sshd
服务,使配置生效
systemctl restart sshd
这里将 PubkeyAuthentication
配置成了 yes
表示支持公钥验证登录,即使某个账号启用了 Google Authenticator 验证,只要登录者机器的公钥在这个账号的授权下,就可以不输入密码和 Google Authenticator 的认证码直接登录。
配置 PAM
打开 /etc/pam.d/sshd
文件
vim /etc/pam.d/sshd
这里分四种情况来配置
-
验证密码和认证码,没有启用 Google Authenticator 服务的账号只验证密码(推荐)
auth substack password-auth #... auth required pam_google_authenticator.so nullok
password-auth
与pam_google_authenticator
的先后顺序决定了先输入密码还是先输入认证码。 -
验证密码和认证码,没有启用 Google Authenticator 服务的账号无法使用密码登录
auth substack password-auth #... auth required pam_google_authenticator.so
-
只验证认证码,不验证密码,没有启用 Google Authenticator 服务的账号不用输入密码直接可以成功登录
#auth substack password-auth #... auth required pam_google_authenticator.so nullok
注释掉
auth substack password-auth
配置就不会再验证账号密码了。 -
只验证认证码,不验证密码,没有启用 Google Authenticator 服务的账号无法使用密码登录
#auth substack password-auth #... auth required pam_google_authenticator.so
启用 Google Authenticator
切换至想要使用 Google Authenticator
来做登录验证的账号,执行下面操作
google-authenticator
然后会出现下面一系列交互式的对话做对应的设置
Do you want authentication tokens to be time-based (y/n) y
https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/shenyu@shenyu.me%3Fsecret%3DKHMH46EWI2RIRZ53KQTNGHXNP4%26issuer%3Dshenyu.me
# 这里是个二维码
Your new secret key is: KHMH46EWI2RIRZ53KQTNGHXNP4
Your verification code is 753579
Your emergency scratch codes are:
99181037
68865807
88385439
59103432
81045035
这里会显示一个二维码,如果你的终端终端不支持显示二维码,可以手动打开这个网页链接(墙)来查看二维码或者手动输入后面的密钥(secret key)来代替扫描二维码,之后的操作会用到这个二维码/密钥(secret key)。这里还有一个认证码(verifiction code),暂时不知道有什么用,以及 5 个紧急救助码(emergency scratch code),紧急救助码就是当你无法获取认证码时(比如手机丢了),可以当做认证码来用,每用一个少一个,但其实可以手动添加的,建议如果 root 账户使用 Google Authenticator 的话一定要把紧急救助码另外保存一份。
Do you want me to update your "/home/test/.google_authenticator" file? (y/n) y
是否更新用户的 Google Authenticator 配置文件,选择 y
才能使上面操作对当前用户生效,其实就是在对应用户的 Home
目录下生成了一个 .google_authenticator
文件,如果你想停用这个用户的 Google Authenticator 验证,只需要删除这个用户 Home
目录下的 .google_authenticator
文件就可以了。
Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y
每次生成的认证码是否同时只允许一个人使用?这里选择 y
。
By default, tokens are good for 30 seconds. In order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with
poor time synchronization, you can increase the window from its default
size of -1min (window size of 3) to about -4min (window size of
17 acceptable tokens).
Do you want to do so? (y/n) n
是否增加时间误差?这里选择 n
。
If the computer that you are logging into isn\'t hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) y
是否启用次数限制?这里选择 y
,默认每 30 秒最多尝试登录 3 次。
上面交互式的设置也可用通过参数一次性设置(推荐)
google-authenticator -t -f -d -l shenyu@shenyu.me -i SHENYU.ME -r 3 -R 30 -W
可以看到,通过参数还可以自定义 发行商
和 标签
,执行 google-authenticator -h
来查看所有的参数设置
google-authenticator []
-h, --help Print this message
-c, --counter-based Set up counter-based (HOTP) verification
-t, --time-based Set up time-based (TOTP) verification
-d, --disallow-reuse Disallow reuse of previously used TOTP tokens
-D, --allow-reuse Allow reuse of previously used TOTP tokens
-f, --force Write file without first confirming with user
-l, --label=
设置 Google Authenticator 手机 App
在手机上下载并安装 Google Authenticator
手机类型 | App 程序名称 |
---|---|
IOS | Google Authenticator |
Android | 谷歌动态口令(请在手机对应的应用商店里搜索下载) |
安装完后,打开 Google Authenticator/谷歌动态口令 App,点击 开始设置
,选择 扫描条形码
扫描上面 google-authenticator
命令生成的二维码,然后手机上就能看到对应的认证码了。
这里的认证码每 30 秒变化一次,认证码上面的 SHENYU.ME
对应的是 google-authenticator
参数 -i
设置的发行商,认证码下面的 shenyu@shenyu.me
对应的是 google-authenticator
参数 -l
设置的标签,如果你没有通过 google-authenticator
的参数设置发行商和标签,默认会使用系统的 hostname
来作为发行商,标签则则使用用户名和 hostname
的组合,格式为 username@hostname
,标签其实是后期可以通过手机App来修改的,而发行商则修改不了。
现在重新使用 SSH 登录服务器,就会要求输入密码和 Verification code
来验证身份。如果登陆时遇到问题,请查看日志文件 /var/log/secure
。
参考资料
使用树莓派创建WIFI热点
http://www.cybersecurityguy.com/Building_a_Raspberry_Pi_Captive_Portal_Wi-Fi_Hotspot.pdf
Have you ever needed to create a second Wi-Fi network in addition to your primary network? If you (or someone close to you) have a business (coffee, restaurant, hairdresser or doctor, in short, a place where people are likely to wait), it is likely that you have already had to provide internet access to your Customers, without wanting to give the password of your box. In the same way, you may have already wanted to create an internal network that is cut off from the Internet, for example to exchange files within a small company, and so on.
For all these situations, the simplest solution is to create what is called a hotspot, that is to say a kind of box that you can control and to which your users can connect to access the internet. In this tutorial, let’s see how we can use a raspberry pi to create our own homemade hotspot, in less than 10 minutes!
The hardware needed to create your hotspot
In order to create our own hotspot, we will need a little bit of hardware, but nothing complicated or too expensive, you will be able to get around for about 50 € to 60 €, and you can use all the equipment for other uses in parallel.
To achieve our hotspot, we will need the following:
- A raspberry pi 3 (Chosen because it has an ethernet port and a built-in Wi-Fi connection)
- A power supply for your raspberry pi
- A MicroSD card of at least 8GB
- An Ethernet cable
As you can see, all these components are just the ones needed to operate a raspberry pi, and you will be able to use the raspberry pi in question for other things in parallel to its role as a hotspot.
Moreover, by tweaking a bit in the configurations, and if you add a second Wi-Fi interface on your raspberry pi, you can also transform your hotspot into a Wi-Fi repeater, in order to increase the range of your box!
Install hostapd and its interface to turn your raspberry pi into a Wi-Fi hotspot
Now that we have all the hardware we need, we will be able to switch to installing the various software needed to transform our raspberry pi to Wi-Fi.
The first step will be to install Raspbian (the lite version, preferably) on your raspberry pi. To do this, we will let you consult our tutorial explaining how to install Raspbian on raspberry pi from Windows, or from Linux.
Once you have installed Raspbian, the first thing to do is to plug your raspberry pi to your internet router using the Ethernet cable and then take control of your raspberry, either directly with a keyboard / screen, or through SSH , as explained in this tutorial.
Once done, we will make sure that the Wi-Fi connection of the raspberry remains available for the creation of the hotspot. For this purpose, we will simply create a copy of the configuration file allowing the connection to a box, in order to keep it aside, and modify the main file.
To do this, go to the terminal of the raspberry pi and run the following commands:
sudo cp /etc/wpa_supplicant/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.conf.sav
sudo cp /dev/null/etc/wpa_supplicant/wpa_supplicant.conf
Finally, edit in the file /etc/wpa_supplicant/wpa_supplicant.conf
and add the following lines:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
Now that we are sure that the Wi-Fi interface is available, all we have to do now is install the various software to make the raspberry pi an access point.
In this tutorial, we will use the hostapd software, which will allow us to turn the raspberry pi into an access point. And to facilitate the installation and administration of this access point, we will also install a web interface that will allow us to control our hotspot, RaspAP (for more info, go to the Github page of the software, https://github.com/billz/raspap-webgui).
And the good news is that to do all this we will need to run only one command:
wget -q https://git.io/voEUQ -O /tmp/raspap && bash /tmp/raspap
Once the command is launched, you only have to answer the few questions that will be asked, and the installation of all the components will be done by itself.
Connect to your Wi-Fi hotspot
When the installation is complete, your raspberry pi restarts, and you should see a “raspi-webgui” network in the list of accessible networks.
If, however, the network does not appear, find the IP of the raspberry pi, and connect to it via your web browser. You should arrive on the hotspot administration interface, the default password is shown on the github page of the software. Once connected, go to the “Configure Hotspot” section, and change the “Wireless Mode” field, this should solve the problem.
Once the network is visible, all you have to do is connect to it, the default password is ChangeMe
.
You can change this password, network name, and many other things by connecting to the admin interface of your raspberry hotspot via your web browser, by default the address should be 10.3.141.1
.
And if it still does not work?
For some time, we do not know why, but it seems that Internet access is no longer functional by default after installation. To solve this problem you only need to do the following two things.
As a first step, enable the transfer of IPv4 packets. To do this, edit the file /etc/sysctl.conf
and uncomment (ie remove it #
at the beginning) the following line:
#net.ipv4.ip_forward=1
This done, we will modify iptables to define the output IP that will be indicated so that the servers know who to answer (well, from what I understand, if I’m wrong rectifications are welcome ). To do this, open the file /etc/rc.local
and add the following line before the “exit 0” part:
iptables -t nat -A POSTROUTING -j MASQUERADE
Restart the pi and everything should now work as it should!
All you have to do is configure your hotspot to suit your needs!
We hope that this tutorial will have helped you, do not hesitate to consult our other tutorials, such as the one on the creation of a retro-gaming console with the Raspberry Pi, and if you need help, do not hesitate to ask for on the comments !
【干货】超全web开发工具资源集合
作为Web开发者,这是好的时代,也是坏的时代。Web开发技术也在不断变化。虽然很令人兴奋,但是这也意味着Web开发人员需要要积极主动的学习新技术和新的编程语言,并愿意和渴望接受新的挑战,以适应变化。新的挑战可能会包括一些开发上的要求,如利用适应现有的框架来满足业务需求。测试一个网站,能从中知道出了哪些技术上的问题,并且我们针对这些问题进行优化和消除。便于后端的开发进程加快和测试。所以我们列出了完整的web开发所需要的工具和资源,助力开发者提高开发效率!学不止步,让我们努力成为一个优秀的开发者!
Web开发工具和资源整合
在这里说声抱歉,对于开发者开发使用的工具,我们无法一一囊括,这里是选取较为热门的工具和资源作为范例。我们希望能从中找到适合自己的工具助力自己的开发!
注:工具和资源排序不分先后。
JavaScript库
我敢说JavaScript语言是目前web开发最流行的编程语言。JavaScript库又称JavaScript框架,封装了很多预定义的对象和使用函数。是网站更容易兼容各式各样的浏览器。那么您就可以使用以下JavaScript库来帮助你的开发更好进行。
- jQuery:快y速,小巧,功能丰富的JavaScript库。
- BackBoneJS:为复杂Javascript应用程序提供模型(models)、集合(collections)、视图(views)的结构。
- D3.js:D3是基于数据的文档操作javascript库,D3能够把数据和HTML、SVG、CSS结合起来,创造出可交互的数据图表。
- React::Facebook的Javascript库为构建用户界面而开发。
- jQuery UI:jQuery UI 是以 jQuery 为基础的开源 JavaScript 网页用户界面代码库。包含底层用户交互、动画、特效和可更换主题的可视控件。
- jQuery Mobile:基于HTML5用于创建移动 web 应用程序的框架。
- Underscore.js:JavaScript实用库,提供了类似Prototype.js的一些功能,但是没有继承任何JavaScript内置对象。
- Moment.js:一个 JavaScript 日期处理类库,用于解析、检验、操作、以及显示日期。
- Lodash:一个 JavaScript 实用工具库,提供一致性,模块化,性能和配件等功能。
- Vue:Vue.js(读音 /vjuː/, 类似于view)是一个构建数据驱动的 web 界面的库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
前端框架
通俗的前端由HTML,CSS,JavasScript等构成。当然为了适应Web开发日益增长的需求,应运而生许多独立的前端框架,例如Bootstrap。一个优秀的框架可以为前端开发人员在开发过程中增益,减小开发压力。
- Bootstrap: Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。
- Foundation: 迄今为止最好的响应式前端框架,更快、更轻、更多功能、更灵活、更强大!
- Semantic UI:Semantic UI 是一款语义化设计的前端开源框架,其功能强大,使用简单,为设计师和开发师提供可复用的完美设计方案。
- uikit:UIKit使用的变量基于LESS,具有体积小、模块化、可轻松地自定义主题及响应式界面。
Web应用框架
Web应用框架作为一个软件框架,意在帮助和缓解开发者在进行Web应用的开发与维护时遇见的开发问题。例如:AngularJS,您可以在您的项目完全免费使用它,详细文档请您参见 angularcdn.com.
- Ruby:Ruby on Rails 是使用 Ruby 语言编写的网页程序开发框架,目的是为开发者提供常用组件,简化网页程序的开发。
- React:React 起源于 Facebook 的内部项目,React 的设计思想极其独特,属于革命性创新,性能出众,代码逻辑却非常简单。是现在非长热门的框架。
- Vue:Vue.js 是用于构建交互式的 Web 界面的库。它提供了 MVVM 数据绑定和一个可组合的组件系统,具有简单、灵活的 API。从技术上讲, Vue.js 集中在 MVVM 模式上的视图模型层,并通过双向数据绑定连接视图和模型。
- AngularJS:AngularJS 通过新的属性和表达式扩展了 HTML,可以构建一个单一页面应用程序。AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。
- Ember.js:一个用于创建 web 应用的 JavaScript MVC 框架,采用基于字符串的Handlebars模板,支持双向绑定、观察者模式、计算属性(依赖其他属性动态变化)、自动更新模板、路由控制、状态机等。
- Express:基于 Node.js 平台的 web 应用开发框架 基于Node.js 平台,快速、开放、极简的 web 开发框架。
- Meteor:Meteor 是一个构建在 Node.js 之上的平台,用来开发实时网页程序。Meteor 位于程序数据库和用户界面之间,保持二者之间的数据同步更新。
- Django:Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型M,视图V和控制器C。
- ASP.net:ASP.NET是免费,高兼容的WEB应用框架,能够提供标准化WEB应用构建时所需的解决方案。
- Laravel:一个免费,开源的PHP Web应用程序框架,可以基于MVC模式来创建Web应用程序。
- Zend Framework 2:一款的Web应用框架,基于PHP来创建Web应用和服务端应用。
- Phalcon:Phalcon 是开源、全功能栈、使用 C 扩展编写、针对高性能优化的 PHP 5 框架。
- Symfony:Symfony是一个基于MVC模式的面向对象的PHP5框架。Symfony允许在一个web应用中分离事务控制,服务逻辑和表示层。
- CakePHP:CakePHP是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名设计模式的快速开发框架。主要目标是提供一个可以让各种层次的PHP开发人员快速地开发出健壮的Web应用,而 又不失灵活性。
- Flask:Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2
- CodeIgniter:CodeIgniter 是一个简单快速的PHP MVC框架。它为团队提供了足够的自由支持,允许开发人员更迅速地工作。
任务批处理工具/包管理器
任务批量处理工具可将你的工作流程全自动化.例如你可以创建一个任务,使用JavaScript语言编写的工具来进行自动化的处理。 然后打包,这样会大大提高开发效率。包管理器它能跟踪所有已安装的软件、自动化进行安装和删除应用程序、以及确保所有软件都保持更新以获得最新的增强功能和错误修复。
- Grunt:Grunt是基于Node.js的项目构建工具。它可以自动运行你所设定的任务。
- Gulp:Gulp.js 是基于 Node.js 构建的一个自动化构建工具,开发者可以使用它在项目开发过程中自动执行常见任务。
- npm:NPM(node package manager),通常称为node包管理器。顾名思义,它的主要功能就是管理node包,包括:安装、卸载、更新、查看、搜索、发布等。
- Bower:Bower是一个客户端技术的软件包管理器,它可用于搜索、安装和卸载如JavaScript、HTML、CSS之类的网络资源。
- Webpack:Webpack一个前端资源加载/打包工具,只需要相对简单的配置就可以提供前端工程化需要的各种功能,并且如果有需要它还可以被整合到其他比如 Grunt / Gulp 的工作流。
编程语言 / 开发平台
所有Web开发都需要编程语言的支持.编程语言(programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。.当然进行Web开发不仅仅只有一门语言来进开发。
- PHP:PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域
- NodeJS:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
- Javascript:JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言
- HTML5:标记语言,是HTML和XHTML的最新版本。
- Python:Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
- Ruby:Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言
- Scala:Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性。
- CSS3:CSS即层叠样式表(Cascading StyleSheet)。 在网页制作时采用层叠样式表技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。CSS3是CSS的最新版本。
- SQL:结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
- Golang:Go是Google开发的一种编译型,可平行化,并具有垃圾回收功能的编程语言。
- Rust:Rust是Mozilla开发的注重安全、性能和并发性的编程语言。
- Elixir:Elixir 是一种函数式编程语言,建立在Erlang虚拟机之上。它是一种动态语言,灵活的语法与宏支持,利用Erlang的能力来构建并发、分布式、容错应用程序与热代码升级。
数据库
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
- MySQL:MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
- MariaDB:MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。
- MongoDB:MongoDB 教程MongoDB 是一个基于分布式文件存储的数据库。由 C 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
- Redis:Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
- PostgreSQL:ostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。
CSS 预处理器
CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件,然后开发者就只要使用这种语言进行编码工作。
通俗的说,“CSS 预处理器用一种专门的编程语言,进行 Web 页面样式设计,然后再编译成正常的 CSS 文件,以供项目使用。CSS 预处理器为 CSS 增加一些编程的特性,无需考虑浏览器的兼容性问题”,例如你可以在 CSS 中使用变量、简单的逻辑程序、函数等等在编程语言中的一些基本特性,可以让你的 CSS 更加简洁、适应性更强、可读性更佳,更易于代码的维护等诸多好处。例如:Sass,Less,Stylus。
- Sass: Sass是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护。
- Less:Lesscss是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性,如变量、继承、运算、函数等,更方便CSS的编写和维护。
- Stylus:Stylus 是一个CSS的预处理框架,2010年产生,来自Node.js社区,主要用来给Node项目进行CSS预处理支持,所以Stylus 是一种新型语言,可以创建健壮的、动态的、富有表现力的CSS。
如果你是刚刚开始使用CSS的预处理器,你可能要先使用第三方编译器进行开发,如下所示。
文本编辑器 /代码编辑器
无论你是做笔记,敲代码,或者Markdown文档编写,一个好的文本编辑器都是必须拥有的!
- Atom:Atom 更为先进的文本代码编辑器 - 由 Github 打造的下一代编程开发利器在代码编辑器、文本编辑器领域,有着不少的「神器」级的产品。
- Sublime Text:Sublime Text 是一个代码编辑器(Sublime Text 2和3是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑器。
- Notepad :Notepad 是 Windows操作系统下的一套文本编辑器(软件版权许可证: GPL),有完整的中文化接口及支持多国语言编写的功能。
- Visual Studio Code:微软推出,一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。
- TextMate:TextMate是Mac下的著名的文本编辑器软件,与BBedit一起并称苹果机上的emacs和vim。
- Coda 2: OS X下快速,简洁,功能强大的编辑器【需要付费】.
- WebStorm:jetbrains公司旗下一款JavaScript 开发工具。被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。
- Vim:Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。
- Brackets:Brackets 是一个免费、开源且跨平台的 HTML/CSS/JavaScript 前端 WEB 集成开发环境 (IDE工具)。
- Emacs:著名的集成开发环境和文本编辑器。Emacs被公认为是最受专业程序员喜爱的代码编辑器之一。
Markdown 编辑器
Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用。Markdown 十分轻量,学习成本也不高。
- MWeb:专业的 Markdown 写作、记笔记、静态博客生成软件 【付费】
- Markeditor:MarkEditor 是最新的一款 Markdown 编辑器,除了基本功能外,还包含了诸如表格编辑、图表、高亮、公式等等丰富的功能!【付费】
- StackEdit:一个开放源码免费使用的 MarkDown 编辑器, 基于 PageDown,使用了 Stack Overflow 和其他 Stack Exchange 网站的 MarkDown 库
- Dillinger:Dillinger 是一款在线的 Markdown 编辑器,支持更换主题,字数统计,云服务保存,导出 HTML、PDF 等功能。
- Mou: Mac OS X下的免费Markdown编辑器【作者貌似已经跑路了】
- Texts:Windows和Mac OS X下纯文本编辑器。
表示有些付费的Markdown编辑器宝宝买不起。
icon图标
几乎每一个Web开发者,尤其是前端开发人员都会需要icon图标来增色项目。
- Font Awesome:Font Awesome为您提供可缩放的矢量图标,您可以使用CSS所提供的所有特性对它们进行更改,包括:大小、颜色、阴影或者其它任何支持的效果。
- IconMonster:免费,高质量, 庞大且资源不断增长的简洁的icon图标库。
- IconFinder:Iconfinder提供美丽的图标,服务数以百万计的设计师,开发商和其他有创意的专业人员。
- Fontello:一个目测有200 个图标(数量还在增加)的 Web-font 图标市场,对于广大设计师、前端开发者来说是很棒的资源。
- 阿里妈妈矢量图标库 :Iconfont.cn是由阿里巴巴UX部门推出的矢量图标管理网站,也是国内首家推广Webfont形式图标的平台。网站涵盖了1000多个常用图标并还在持续更新中
Git 代理 / 服务
- SourceTree:SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端。支持创建、克隆、提交、push、pull 和合并等操作。
- GitKraken (Beta):一款自由、直观、快捷、美观的跨平台Git客户端。
- Tower 2:一款美丽,高效,强大的Git管理,让Git版本控制变得容易。
- GitHub Client:有助于无缝连接GitHub和GitHub的企业的项目。
- Gogs:Gogs (Go Git Service) 是一款极易搭建的自助 Git 服务。 开发目的Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。
- GitLab: GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
- Coding:Coding 的代码托管功能除了基本的 Git 仓库以外,还有保护分支,分屏对比, Code Review 等高级功能。并且整合了 Pages 服务,质量管理,演示平台等开发工具,提升研发效率。
本地开发环境搭建
根据您运行的是什么操作系统和计算机配置,有时候进行测试的时候就有可能需要搭建一个快速的本地开发环境。自己搭建很是蛮烦,不用担心,有很多将Apache,Nginx,MySQL和phpMyAdmin进行打包一体化的软件。这些软件很是方便我们来进行本地测试。
- XAMPP:XAMPP(Apache MySQL PHP PERL)是一个功能强大的建站集成软件包。
- MAMP PRO:MAMP Pro for mac是Mac OS平台搭建本地服务器环境的组合软件套装,包含 Macintosh、Apache、MySQL和PHP 四大开发环境。
- WampServer:Wamp就是Windows Apache Mysql PHP集成安装环境,即在window下的apache、php和mysql的服务器软件。
- Vagrant:Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。
- Laragon:Laragon工具就是Laravel的一键安装工具吧,还集成了一整套wamp工具,除去Laravel安装外,它也是一款不错的wamp工具,干净简单,便捷迅速。Diff Checkers
- Wnmp:WNMP是Windows下便捷,安全的Nginx MariaDB PHP开发环境环境集成套件包。
文本对比检查
Diff checkers 可以帮助您比较文件之间的差异,然后合并更改。帮助我们更直观的看见文本之间的差异。
- Diffchecker:Diffchecker 是一款非常好用的在线文本对比工具,能够高亮显示有差异的行和字符。Diffchecker 提供了文件上传对比功能,还可以选择对比的存储时间。
- Beyond Compare:Beyond Compare是一套由Scooter Software推出的软件,主要用途是对比两个文件夹或者文件,并将差异以颜色标示。
当然有很多免费的文本编辑器,包括我们上面提到的也有插件和扩展,可以协助开发者方便的进行文件比较。
代码共享 / 代码测试
前端开发者在公司内或者团体间需要进行协作,共享代码,那么一下工具很值得开发者一试。
- JS Bin:JS Bin能够让你编辑和测试JavaScript和HTML代码。你还可以将编辑后的代码保存到本地,或将URL地址发给其他人,让其协助调试代码。
- JSfiddle:jsFiddle是一个在线的shell编辑器,通过流行的JS框架创建自定义的环境,以简化JS代码。可以用于测试示例代码。
- codeshare:与其他开发者实时共享代码。
- Dabblet:Dabblet是一个开源互动测试工具,用于测试CSS和HTML。Dabblet支持实时更新、匿名备份、嵌入网站、与他人共享或者存储到GitHub。
协作工具
每一个很棒的开发团队需要一种方式来保持联系,协作,来帮助提高生产力。
- Slack:Slack 是聊天群组 大规模工具集成 文件整合 统一搜索。
- Trello:Trello的目标是提供简洁清晰的团队协作工具。不过弥缝在这里将介绍如果将Trello用来建立自己的时间管理系统。
- Glip:Glip:在线团队办公协作平台是一个类似于Slack网站的网络办公集合体,内置了邮箱、网盘、即时通讯应用、协作服务等,把所有和网络办公有关的服务和工具都整合在了一起。
- Asana:Asana是一款团队任务管理软件 方便人们去制定和跟踪团队的项目任务的完成情况
- Jira:JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。
灵感创意
当我们进行开发时,偶尔迸发的灵感会使我们的项目或者产品增色不少。当然不仅仅依靠自我的灵感,我们也需要从别人的作品中得到灵感来保证我们的Web设计界面或者产品不落后这个时代。
- CodePen:全球web前端开发人员的圣地!可以展示个人的创意和建立一个测试实例来解决bug。 来寻找你的项目设计方式和灵感吧。
- Dribble:Dribbble是一个面向创作家、艺术工作者、设计师等创意类作品的人群,提供作品在线服务,供网友在线查看已经完成的作品或者正在创作的作品的交流网站。
网站测速工具
网站的速度是用户体验关键因素。网站速度快与慢决定是否能更高的搜索引擎排名,更高的转换率,更低的跳出率,以及更好的整体用户体验和。值得高兴的是很多免费软件可以用于测试网站速度,帮助我们找出加载缓慢的问题,方便我们去解决。
- Google PageSpeed Insights:PageSpeed Insights是一款可以分析网页速度瓶颈,让网页设计人员开发出速度更快的网站的谷歌浏览器插件。
- Google Chrome DevTools:Chrome DevTools 是公认的优秀的前端调试工具,功能强大,使用起来有一定的学习门槛,
- WebPageTest:WebPagetest是一款Web应用程序,它将一个URL以及一系列配置参数作为输入,并对那个URL运行性能测试。
- Pingdom:pingdom全面的网站监测服务网站,可测速和ping跟踪路由,可以免费监测1个站点,最短1分钟监测一次。
- GTmetrix:主要优点在于提供了丰富的详细的测量结果,并建议如何来优化网页中每个元素的,最重要的是会根据网站的具体情况,直接告诉你导致网站加载速度变慢的根源在哪里
Web开发社区
当开发者在开发的过程中有遇到问题时,除了询问他人以外,还可以使用搜索引擎搜索。社区的重要性就显而易见了,大部分开发者会在开发社区分享他们经验,如何避过不必要踩的坑。
国内:
- 谷歌开发者社区(GDG):开放 · 分享 · 创新
- segmentfault:是中国领先的开发者技术社区。 为编程爱好者提供一个纯粹、高质的技术交流的平台, 与开发者一起学习、交流与成长。【老实话我觉得这名字不好记】
- 全栈社区:中国最大的全栈开发者社区,致力于打造一个问题解答,技术文章分享,全栈人员创业的服务平台,让开发更容易,让创业更简单.
- 稀土区:专注开发设计资源分享,UI模板资源,ICONS资源,HTML模板资源等等.......
国外:
- Stack Overflow:Stack Overflow是一个与程序相关的IT技术问答网站。用户可以在网站免费提交问题,浏览问题,索引相关内容,在创建主页的时候使用简单的HTML。
- Front-end Front:在Front-end Front,前端开发者可以提出问题,分享有趣的链接,并展示他们的项目作品。
- Hashnode:Hashnode是开发者讨论技术问题,分享解决方案,与世界各地的开发者共享资源的聚集地。
- Refind:有着开发者, 黑客, 设计师收集和分享最好的资源的社区。
- Google Web Developers Group:Web 开发者,Web设计师和Web开发.
- Google Web Developers Group:Java, PHP, Ruby, JavaScript and Python 资源。
- Facebook WordPress Front-end Developers Group:WordPress 前端开发者的分享社区,可以提问题,分享开发者的项目作品,还有讨论WP未来发展趋势。
- LinkedIn Web Design and Development Professionals Group:与专业网页设计师,网页开发者共享Web开发资源
- LinkedIn Web Site Development Group: 网站设计和开发。
- LinkedIn PHP Developer Group: PHP, Mysql, Drupal, Joomla, Zend, Cake, MVC.
- LinkedIn WordPress Developers Group: WordPress 开发. 使用WP来创建CMS和CMF.
- Webdeveloper.com:帮助Web开发者和设计师学习使用HTML,java和javascript开发网站。
- Sitepoint Forums: Web开发者论坛。
- /r/perfmatters: 讨论关于 web 性能
- /r/webdev: 关于Web开发和开发者的新闻
Web开发新闻聚合
阅读开发和设计的技术干货,及时的知道技术圈内更新了什么,保持信息流新鲜,有助于我们更好的开发!
国内:
- 掘金:掘金是中国质量最高的技术分享社区,邀请稀土用户作为Co-Editor 来分享优质的技术干货,从前端到后端开发,从设计到产品,让每一个掘金用户都能挖掘到有价值的干货。
- 开发者头条:一个以程序员为中心,基于学习和分享的开发者社区。你可以阅读头条新闻、分享技术文章、发布开源项目,订阅技术极客们创建的学习主题和关注编程牛人。
- 极客头条:技术文章聚合站点,目测现在运营力度减弱。
- 推酷:以技术为驱动,以聚合挖掘为核心,打造个性推荐和订阅,给你一站式的阅读。 更汇聚优质公开课和线下活动,让信息知识获取更便捷。
国外:
- wdrl.info:精心挑选的Web开发相关资源,每星期进行整合报道。
- webopsweekly.com: 每周进行报道关于网络运营,应用部署,网站性能和工具分享类的文章。
- web tools weekly:专注于前端开发和网页设计工具分享。每一个问题都有一个简短的提示或教程,另外每周都会分享的各种应用程序、脚本、插件和其他有用的资源。
- freshbrewed.co:每周为前端开发者和设计师提供开发和设计类的阅读摘要。
- smashingmagazine.com: Smashing Magazine是一款专门为个人前端开发者和设计师提供的在线报纸,每周二都会定时的更新有用的资源。
- front-end dev weekly: 每周为前端开发者提供新闻, 包含工具资源,还有灵感。
- friday front-end:邮件订阅,每日为前端开发者发关于开发资源的邮件。
- /dev tips: 收集开发者的问题和建议, 用gif呈现,会每周发邮件通知。