Window下phpstudy使用nginx配置https

1、自生成私钥和私有证书

在 Windows 环境下搭建 Web 服务器跑 php 应用,难免大家都会想起 WAMP  和  PHPSTUDY 这些集成一键部署软件,以下分享下 Window 下 phpstudy 使用 nginx 配置 SSL 证书

首先保证有一个可以正常访问到网页的域名在手。
安装 OpenSSL (点击跳转下载地址)
⚠️ 下载完整 MSI 版
安装完成后开始配置环境变量
变量名:OPENSSL_HOME  变量值: OpenSSL 的安装目录\bin (变量值为 OPENSSL 安装位置下的 bin 目录)

在 Path 变量结尾添加一条: %OPENSSL_HOME%

打开  phpstudy  安装目录下找到  nginx 文件夹 新建  openssl  文件夹

在文件夹路径栏敲击进入 CMD

创建 Key 私钥

创建 2048 bit 级别 Key 私钥
openssl genrsa -des3 -out google_test.key 2048

创建并配置 CSR 证书

继续创建 2048 bit 级别 CSR 证书
openssl req -new -nodes -newkey rsa:2048 -keyout google_test.key -out google_test.csr
⚠️ 这里的 google_test.key 文件为同一目录下的文件

1
2
3
4
5
6
7
8
9
10
11
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Guangdong
Locality Name (eg, city) []:ZhuHai
Organization Name (eg, company) [Internet Widgits Pty Ltd]:google_test.cn Team
Organizational Unit Name (eg, section) []:BiNoL Project
Common Name (e.g. server FQDN or YOUR name) []:google_test.cn
Email Address []:postmaster@google_test.cn
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

⚠️ A challenge password 不需要填写,不然日后在 Nginx 需要再次去除
至此,在 CMD 的根目录就生成了私有 CSR 证书。

2、NGINX  配置  SSL

本文档指导您在  NGINX HTTP  服务器上安装并配置  SSL  证书,关于  NGINX  在各个平台上的安装不再涉及。

配置  SSL  证书

1.  最正规的且完整的  SSL  证书分为四个部分:

CA  根证书  (root CA)  中级证书  (Intermediate Certificate)  域名证书 证书密钥  (仅由您持有)
以  COMODO PositiveSSL  证书为例,您将收到四份文件:
根证书  - AddTrustExternalCARoot.crt  中级证书  - COMODORSAAddTrustCA.crt  中级证书  - COMODORSADomainValidationSecureServerCA.crt  您的域名证书  - example_com.crt

2.  一般地,证书签发中心签发的 SSL 证书只有两个:

CA  证书串  - example_com.ca-bundle  您的域名证书  - example_com.crt

3.  最简单的只有一个 PEM 证书:

CA 证书  - full_chain.pem
接着需要要依照  域名证书  ->  中间证书  ->  根证书  的顺序串联为证书链,才能被绝大多数浏览器信任。提议在 Liunx 系统上使用  cat  命令串联证书,以下列举第一种情况:
cat example_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > example_com.bundle.crt
而第二种情况如下:
cat example_com.crt example_com.ca-bundle > example_com.bundle.crt
而第三种则不需要处理!
得到的新文件(example_com.bundle.crt)或(full_chain.pem)后,和私钥文件  xxx.key  一同上传至服务器并保存在安全的位置。

修改  NGINX  站点配置

下面是一份针对较新版本的  NGINX  的  SSL  部分配置,请将其添加到站点配置文件中  server  的部分,并根据注释和您的需求修改。

1
2
3
4
5
6
7
8
9
10
11
listen 443 ssl;    # 侦听端口
# listen [::]:443 ssl ipv6only=on; # 如果您希望同时侦听 IPv6,请取消此行注释
server_name example.com; # 请改为您的域名
ssl_certificate /etc/ssl/private/example_com.bundle.crt; # 证书链
ssl_certificate_key /etc/ssl/private/example_com.key; # 密钥
ssl_protocols TLSv1.2 TLSv1.1 TLSv1; # 支持的协议,Windows XP 不支持
ssl_prefer_server_ciphers on; # 启用 Forward Secrecy
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";
keepalive_timeout 70;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

如果您希望至少支持一些老式浏览器,并且在能够使用  ECDHE  时尽可能使用此算法,您可以使用下面的配置:

1
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS +RC4 RC4";

能够最低支持到  Android 2.3 (不支持  IE6)  的方案:

1
2
ssl_ciphers "CHACHA20:ECDH+AESGCM:ECDH+AES256:RSA+AESGCM:RSA+AES:DH+AESGCM:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+3DES:!aNULL:!eNULL:!EXPORT:!CAMLLIA:!DES:!MD5:!PSK:!RC4";

或者使用最简单的方案:

1
ssl_ciphers "EECDH+aRSA+AES";

当然你也可以使用您可能需要使用  LibreSSL  以支持  CHACHA20  算法,以下不再枚举。

生成  DHE  参数

为了避免使用  OpenSSL  默认的  1024bit DHE  参数,我们需要生成一份更强的参数文件:
openssl dhparam -out dhparam.pem 4096
建议您使用性能强劲的平台生成此文件,例如最新版的至强物理机。如果您只有一台小型  VPS,请使用以下命令生成  2048bit  的参数文件。
openssl dhparam -out dhparam.pem 2048
完成后,在  SSL  配置下添加一行:
ssl_dhparam /etc/ssl/certs/dhparam.pem;

启用  HSTS

HTTP Strict Transport Security (HSTS)  可以使浏览器第一次访问您的站点后即记住仅通过  HTTPS  与您的站点通信,可以大大提升安全性。
在  SSL  配置下添加:

1
2
3
add_header Strict-Transport-Security max-age=63072000;
# add_header X-Frame-Options DENY; # 如果不需要引用 iframe 则可以加上
add_header X-Content-Type-Options nosniff;

强制定向到  HTTPS

这里提供三种方法,使到访问域名的使用不约而同的使用 https 通道。

1.  侦听  HTTP 80  端口

1
2
3
4
5
6
7
8
server {
listen 80;
# listen [::]:80; # 如果您需要同时侦听 IPv6,请取消此行注释
server_name example.com; # 您的域名
location / {
return 301 https://example.com$request_uri; # 要重定向的地址,请将 example.com 改为您的域名
}
}

2.  使用重写

1
rewrite ^ https://example.com$request_uri? permanent;    # 请将 example.com 改为您的域名

3.  使用解析 301 跳转

示例,这里是基于  NGINX 1.15.11  的一份完整配置样例,结合实际,仅供参考。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
server {
listen 80 ;
listen 443 ssl;
ssl_certificate "C:\phpstudy_pro\Extensions\Nginx1.15.11\conf\ssl\52cxw_cn.bundle.crt"; # 证书链
# ssl_certificate "C:\phpstudy_pro\Extensions\Nginx1.15.11\conf\ssl\full_chain.pem"; # 证书链
ssl_certificate_key "C:\phpstudy_pro\Extensions\Nginx1.15.11\conf\ssl\fecmall.key"; # 密钥
ssl_prefer_server_ciphers on;
ssl_dhparam "C:\phpstudy_pro\Extensions\Nginx1.15.11\conf\ssl\dhparam.pem";
ssl_protocols TLSv1.2 TLSv1.1 TLSv1; # 支持的协议,Windows XP 不支持
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";
keepalive_timeout 70;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security max-age=63072000;
# add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
server_name appfront.52cxw.cn www.xxx.cn xxx.cn;
root "D:\wwwroot\fecshop\appfront\web";
server_tokens off;
include none.conf;
index index.php index.html index.htm;
}

3、常见问题

Q:Nginx  部署 ssl 证书出现[emerg] PEM_read_bio_X509_AUX failed

问题在于证书合并出现了异常“—–END CERTIFICATE———-BEGIN CERTIFICATE—–”粘在了一起,分开即可。

Centos 7.5 nginx+web 集群配置 https 报错 报错信息: [root@lb01 conf.d]# nginx -t nginx: [emerg] BIO_new_file(“/etc/nginx/ssl_key/server.crt”) failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‘/etc/nginx/ssl_key/server.crt’,’r’) error:2006D080:BIO routines:BIO_new_file:no such file) nginx: configuration file /etc/nginx/nginx.conf test failed

没有证书,解决方法:/etc/nginx/ssl_key 里面放置证书

解决Python编译问题小插曲

起因

一切的一切都因为这个。

诚然,SyntaxError: Non-ASCII character '\xe5' in file就是问题所在,出现这个问题的缘由是已经摆在面前,python 的默认编码文件是用的 ASCII 码,而你的 python 文件中使用了中文等非英语字符。解决方法是直接在报错的文件最开头加上# -*- coding:UTF-8 -*-或者# coding=UTF-8即可。但是也不要不排除它是因为 python2 的原因,因为在 python2 的 py 文件里面写中文,则必须要添加一行声明文件编码的注释,否则 python2 会默认使用 ASCII 编码,所以这里考虑前任开发使用的环境是 python3

安装双 Python 版本

具体要求是实现:在 centos 上安装 python3,并且自由切换 python2 和 python3

1.1 在当前目录下载源文件

1
wget https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tgz

1.2 解压并开始安装

1
2
3
4
5
tar zxvf Python-3.8.6.tgz
cd Python-3.8.6
./configure
make
make altinstall

1.3 设置系统默认使用 python3

1
2
3
cd /usr/bin
mv python python.bak
ln -s /usr/local/bin/python3.8 /usr/bin/python

1.4 设置自由切换

设置前请检查是否安装 update-alternatives 工具,键入update-alternatives --display python

若无则不显示任何信息,则准备就绪

将 python2 和 python3 分别添加为可选项

1
2
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.8 2

/usr/bin/python 链接文件相同,/usr/local/bin/python3.8 则根据自己具体安装目录来设定,1、2 分别代表优先级

_

1.5 检查

键入python --version即可查看当前版本,如果显示Python 3.8.6则正常,否则需要进行切换操作。

1
2
3
4
5
6
7
8
9
sudo update-alternatives --config python
There are 2 programs which provide 'python'.

Selection Command
-----------------------------------------------
+ 1 /usr/bin/python2.7
* 2 /usr/local/bin/python3.8

Enter to keep the current selection[+], or type selection number(按 Enter 保留当前选项[+],或者键入选项编号:): 2

输入 2 即可成功切换。
倘若想删除附加,也可以进行管理。

1
2
sudo update-alternatives --remove python /usr/bin/python2.7 (删除2.7)
sudo update-alternatives --remove python /usr/local/bin/python3.8 (删除3.8)

1.6 升级 pip

键入cd /usr/bin 查询当前 pip 指令ll pip*
如果存在多少个 pip 就代表有多少个已经存在的命令,输入pip --version即可
现操作为删除当前的 pip 或者 pip3 软连接到最新的 pip 去。

1
2
3
4
5
6
7
8
9
10
11
# 删除pip文件
rm pip

# 查询pip3文件地址
whereis pip3

# 重新设置pip文件
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

# 可以再补加一个pip3命令
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

回到一开始的问题,重新 run 即可成功跑起,注意结束刚开始运行的程序:ps ef | gref python 然后通过-9 或者 killall 杀掉进程。

开发人员免费资源

开发人员和开放源代码作者现在拥有大量提供免费层的服务,但是很难找到所有这些层来做出明智的决定。
这是软件(SaaS,PaaS,IaaS 等)和为开发人员提供免费套餐的其他产品的列表。
*注意:*此列表仅适用于即服务产品,不适用于自托管软件。为了使服务合格,它必须提供免费套餐,而不仅仅是免费试用。如果免费套餐有时间限制,则必须至少保留一年。我们还从安全角度考虑免费层,因此 SSO 很好,但我将不接受将 TLS 限制为仅付费层的服务。

主要云提供商

  • Google Cloud Platform
    • App Engine-每天 28 个前端实例小时,每天 9 个后端实例小时
    • Cloud Firestore-1GB 存储,每天 50,000 次读取,20,000 次写入,每天 20,000 次删除
    • Compute Engine-1 个不可抢占的 f1-micro,30GB 硬盘,5GB 快照存储(仅限某些地区)
    • 云端存储-5GB,1GB 网络出口
    • Cloud Shell-基于 Web 的 Linux Shell /基本 IDE,具有 5GB 的持久存储空间。每周限制 60 小时
    • Cloud Pub / Sub-每月 10GB 的邮件
    • 云功能-每月 2 百万次调用(包括后台和 HTTP 调用)
    • 云端运行-每月 200 万个请求,360,000 GB-秒的内存,180,000 vCPU-秒的计算时间,每月从北美流出 1 GB 的网络
    • Google Kubernetes Engine-所有大小的集群均不收取集群管理费。每个用户节点均按标准 Compute Engine 定价收费
    • BigQuery-每月查询 1 TB,每月存储 10 GB
    • 云构建-每天 120 分钟构建
    • 云源存储库-最多 5 个用户,50 GB 存储,50 GB 出口
    • 完整详细列表-http://liuyan.320.io/602721/cloud.google.com/free/docs/gcp-free-tier#always-free-usage-limits
  • 亚马逊网络服务
    • Amazon DynamoDB-25GB NoSQL 数据库
    • Amazon Lambda-每月 100 万次请求
    • 亚马逊 SNS-每月发布 100 万本
    • Amazon Cloudwatch-10 个自定义指标和 10 个警报
    • Amazon Glacier-10GB 长期对象存储
    • Amazon SQS-100 万个消息传递队列请求
    • Amazon CodeBuild-每月构建时间为 100 分钟
    • Amazon Code Commit-每月 5 位活跃用户
    • Amazon Code Pipeline-每月 1 条活动管道
    • 完整,详细的列表-http://liuyan.320.io/602721/aws.amazon.com/free/?awsf.Free%20Tier%20Types=categories%23alwaysfree
  • 微软 Azure
    • 应用服务-10 个 Web,移动或 API 应用
    • 功能-每月一百万个请求
    • DevTest Labs-支持快速,轻松和精益的开发测试环境
    • Active Directory-500,000 个对象
    • Active Directory B2C-每月存储 50,000 个用户
    • Azure DevOps-5 个活动用户
    • Microsoft IoT 中心-每天 8,000 条消息
    • 负载均衡器-1 个免费的公共负载均衡 IP(VIP)
    • 通知中心-100 万个推送通知
    • 带宽-每月 5GB 出口
    • Azure Cosmos DB-5GB 存储和 400 RU 的预配置吞吐量,为期 1 年
    • Azure 静态 Web 应用程序 —使用免费的 SSL,身份验证/授权和自定义域来构建,部署和托管静态应用程序和无服务器功能
    • 完整详细列表-http://liuyan.320.io/602721/azure.microsoft.com/zh-cn/free/
  • 甲骨文云
    • 计算-2 个 VM.Standard.E2.1.Micro 1GB RAM
    • 块卷-2 个卷,总计 100 GB(用于计算)
    • 对象存储-10 GB
    • 负载平衡器-1 个实例(10 Mbps)
    • 数据库-2 个 DB,每个 20 GB
    • 监视-5 亿个摄取数据点,10 亿个检索数据点
    • 带宽-每月 10 TB 出口
    • 通知-每月有 100 万个传递选项,每月发送 1000 封电子邮件
    • 完整的详细列表-http://liuyan.320.io/602721/www.oracle.com/cloud/free/
  • IBM 云
    • 云功能-每月执行 500 万次
    • 对象存储-每月 25GB
    • Cloudant 数据库-1 GB 数据存储
    • DB2 数据库-100MB 数据存储
    • API Connect-每月 50,000 次 API 调用
    • 可用性监视-每月 300 万个数据点
    • 日志分析-每日日志 500MB
    • 完整的详细列表-http://liuyan.320.io/602721/www.ibm.com/cloud/free/
  • 阿里云
    • 计算-1 个 ecs.t5-lc1m1.small,使用 40 GB 的超级云磁盘或 SSD 磁盘和 1 MB 的互联网带宽,持续 12 个月。
    • 函数计算-每月免费通话 100 万次,每月免费通话 40 万 GB-秒
    • API 网关-激活 API 网关的第一年,每月可获得一百万次免费通话。
    • .tech 域名-一年免费使用
    • 完整详细列表-http://liuyan.320.io/602721/www.alibabacloud.com/campaign/free-trial

源代码回购

  • Azure DevOps —无限的私人存储库(Git 和 TFS),最多可容纳 5 个用户/团队
  • bitbucket.org —带有 CI / CD 管道的多达 5 个用户的无限公共和私人 Git 回购
  • chiselapp.com —无限的公共和私人化石存储库
  • codebasehq.com —一个具有 100 MB 空间和 2 个用户的免费项目
  • codeberg.org-无限的公共和私人 Git 仓库
  • gitea.com-无限的公共和私人 Git 仓库
  • github.com —带有 CI / CD 管道的无限公共存储库和无限私人存储库(具有无限合作者)
  • gitlab.com —无限的公共和私人 Git 仓库,具有无限的合作者,带有 CI / CD 管道,每个仓库有 10 GB 空间
  • ionicframework.com-回购和使用 Ionic 开发应用程序的工具,您也拥有一个离子回购
  • NotABug-NotABug.org是一个免费软件代码协作平台,用于基于 Git 的免费许可项目
  • perforce.com —免费的 1GB 云和 Git,Mercurial 或 SVN 存储库。
  • pijul.com-无限的免费和开源分布式版本控制系统。其独特的功能是基于可靠的补丁理论,这使得它易于学习和使用,并且真正分发。解决了 git / hg / svn / darcs 的许多问题。
  • plasticscm.com —对个人,OSS 和非营利组织免费
  • projectlocker.com —一个具有 50 MB 空间的免费私人项目(Git 和 Subversion)
  • savannah.gnu.org-用作免费软件项目的协作软件开发管理系统(适用于 GNU 项目)
  • savannah.nongnu.org-用作免费软件项目的协作软件开发管理系统(适用于非 GNU 项目)

API,数据和 ML

  • algorithmia.com-免费托管算法。包括每月免费的运行算法津贴。现在具有 CLI 支持
  • Apify -Web 抓取和自动化平台,可让您创建提取网站数据的 API。免费套餐,每月抓取 1 万次,数据保留 7 天。
  • Beeceptor-在几秒钟内模拟其余的 API,伪造的 API 响应等等。每天免费 50 个请求,公共仪表板,开放的端点(任何链接到仪表板的人都可以查看请求和响应)。
  • bigml.com —托管的机器学习算法。无限的免费任务可供开发,每个任务限制 16 MB 数据
  • Calendarificative-适用于 200 多个国家/地区的企业级公共假日 API 服务。免费计划包括每月 1000 次通话。
  • Clarifai —用于自定义面部识别和检测的图像 API。能够训练 AI 模型。免费计划每月有 5000 个通话。
  • 合作 -带有 Nvidia Tesla K80 GPU 的免费基于 Web 的 Python 笔记本环境。
  • CurrencyScoop-金融科技应用程序的实时货币数据 API。免费计划包括每月 5000 次通话。
  • Datapane-用于在 Python 中构建交互式报表以及将 Python 脚本和 Jupyter Notebook 作为自助工具部署的 API。
  • DB Designer-基于云的数据库模式设计和建模工具,具有 2 个数据库模型和每个模型 10 个表的免费入门计划。
  • Diggernaut —基于云的 Web 抓取和数据提取平台,用于将任何网站转换为数据集或与 API 一起使用。免费计划包括每月 5K 页面的请求。
  • dominodatalab.com —数据科学,支持 Python,R,Spark,Hadoop,MATLAB 等
  • dreamfactory.com —适用于移动,Web 和 IoT 应用程序的开源 REST API 后端。连接任何 SQL / NoSQL 数据库,文件存储系统或外部服务,它会立即创建一个全面的 REST API 平台,其中包含实时文档,用户管理,…
  • ExtendsClass-基于 Web 的免费 HTTP 客户端,用于发送 HTTP 请求。
  • FraudLabs Pro —筛选用于信用卡付款欺诈的订单交易。该 REST API 将基于订单的输入参数检测所有可能的欺诈特征。免费 Micro 计划每月有 500 笔交易。
  • FreeGeoIP.app-完全免费的地理 IP 信息(JSON,CSV,XML)。无需注册,每小时 15,000 个查询的速率限制。
  • GeoDataSource-使用纬度和经度坐标查找城市名称的位置搜索服务。免费 API 查询,每月多达 500 次。
  • IP 地理位置 -IP 地理位置 API-面向开发人员的永久免费计划,每月限制 30k 请求(每天 1k)。
  • IP2Location — Freemium IP 地理位置服务。LITE 数据库可免费下载。将数据库导入服务器,并执行本地查询以确定城市,坐标和 ISP 信息。
  • IPinfo —快速,准确,免费(每月最多 100k)IP 地址数据 API。提供 API,其中包含有关地理位置,公司,运营商,IP 范围,域,滥用联系方式等的详细信息。所有付费 API 均可免费试用。
  • IPList-有关任何 IP 地址的查询详细信息,例如 Geo IP 信息,tor 地址,主机名和 ASN 详细信息。个人和企业用户免费。
  • IPTrace —一个令人尴尬的简单 API,可为您的业务提供可靠且有用的 IP 地理位置数据。
  • konghq.com/ — API 市场和用于私有和公共 API 的强大工具。使用免费套餐时,某些功能会受到限制,例如监视,警报和支持
  • MailboxValidator —使用真实邮件服务器连接的电子邮件验证服务,以确认有效的电子邮件。免费的 API 计划每月有 300 个验证。
  • microlink.io –它将任何网站转换为数据,例如元标记标准化,美容链接预览,抓取功能或屏幕截图即服务。每天免费提供 250 请求。
  • monkeylearn.com — Text analysis with machine learning, free 300 queries/month
  • myfakeapi.com —为开发人员提供的免费的无服务器 API 模拟服务
  • microenv.com —为开发人员创建伪造的 REST API,并有可能在 Docker 容器中生成代码和应用程??序。
  • OCR.Space — OCR API,用于解析图像和 pdf 文件,并以 JSON 格式返回文本结果。每月免费提供 25,000 个请求。
  • OpenAPI3 Designer —可视地免费创建 Open API 3 定义
  • parsehub.com —从动态网站提取数据,将动态网站转换为 API,免费提供 5 个项目
  • PIXELA -免费 daystream 数据库服务。所有操作均由 API 执行。热图和折线图的可视化也是可能的。
  • 回发 -稍后请求 HTTP 回调。注册时有 8,000 个免费请求。
  • Postman –通过用于 API 开发的协作平台Postman简化工作流程并更快创建更好的 API。永久免费使用 Postman App。邮递员云功能也永久免费,但有一定限制。
  • Postwoman -API 请求生成器-Postman的免费,快速,美观的替代方案。
  • ProxyCrawl —无需代理,基础结构或浏览器即可爬网和爬网网站。我们为您解决验证码并防止您被屏蔽。前 1000 个电话免费。
  • Releaseflags-功能标志应该以低成本提供给每个开发人员。Releaseflags 为单个开发人员提供免费的 releaseflags,并为初创企业提供了低成本的计划。
  • RequestBin.com —创建一个免费的端点,您可以向其发送 HTTP 请求。发送到该端点的所有 HTTP 请求都将与相关的有效负载和标头一起记录,因此您可以观察来自 Webhooks 和其他服务的请求。
  • restlet.com — APISpark 通过直观的浏览器界面使任何 API,应用程序或数据所有者在数分钟内即可成为 API 提供者
  • ROBOHASH -Web 服务,可从任何文本生成唯一的(酷:)图像。
  • Scraper API-基于云的 Web 抓取 API 处理代理,浏览器和验证码。只需简单的 API 调用即可抓取任何网页。每月开始 1000 次免费 API 调用。
  • ScrapingAnt —无头 Chrome 抓取 API 和免费的已检查代理服务。Javascript 渲染,高级旋转代理,避免使用 CAPTCHA。提供免费计划。
  • ScrapingDog — Scrapingdog 处理数百万个代理,浏览器和验证码,以通过单个 API 调用为您提供任何网页的 HTML。它还提供了适用于 Chrome 和 Firefox 的 Web 抓取工具以及可即时满足抓取需求的软件。提供免费计划。
  • scrapinghub.com —使用可视界面和插件进行数据抓取。免费计划包括在共享服务器上无限刮取
  • ScrapingNinja-一站式处理 JS 渲染,Chrome 无头,代理旋转和验证码。前 1000 个是免费的,不需要信用卡。
  • Sheetson-立即将所有 Google 表格转换为 RESTful API。提供免费计划。
  • shrtcode API-免费的 URL 缩短 API,无需授权,也没有请求限制
  • Sofodata-从 CSV 文件创建安全的 RESTful API。上传 CSV 文件并通过其 API 立即访问数据,从而加快应用程序开发速度。免费计划包括每月 2 个 API 和 2500 个 API 调用。无需信用卡。
  • tamber —在您的应用程序中添加基于深度学习的建议。免费的 5k 每月活跃用户。
  • 时间门 -时间序列分析 API
  • Webhook.site-使用此方便的工具可以轻松地测试 HTTP Webhooks,该工具可以立即显示请求。
  • wit.ai —开发人员专用的自然语言处理
  • wolfram.com —云中基于知识的内置算法
  • wrapapi.com —将任何网站转换为参数化的 API。每月 30k API 调用
  • Zenscrape-具有无头浏览器,住宅 IP 和简单定价的 Web 抓取 API。每月 1000 次免费 API 调用,为学生和非营利组织提供额外的免费积分
  • ip-api — IP 地理位置 API,免费用于非商业用途,无需 API 密钥,从免费计划的同一 IP 地址开始,限制为每分钟 45 req /分钟。
  • APIFull — Web Scraping API 处理无头浏览器并为开发人员旋转代理。
  • WebScraping.AI-具有内置解析,Chrome 渲染和代理的简单 Web 网 API。每月 5000 次免费 API 调用。

神器回购

  • bintray.com — JFrog Bintray 免费托管开源项目,并支持 Docker,Maven,NuGet,npm,Debian,RPM,Conan,Vagrant,Opkg,yum,并且JCenter也是 Maven 工件最全面的集合。
  • central.sonatype.org — Apache Maven,SBT 和其他构建系统的默认工件存储库。
  • cloudrepo.io-基于云的私有和公共 Maven 和 PyPi 存储库。对于开源项目免费。
  • cloudsmith.io —为 Java / Maven,RedHat,Debian,Python,Ruby,Vagrant 和更多提供的简单,安全和集中的存储库服务。免费套餐+免费开源。
  • jitpack.io — GitHub 上用于 JVM 和 Android 项目的 Maven 存储库,对于公共项目免费。
  • packagecloud.io —易于使用的存储库托管,用于:Maven,RPM,DEB,PyPi 和 RubyGem 软件包(具有免费层)。
  • repsy.io — 1 GB 免费的私有/公共 Maven 存储库。

团队合作工具

  • Bitwarden —个人,团队和业务组织存储,共享和同步敏感数据的最简单,最安全的方法。
  • cally.com —查找会议的最佳时间和日期。简单易用,非常适合小型和大型团体。
  • 不和谐 —与公共/私人房间和 VoIP 服务聊天。无限用户免费。
  • evernote.com-用于组织信息的工具。分享您的笔记并与他人一起工作
  • featurepeek.com-内置了团队协作工具的与云提供商无关的前端功能环境。与静态和 Dockerized 前端一起使用。免费用于公共存储库。
  • Filestash —类似 Dropbox 的文件管理器,可连接到一系列协议和平台:S3,FTP,SFTP,Minio,Git,WebDAV,Backblaze,LDAP 等。
  • flock.com —您的团队进行交流的更快方式。免费的无限制消息,频道,用户,应用程序和集成
  • flowdock.com —聊天和收件箱,最多 5 个团队免费
  • GitDuck —用于分布式团队的私有实时编码和远程对编程。开源工具
  • gitter.im —聊天,适用于 GitHub。无限的公共和私人房间,最多 25 人的团队免费
  • hangouts.google.com-一个免费聊天场所,需要一个 Google 帐户
  • helplightning.com —通过增强现实技术提供视频帮助。免费,无需分析,加密和支持
  • helpmonks.com —团队的共享收件箱,开源和非营利组织免费
  • ideascale.com —允许客户提交想法和投票,一个社区的 25 名成员免费
  • Igloo-用于共享文档,博客和日历等的内部门户。最多 10 个用户免费。
  • Keybase — Keybase 是 Slack 的一个很酷的 FOSS 替代产品,它可以确保每个人的聊天和文件安全,无论是家庭,社区还是公司。
  • Google Meet-使用 Google Meet 满足您企业在线视频会议的需求。Meet 提供安全,易于加入的在线会议。
  • Meet.jit.si —免费的一键式视频对话,屏幕共享
  • Microsoft 团队 -Microsoft 团队是一个基于聊天的数字中心,可以一次将所有对话,内容和应用程序集中在一起。免费,最多可容纳 300 位用户。
  • Miro-适用于分布式团队的可扩展,安全,跨设备和企业就绪的团队协作白板。有免费增值计划。
  • 概念 -概念是一种记笔记和协作应用程序,具有降价支持,还集成了任务,Wiki 和数据库。该公司将该应用程序描述为一个多功能的工作空间,用于记笔记,项目管理和任务管理。除了跨平台应用程序之外,还可以通过大多数 Web 浏览器进行访问。
  • Pendulums -Pendulums 是一个免费的时间跟踪工具,可通过易于使用的界面和有用的统计信息帮助您更好地管理时间。
  • Raindrop.io-适用于 macOS,Windows,Android,iOS 和 Web 的私有安全书签应用程序。免费的无限书签和协作。
  • riot.im —基于 Matrix 的分散式通信工具。群组聊天,直接消息传递,加密的文件传输,语音和视频聊天,以及与其他服务的轻松集成。
  • Rocket.Chat-团队,安全,无限和开源的共享收件箱。
  • seafile.com —私有或云存储,文件共享,同步,讨论。私人版本已满。云版本只有 1 GB
  • slack.com —具有某些功能限制的无限用户免费
  • 频谱 -免费创建公共或私人社区。
  • StatusPile-状态页面的状态页面。跟踪上游提供商的状态页。
  • Tadum-专为定期会议而设计的会议议程和会议记录应用程序,最多 10 人的团队免费
  • talky.io — Free group video chat. Anonymous. Peer?to?peer. No plugins, signup, or payment required
  • Tefter-具有强大的 Slack 集成的书签应用程序。开源团队免费。
  • twist.com —一个异步友好的团队交流应用程序,在该应用程序中,会话保持井井有条,并保持话题性。提供免费和无限计划。为符合条件的团队提供折扣。
  • typetalk.com —通过 Web 或移动设备上的即时消息与团队共享和讨论想法
  • 拖船 -预览每个自动和按需的拉动请求。全部免费,非营利组织免费提供 Nano 层。
  • which.com-免费的一键式视频对话(以前称为” appear.in”)
  • wistia.com —使用查看器分析,高清视频交付和营销工具来托管视频,以帮助了解您的访客,25 个视频和 Wistia 品牌播放器
  • yammer.com —独立或用于 MS Office 365 的专用社交网络。免费提供,但管理工具和用户管理功能较少
  • zoom.us —安全的视频和 Web 会议,可以使用附加组件。免费限时 40 分钟

不育系

  • acquia.com —托管 Drupal 网站。开发人员的免费套餐。还提供免费的开发工具(例如 Acquia Dev Desktop)
  • contentful.com —无头 CMS。云中的内容管理和交付 API。带有一个免费的微型空间,其中包括 10 个用户,5000 条记录,24 种内容类型和 2 种语言环境。
  • 棱镜 —无头 CMS。具有完全托管和可扩展 API 的内容管理界面。社区计划为 1 位用户提供了无限的 API 调用,文档,自定义类型,资产和语言环境。下一个项目所需的一切。适用于开放内容/开放源代码项目的更大的免费计划。
  • sanity.io –使用可自定义的 MIT 许可编辑器托管结构化内容的后端,该编辑器由 React 构建。无限的项目。3 个用户,2 个数据集,500k API CDN 请求,每个项目免费 5GB 资产
  • kontent.ai-一种内容即服务平台,可为您提供所有无用的 CMS 好处,同时为营销人员提供支持。开发者计划为 2 个用户提供了无限的项目,每个项目有 2 个环境,500 个内容项,2 种语言(带有交付和管理 API)以及自定义元素支持。可提供更大的计划来满足您的需求。
  • Forestry.io/ —无头 CMS。给您的编辑人员 Git 的力量。轻松创建和编辑基于 Markdown 的内容。带有三个免费站点,其中包括 3 个编辑器,即时预览。与 Netlify / GitHubpages /上托管的博客集成

代码质量

  • beanstalkapp.com —完整的工作流,用于编写,查看和部署代码),1 个用户的免费帐户和 1 个具有 100 MB 存储空间的存储库
  • browserling.com —实时交互式跨浏览器测试,在 1024 x 768 分辨率下,在 Vista 下使用 MS IE 9 仅免费提供 3 分钟的会话
  • codacy.com —针对 PHP,Python,Ruby,Java,JavaScript,Scala,CSS 和 CoffeeScript 的自动代码审查,免费提供无限制的公共和私人存储库
  • Codeac.io-用于 DevOps 的作为代码的自动化基础结构审阅工具,与 GitHub,Bitbucket 和 GitLab(甚至是自托管)集成。除了标准语言外,它还分析 Ansible,Terraform,CloudFormation,Kubernetes 等。(免费开源)
  • codeclimate.com —自动化代码审查,免费提供给开源和不受组织限制的私人私有存储库(最多 4 个协作者)。对学生和机构也免费。
  • codecov.io —代码覆盖率工具(SaaS),免费提供给开源和 1 个免费私有仓库
  • codescene.io -CodeScene 根据开发人员如何使用代码来优先考虑技术债务,并可视化团队协作和系统精通等组织因素。免费开源。
  • coveralls.io-显示测试覆盖率报告,免费提供给开源
  • dareboost-每月提供 5 份关于 Web 性能,可访问性和安全性的免费分析报告
  • deepcode.ai — DeepCode 基于 AI 查找错误,安全漏洞,性能和 API 问题。DeepCode 的分析速度使我们能够实时分析您的代码,并在您单击 IDE 中的”保存”按钮时提供结果。支持的语言是 Java,C / C ++,JavaScript,Python 和 TypeScript。与 GitHub,BitBucket 和 Gitlab 的集成。免费提供开源和私有存储库,最多释放 30 位开发人员。
  • deepscan.io —高级静态分析,用于自动找到 JavaScript 代码中的运行时错误,免费提供给开源
  • DeepSource -DeepSource 不断分析源代码更改,并发现在安全性,性能,反模式,错误风险,文档和样式下分类的问题。对于 Python 和 Go。免费开源。
  • gerrithub.io — GitHub 存储库的免费 Gerrit 代码审查
  • gocover.io-任何Go软件包的代码覆盖率
  • golangci.com —针对 GitHub 拉取请求的自动化 Go(golang)代码检查服务。
  • goreportcard.com — Go 项目的代码质量,开源免费
  • gtmetrix.com —优化网站的报告和详尽建议
  • hiberly.com-开发人员的技术债务工具包-每次合并后从工程师那里获取反馈,然后将其汇总以量化并突出代码库中的技术债务。免费提供长达 12 个月的回顾。
  • houndci.com —有关代码质量的 GitHub 承诺的评论,免费提供给开源
  • Imgbot — Imgbot 是一个友好的机器人,可以优化您的图像并节省时间。优化的图像意味着较小的文件大小而不会牺牲质量。它是免费的开放源代码。
  • Insight.sensiolabs.com -PHP / Symfony 项目的代码质量,免费提供给开源
  • lgtm.com —针对 Java,Python,JavaScript,TypeScript,C#,C 和 C ++的持续安全性分析,免费提供给开源
  • reviewable.io — GitHub 仓库的代码审查,对于公共或个人仓库免费
  • scan.coverity.com — Java,C / C ++,C#和 JavaScript 的静态代码分析,免费提供给开源
  • scrutinizer-ci.com —连续检查平台,免费提供开源
  • shields.io —开源项目的质量元数据徽章
  • sonarcloud.io — Java,JavaScript,C / C ++,C#,VB.NET,PHP,Objective-C,Swift,Python,Groovy 以及更多语言的自动化源代码分析,免费提供给开源
  • tachikoma.io — Ruby,Node.js,Perl 项目的依赖关系更新,免费提供给开源
  • Typo CI -Typo CI 审查您的请求请求,并针对拼写错误进行提交,免费提供给开源。
  • webceo.com — SEO 工具,但也具有代码验证和不同类型的建议
  • zoompf.com —修复您网站的性能,详细分析

代码搜索和浏览

  • codota.com — Codota 通过提供从世界上所有代码中学到的见解,帮助开发人员更快地创建更好的软件。插件可用。
  • library.io — 32 个不同程序包管理器的搜索和依赖项更新通知,免费提供给开源
  • searchcode.com —全面的基于文本的代码搜索,免费提供给开源
  • sourcegraph.com — Java,Go,Python,Node.js 等,代码搜索/交叉引用,免费提供给开源
  • tickgit.com —表面TODO注释(和其他标记)以标识值得返回以进行改进的代码区域。

CI 和 CD

  • AccessLint — AccessLint 将自动化的 Web 可访问性测试引入您的开发工作流程。它是免费的,用于开源和教育目的。
  • appcircle.io —具有在线设备仿真器的 iOS 和 Android 自动化移动 CI / CD / CT。20 分钟构建超时(对于开放源代码为 60 分钟),一次并发是免费的。
  • appveyor.com — Windows 的 CD 服务,开源免费
  • Azure Pipelines —针对 Linux,macOS 和 Windows 的开源 10 项免费并行工作,无限制时间
  • bitrise.io —用于移动应用程序(本机或混合)的 CI / CD。每月有 200 次免费构建,构建时间为 10 分钟,有两名团队成员。OSS 项目的构建时间为 45 分钟,并发+1,团队规模无限制。
  • buddy.works —具有 5 个免费项目和 1 个并发运行的 CI / CD(每月执行 120 次)
  • buddybuild.com —在一个无缝的迭代系统中为 iOS 和 Android 应用程序构建,部署和收集反馈
  • circleci.com —免费并发构建
  • codefresh.io —终身免费计划:1 个构建,1 个环境,共享服务器,无限制的公共存储库
  • codeship.com —每月 100 个私有版本,5 个私有项目,开源无限制
  • deployhq.com — 1 个项目,每天部署 10 个(每月构建 30 分钟)
  • gitlab.com —使用 GitLab 的 CI 服务直接从 Git 存储库创建管道。2,000min / mo
  • ligurio / awesome-ci —持续集成服务的比较
  • semaphoreci.com —免费开放源代码,每月 100 个私有版本
  • shippable.com —每月 150 个私有版本,可免费使用 1 个构建容器,私有和公共仓库
  • stackahoy.io — 100%免费。无限的部署,分支和构建
  • styleci.io-仅公共 GitHub 存储库
  • travis-ci.org —公共 GitHub 存储库免费
  • cirrus - ci.org-公共 GitHub 存储库免费
  • 无人机 -无人机云使开发人员可以在一个地方跨多个架构(包括 x86 和 Arm(32 位和 64 位))运行持续交付管道
  • codemagic.io-每月免费构建 500 分钟

测试中

  • Applitools.com —针对 Web,本地移动和桌面应用程序的智能视觉验证。与几乎所有自动化解决方案(例如 Selenium 和 Karma)和远程运行程序(Sauce Labs,Browser Stack)集成。免费提供开源。每周检查点数量有限的单个用户的免费套餐。
  • browserstack.com —手动和自动浏览器测试,免费提供给开源
  • checkbot.io —浏览器扩展程序,用于测试您的网站是否遵循 50 多个 SEO,速度和安全性最佳做法。小型网站的免费套餐。
  • crossbrowsertesting.com-在云中进行手动,可视和 Selenium 浏览器测试- 免费提供开源
  • cypress.io-对浏览器中运行的所有内容进行快速,轻松和可靠的测试。赛普拉斯 Test Runner 始终免费且开源,没有任何限制。对于多达 5 个用户的开源项目,赛普拉斯仪表板是免费的。
  • everystep-automation.com —记录和重放在 Web 浏览器中执行的所有步骤并创建脚本,…免费,选项更少
  • Gremlin — Gremlin 的混沌工程工具可让您安全,安全地简单地将故障注入系统中,以在导致面向客户的问题之前发现弱点。Gremlin Free 可以访问最多 5 个主机或容器上的关机和 CPU 攻击。
  • gridlastic.com —带有免费计划的硒网格测试,最多可同时进行四个硒节点/ 10 个网格启动/每月 4,000 个测试分钟
  • percy.io-将可视化测试添加到任何 Web 应用程序,静态网站,样式指南或组件库。10 个团队成员,演示应用程序和无限的项目,每月 5,000 张快照。
  • Reflection.run-针对 Web 应用程序的无代码自动化测试。可以在应用程序内安排测试,也可以通过 CI / CD 工具执行测试。每次测试运行均包含完整的视频记录以及控制台和网络日志。免费套餐包括无限数量的已保存测试,每月有 25 次测试运行,最多 3 位用户。
  • saucelabs.com —跨浏览器测试,Selenium 测试和移动测试,免费提供给开源
  • testingbot.com — Selenium 浏览器和设备测试,免费提供开源
  • tesults.com —测试结果报告和测试用例管理。与流行的测试框架集成。开源软件开发人员,个人,教育工作者和小团队入门可以要求基本免费项目以外的折扣和免费产品。
  • websitepulse.com —各种免费的网络和服务器工具。
  • qase.io-开发和质量保证团队的测试管理系统。管理测试用例,编写测试运行,执行测试运行,跟踪缺陷并衡量影响。免费套餐包括所有核心功能,其中 500Mb 可用于附件,最多可容纳 3 个用户。

安全和 PKI

  • Alienvault.com —发现网络中受到感染的系统
  • auth0.com —免费托管用于开发 SSO。最多 2 个社交身份提供者用于封闭源项目。
  • bitninja.io —通过黑名单的僵尸网络保护,免费计划仅报告有关每次攻击的有限信息
  • cloudploit.com — Amazon Web Services(AWS)安全和合规性审核和监控
  • CodeNotary.io —开源平台,具有不可磨灭的证明,可以公证代码,文件,目录或容器
  • crypteron.com —云优先,对开发人员友好的安全平台可防止.NET 和 Java 应用程序中的数据泄露
  • Dependabot针对 Ruby,JavaScript,Python,PHP,Elixir,Rust,Java(Maven 和 Gradle)、. NET,Go,Elm,Docker,Terraform,Git 子模块和 GitHub Actions 的自动化依赖项更新。
  • duo.com —网站或应用程序的两步验证(2FA)。10 位用户免费,所有身份验证方法,无限制,集成,硬件令牌
  • Firebase身份验证 —免费的端到端身份解决方案,电子邮件和密码帐户,Google,Twitter,Facebook,GitHub 登录,电话身份验证(每月最多 10k)等。
  • foxpass.com —托管 LDAP 和 RADIUS。轻松地按用户登录服务器,VPN 和无线网络。10 位用户免费
  • globalsign.com —开源的免费 SSL 证书
  • 我已经被捏了吗?— REST API,用于获取违规信息。
  • Internet.nl-测试现代互联网标准,例如 IPv6,DNSSEC,HTTPS,DMARC,STARTTLS 和 DANE
  • Jumpcloud —提供类似于 Azure AD,用户管理,单点登录和 RADIUS 身份验证的目录即服务。免费(最多 10 位用户)。
  • keychest.net-带有集成 CT 数据库的 SSL 到期管理和证书购买
  • letsencrypt.org —具有所有主要浏览器信任的证书的免费 SSL 证书颁发机构
  • LoginRadius —免费的托管用户身份验证服务。电子邮件注册和 3 个社交服务提供商。
  • logintc.com —通过推送通知进行两因素身份验证(2FA),10 位用户免费使用,VPN,网站和 SSH
  • meterian.io-监视 Java,Javascript,.NET,Scala,Ruby 和 NodeJS 项目中的依赖项中的安全漏洞。一个私有项目免费,开放源代码无限个项目。
  • Mozilla 天文台 -查找并修复站点中的安全漏洞。
  • Okta-用户管理,身份验证和授权。免费,每月最多有 1000 位活跃用户。
  • onelogin.com —身份即服务(IDaaS),单点登录身份提供商,Cloud SSO IdP,3 个公司应用程序和 5 个个人应用程序,无限的用户
  • opswat.com —安全监控计算机,设备,应用程序,配置,…免费 25 位用户和 30 天的历史记录
  • ponycheckup.com —用于 Django 网站的自动化安全检查工具
  • Protectumus-免费的网站安全检查,站点防病毒和服务器防火墙(WAF)。注册用户的电子邮件和短信通知。
  • pyup.io —监视 Python 依赖关系中的安全漏洞并自动更新它们。一个私有项目免费,开放源代码无限个项目。
  • qualys.com —查找 Web 应用程序漏洞,审核 OWASP 风险
  • report-uri.io — CSP 和 HPKP 违规报告
  • ringcaptcha.com —免费使用电话号码作为 ID 的工具
  • Shieldfy —针对开发人员的 Web 应用程序防火墙和漏洞检测,每月免费计划多达 10 万个请求。
  • snyk.io —可以在开源依赖项中找到并修复已知的安全漏洞。开源项目的无限测试和修复。每月最多只能为您的私人项目进行 200 次测试。
  • Sqreen —针对 Web 应用程序和 API 的应用程序安全监视和保护(RASP,WAF 等)。免费提供 1 个应用程序和 300 万个请求。
  • ssllabs.com —非常深入地分析任何 SSL Web 服务器的配置
  • Sucuri SiteCheck-免费的网站安全检查和恶意软件扫描程序
  • ThreatConnect.com —威胁情报:它是为开始学习网络威胁情报的个人研究人员,分析人员和组织而设计的。最多释放 3 位用户
  • tinfoilsecurity.com —自动化漏洞扫描。免费计划允许每周 XSS 扫描
  • Virgil Security —用于在数字解决方案中实施端到端加密,数据库保护,IoT 安全等的工具和服务。对于拥有 250 个用户的应用程序免费。
  • Virushee —由混合启发式和 AI 辅助引擎提供支持的面向隐私的文件/数据扫描。可以使用内部动态沙箱分析。每个文件上传限制为 50MB

管理系统

  • bitnami.com —在 IaaS 上部署准备好的应用程序。免费管理 1 个 AWS 微型实例
  • jamf.com —适用于 iPad,iPhone 和 Mac 的设备管理,免费提供 3 台设备
  • moss.sh-帮助开发人员部署和管理其 Web 应用程序和服务器。每月最多释放 25 个 git 部署
  • runcloud.io-服务器管理主要集中在 PHP 项目上。最多可免费使用 1 台服务器。

讯息传递

  • cloudamqp.com — RabbitMQ 即服务。小狐猴计划:每月最多 100 万条消息,最多 20 个并发连接,最多 100 个队列,最多 10,000 个排队的消息,不同可用区中的多个节点
  • pusher.com —实时消息服务。免费,每天最多可连接 100 个连接和 200,000 条消息
  • scaledrone.com —实时消息服务。免费,每天最多可同时进行 20 个连接和 100,000 个事件
  • synadia.comNATS.io即服务。全局,AWS,GCP 和 Azure。永久免费,每月提供 4k msg 大小,50 个活动连接和 5GB 数据。
  • cloudkarafka.com-免费共享 Kafka cluser,最多 5 个主题,每个主题 10MB 数据,数据保留 28 天。

日志管理

翻译管理

  • rowin.com开源的无限项目,无限字符串和合作者
  • lingohub.com —最多免费供 3 个用户使用,对于开源始终免费
  • localizely.com —免费提供开源
  • 机车 -最多免费翻译 2000 笔,翻译数量不限,每种项目 10 种语言,每种项目 1000 种可翻译资产
  • oneskyapp.com —有限的免费版本,最多可容纳 5 个用户,开放源代码免费
  • POEditor —最多释放 1000 个字符串
  • transifex.com —免费开源
  • webtranslateit.com —最多释放 500 个字符串
  • weblate.org —它是免费的,免费项目最多可包含 10,000 个免费层的字符串源,以及无限的自托管内部部署。

监控方式

  • apimetrics.io-自动化的 API 性能监控,测试和分析。免费计划,手动进行 API 调用并从其西海岸服务器运行
  • appdynamics.com — 24 小时免费提供指标,应用程序性能管理代理限于一种 Java,一种.NET,一种 PHP 和一种 Node.js
  • appneta.com —免费保留 1 小时数据
  • assertible.com —自动化的 API 测试和监视。为团队和个人提供免费计划。
  • bearer.sh-自动监视 API 请求,跟踪性能,检测异常并解决关键 API 使用情况方面的问题。使用 1 行代码免费安装 Bearer Agent。
  • blackfire.ioBlackfire是 SaaS 交付的应用程序性能解决方案。免费的黑客计划(仅 PHP)
  • bmc.com —最多 10 台服务器的免费 1 秒分辨率
  • circonus.com —免费获得 20 个指标
  • cloudploit.com — AWS 安全和配置监控。免费:无限按需扫描,无限用户,无限存储帐户。订阅:自动扫描,API 访问等。
  • datadoghq.com —最多 5 个节点免费
  • deadmanssnitch.com —监视 cron 作业。1 个免费告密者(显示器),如果您推荐其他人进行注册,则更多
  • elastic.co —为 JS 开发人员提供即时性能见解。免费提供 24 小时数据保留
  • freeboard.io —公共项目免费。物联网(IoT)项目的仪表板
  • freshworks.com —以 1 分钟的间隔监视 50 个 URL,其中 10 个全球位置和 5 个公共状态页面免费
  • ghostinspector.com —免费网站和 Web 应用程序监视。单用户,每月 100 次测试运行
  • gitential.com —软件开发分析平台。免费:无限的公共存储库,无限的用户,私人存储库的免费试用。适用于企业的本地版本。
  • healthchecks.io —监视您的 cron 作业和后台任务。免费,最多 20 张支票。
  • inspector.dev-一个完整的实时监控仪表板,在不到一分钟的时间内可以永久免费使用。
  • instrumentalapp.com-免费使用多达 500 个指标和 3 个小时的数据可见性的美观且易于使用的应用程序和服务器监控
  • keychest.net/speedtest-针对 Digital Ocean 的独立速度测试和 TLS 握手延迟测试
  • letsmonitor.org -SSL 监控,最多可免费使用 5 个监控器
  • loader.io —有限制的免费负载测试工具
  • nixstats.com-一台服务器免费。电子邮件通知,公共状态页面,60 秒间隔等。
  • nodequery.com —免费的基本服务器最多可监视 10 台服务器
  • opsgenie.com —强大的警报和通话管理功能,用于操作始终在线的服务。最多释放 5 个用户。
  • paessler.com —强大的基础架构和网络监控解决方案,包括警报,强大的可视化功能和基本报告。释放多达 100 个传感器。
  • pagertree.com-用于警报和通话管理的简单界面。最多释放 5 个用户。
  • pingbreak.com —现代的正常运行时间监控服务。检查无限的 URL,并通过 Discord,Slack 或电子邮件获取停机通知。
  • sematext.com —免费提供 24 小时指标,无限数量的服务器,10 个自定义指标,500,000 个自定义指标数据点,无限的仪表板,用户等。
  • sitemonki.com —网站,域,Cron 和 SSL 监控,每个类别中免费有 5 个监控器
  • skylight.io-前 100,000 个请求免费(仅适用于 Rails)
  • speedchecker.xyz —性能监视 API,用于检查 Ping,DNS 等。
  • stathat.com —免费获得 10 个统计信息,没有过期
  • statuscake.com —网站监视,无限制的无限制测试
  • 000eyes.com —网络和用户体验监视。免费提供 3 个位置和 20 个主要 Web 服务的数据馈送
  • uptimerobot.com —网站监控,免费 50 台监控器
  • uptimetoolbox.com —免费监视 5 个网站,间隔 60 秒,公共状态页。

崩溃和异常处理

  • bugsnag.com —最初试用后每月最多可免费出现 2,000 个错误
  • honeybadger.io-异常,正常运行时间和 cron 监视。对单独开发人员和开源项目免费(每月 12,000 个错误)。
  • logrocket.io -javascript 应用程序的日志记录和会话重播。每月免费使用 1,000 次,保留 14 天
  • rollbar.com —异常和错误监视,每月有 5,000 错误的免费计划,无限用户,保留 30 天
  • sentry.io — Sentry 实时跟踪应用程序异常,有一个小的免费计划。每月免费提供 5k 错误/ 1 位用户,如果是自托管则可以不受限制地使用

搜索

  • algolia.com —托管按需搜索(即时)。免费的黑客计划最多 10,000 个文档和 100,000 个操作。可为社区/开源项目提供更大的免费计划
  • bonsai.io —释放 1 GB 内存和 1 GB 存储空间
  • searchly.com —免费 2 个索引和 20 MB 存储空间
  • pagedart.com-免费提供的 AI 搜索即服务包括 1000 个文档,50000 个搜索。对于有价值的项目,可以使用更大的免费套餐。

电子邮件

  • 10minutemail-免费的临时电子邮件进行测试。
  • AnonAddy-开源匿名电子邮件转发,免费创建无限的电子邮件别名
  • biz.mail.ru — 5,000 个邮箱,每个自定义域每个 25 GB,带有 DNS 托管
  • Burnermail –免费的 5 个 Burner 电子邮件地址,1 个邮箱,7 天的邮箱历史记录
  • Buttondown —通讯服务。多达 1,000 个免费订阅者
  • cloudmersive.com —开发人员的电子邮件验证和验证 API,每月 2,000 个免费 API 请求
  • Contact.do —链接中的联系表格(有点联系表格)-完全免费!
  • debugmail.io-开发人员易于使用的测试邮件服务器
  • elasticemail.com —每天 100 封免费电子邮件。1,000 封电子邮件,价格为$ 0.09(通过 API 支付)。
  • forwardemail.net —针对自定义域的免费电子邮件转发。使用您的域名创建和转发不限数量的电子邮件地址。
  • ImprovMX –免费电子邮件转发
  • inumbo.com —基于 SMTP 的垃圾邮件过滤器,可供 10 位用户免费使用
  • kickbox.io-确认有 100 封电子邮件免费,实时 API 可用
  • mail-tester.com —测试电子邮件的 dns / spf / dkim / dmarc 设置是否正确,每月 20 个免费
  • Mailboxlayer.com —开发人员的电子邮件验证和验证 JSON API。每月 1,000 个免费 API 请求
  • mailcatcher.me —捕获邮件并通过 Web 界面提供
  • mailchimp.com —每月有 2,000 个订阅者和 12,000 封电子邮件
  • MailerLite.com —每月 1,000 个订阅者,无限制的免费电子邮件
  • mailinator.com —免费的公共电子邮件系统,您可以在其中使用所需的任何收件箱
  • mailjet.com —每月免费发送 6,000 封电子邮件
  • mailkitchen —终身免费,无需承诺,每月 10,000 封电子邮件,每天 1,000 封电子邮件
  • Mailnesia-免费的临时/一次性电子邮件,该电子邮件具有自动访问注册链接。
  • mailtrap.io —伪造的 SMTP 服务器,用于免费开发,带有 1 个收件箱,50 条消息,无团队成员,2 封电子邮件/秒,无转发规则
  • migadu.com —电子邮件托管(Webmail,SMTP,IMAP 等)—免费计划限于每天发送 10 封邮件
  • mohmal.com —一次性临时电子邮件
  • moosend.com —邮件列表管理服务。初创企业 6 个月的免费帐户
  • pepipost.com —首月免费提供 30k 电子邮件,然后每天免费提供前 100 个电子邮件
  • phplist.com —托管版本允许每月免费发送 300 封电子邮件
  • postale.io —每个域最多可容纳 5 个用户的免费域电子邮件地址,无限域,启用 POP3 / IMAP,无广告
  • postmarkapp.com-每月免费 100 封电子邮件,无限制的 DMARC 每周摘要
  • 每月发送多达 15000 封电子邮件-多达 2500 个订阅者
  • sendgrid.com —每天 100 封电子邮件和 2,000 个免费联系人
  • sendinblue.com —每月有 9,000 封电子邮件免费
  • sendpulse.com —每小时免费 50 封电子邮件,每月免费前 12,000 封电子邮件
  • socketlabs.com-首月免费提供 40k 电子邮件,然后每月免费提供 2000 个电子邮件
  • sparkpost.com —每月免费发送前 500 封电子邮件
  • 子堆栈 -无限的免费新闻通讯服务。收费后开始付款。
  • testmail.app-使用无限的邮箱和 GraphQL API 自动执行端到端电子邮件测试。每月免费 100 封电子邮件,永久免费,开源无限。
  • tinyletter.com — 5,000 个订阅者/月免费
  • trashmail.com-具有转发功能和自动地址过期功能的免费一次性电子邮件地址
  • Validator.Pizza —用于检测一次性电子邮件的免费 API
  • Verifalia —具有邮箱确认和一次性电子邮件地址检测器的实时电子邮件验证 API;每天 25 次免费电子邮件验证。
  • verimail.io —批量和 API 电子邮件验证服务。每月 100 次免费验证
  • Yandex.Connect —免费电子邮件和 DNS 托管,最多可容纳 1,000 个用户
  • yopmail.fr —一次性电子邮件地址
  • zoho.com —免费的网络邮件和最多 5 位用户的协作
  • SimpleLogin –开源,可自行托管的电子邮件别名/转发解决方案。免费提供 5 种别名,无限带宽,无限答复/发送。教育人员(学生,研究员等)免费。

字形

  • dafont-本网站上显示的字体是其作者的财产,并且可以是免费软件,共享软件,演示版本或公共领域。
  • 一切字体 -提供多种工具;@ font-face,单位转换器,字体 Hinter 和字体提交者。
  • 松鼠字体 -已获许可用于商业用途的免费软件字体。手动选择这些字体,并以易于使用的格式显示它们。
  • Google 字体 -许多免费字体,可通过下载或指向 Google CDN 的链接轻松快捷地安装在网站上。

形式

  • 99inbound.com-建立表格并在线共享。获取每个提交的电子邮件或 Slack 消息。免费计划有 2 种形式,每月 100 个条目,基本电子邮件和 Slack。
  • Formcake.com-开发人员的表单后端,免费计划允许无限制表单,100 个提交,Zapier 集成。无需库或依赖项。
  • Formcarry.com -HTTP POST 表单端点,免费计划允许每月 100 次提交。
  • formingo.co-用于静态网站的简易 HTML 表单,无需注册即可免费开始。免费计划允许每月 500 次提交,可自定义回复电子邮件地址。
  • formlets.com —在线表单,每月无限制单页表单,每月 100 次提交,电子邮件通知。
  • Formspark.io-表单到电子邮件服务,免费计划允许无限制表单,每月 500 份提交,由客户支持团队提供支持。
  • Formspree.io —使用 HTTP POST 请求发送电子邮件。免费套餐每月限制 1000 个提交,并且必须在 API 调用中公开电子邮件地址。
  • getform.io-用于设计人员和开发人员的表单后端平台,1 个表单,100 个提交,单个文件上传,100MB 文件存储。
  • Kwes.io-功能丰富的表单端点。非常适合静态网站。免费计划包括最多 1 个网站,每月最多 50 个提交。
  • smartforms.dev-功能强大且易于使用的网站表单后端,永久免费计划允许每月 50 次提交,100MB 文件存储,Zapier 集成,CSV / JSON 导出,自定义重定向,自定义响应页面,Telegram&Slack bot,单个电子邮件通知。
  • staticforms.xyz-无需任何服务器端代码即可轻松轻松地集成 HTML 表单。用户提交表单后,会将包含表单内容的电子邮件发送到您的注册地址。
  • Typeform.com —在网站上包括设计精美的表格。免费计划每个表格只允许 10 个字段,每月只允许 100 个回复。
  • WaiverStevie.com-具有 REST API 的电子签名平台。接收带有 Webhooks 的通知。免费计划水印签名文档,但允许无限制的信封+签名。

CDN 和保护

  • bootstrapcdn.com — CDN,用于引导程序,bootswatch 和 fontawesome.io
  • cdnjs.com — CDN,用于 JavaScript 库,CSS 库,SWF,图像等。
  • cloudflare.com —基本服务是免费的,对博客非常有用,它还提供免费的 SSL 证书服务和 5 条防火墙规则。
  • ddos-guard.net —免费的 CDN,DDoS 保护和 SSL 证书
  • developers.google.com — Google 托管库是最流行的开源 JavaScript 库的内容分发网络
  • jare.io —用于图像的 CDN。使用 AWS CloudFront
  • jsdelivr.com —适用于开发人员和网站管理员的 OSS CDN(JS,CSS,字体),接受 PR 来添加更多内容
  • Microsoft Ajax -Microsoft Ajax CDN 托管流行的第三方 JavaScript 库(例如 jQuery),使您可以轻松地将它们添加到 Web 应用程序中
  • netdepot.com —每月前 100 GB 可用
  • ovh.ie —免费的 DDoS 保护和 SSL 证书
  • PageCDN.com-为所有人提供免费的公共 CDN,为开源/公益组织提供免费的私人 CDN。
  • pika.dev/cdn-100%本机 ES 模块 JavaScript CDN
  • raw.githack.com -现代更换 rawgit.com 简单的主机文件使用 CloudFlare 的这
  • section.io —启动和管理完整的 Varnish Cache 解决方案的简单方法。据说一个站点永远免费
  • speeder.io-使用 KeyCDN。自动图像优化和免费 CDN 增强功能。免费,不需要任何服务器更改
  • staticaly.com —用于 Git 仓库(GitHub,GitLab,Bitbucket)的 CDN,与 WordPress 相关的资产和图像
  • toranproxy.com — Packagist 和 GitHub 的代理。永不让 CD 失败。免费供个人使用,1 个开发人员,不支持
  • unpkg.com — CDN 用于 npm 上的所有操作
  • Web 支持革命 —免费 CDN,备份,防火墙,防病毒和监视。
  • Namecheap Supersonic —免费的 DDoS 保护

PaaS

  • anvil.works-仅使用 Python 进行 Web 应用程序开发。免费套餐,无限应用。
  • appharbor.com —一个提供 1 个免费工作者的.Net PaaS
  • configure.it —移动应用程序开发平台,可免费使用两个项目,功能有限,但没有资源限制
  • codenameone.com —适用于 Java / Kotlin 开发人员的开源,跨平台,移动应用程序开发工具链。免费用于商业用途,项目数量不受限制
  • engineyard.com —发动机场提供 500 小时免费
  • firebase.google.com —构建实时应用程序,免费计划具有最大 100 个连接,10 GB 数据传输,1 GB 数据存储,1 GB 主机存储和 10 GB 主机传输
  • gearhost.com —适用于.NET 和 PHP 应用程序的平台。在资源有限的共享服务器上免费提供 256 MB RAM
  • gigalixir.com -Gigalixir 为 Elixir / Phoenix 应用程序提供了 1 个永不休眠的免费实例,以及免费的 PostgreSQL 数据库限制为 2 个连接,10、000 行且无备份。
  • glitch.com —具有代码共享和实时协作等功能的免费无限制公共/私人托管
  • heroku.com —在云中托管您的应用程序,单进程应用程序免费
  • dplyr.dev-使用数据库部署 Web 应用程序。免费在您的计算机上进行部署。最多 2 个部署
  • KintoHub — KintoHub 是一个多合一的平台,可将您的后端服务,网站,cron 作业,数据库以及您的应用程序所需的所有内容组合并部署到一个地方。
  • Krucible -Krucible 是一个用于创建 Kubernetes 集群以进行测试和开发的平台。免费套餐帐户每月有 25 个群集小时。
  • kubesail.com-为开发人员设计的托管 Kubernetes 命名空间服务。免费的开发人员帐户带有 1 个 CPU 内核,512MB RAM,100MB 存储空间和 1 个域。
  • K8Spin-专为开发人员设计的托管 Kubernetes 命名空间服务。免费的开发人员帐户附带 100 mCore CPU,128MB RAM。
  • ZARVIS-用于开源 Github 项目的免费托管 Kubernetes 命名空间。释放 1GB 内存和 1 个 vCPU。
  • mendix.com —适用于企业的快速应用程序开发,无限数量的免费沙盒环境,支持 10 个用户,每个文件 100 MB 和 100 MB 数据库存储
  • Okteto Cloud-专为开发人员设计的托管 Kubernetes 服务。免费的开发人员帐户带有 8GB 的 RAM,4 个 CPU 和 5GB 的磁盘空间。闲置 24 小时后,应用程序进入睡眠状态。
  • outsystems.com —用于本地或云的企业 Web 开发 PaaS,免费的”个人环境”产品允许无限的代码和多达 1 GB 的数据库
  • pipedream.com-为开发人员构建的集成平台。根据任何触发器开发任何工作流程。工作流是代码,您可以免费运行。无需管理服务器或云资源。
  • pythonanywhere.com — Cloud Python 应用托管。初学者帐户免费,您的 username.pythonanywhere.com 域中有 1 个 Python Web 应用程序,512 MB 私有文件存储,1 个 MySQL 数据库
  • sandstorm.io — Sandstorm 是用于个人和私有云的开源操作系统。免费计划提供 200 MB 存储空间和 5 粒谷物
  • scn.sap.com —来自 SAP 的内存中平台即服务产品。免费的开发人员帐户具有 1 GB 的结构化,1 GB 的非结构化,1 GB 的 Git 数据,并允许您运行 HTML5,Java 和 HANA XS 应用程序
  • staroid.com-托管的 Kubernetes 命名空间服务,旨在为开源开发人员提供资金。释放 8 个 CPU 和 16GB 的 RAM 名称空间,以测试分支并提取公共存储库的请求。每 30 分钟免费关闭测试名称空间一次。最多 2 个并发测试名称空间。
  • worker.dev-在 Cloudflare 的全球网络上免费部署无服务器代码。每天使用 worker.dev 子域的 100,000 个免费请求。
  • vercel.com —无服务器平台,支持多种语言(包括静态站点)和单个命令部署。免费套餐包括 SSL,无限(公平使用)带宽,100 个部署。
  • Platform9-专为开发人员设计的托管 Kubernetes 服务。免费的开发人员帐户最多包含 3 个群集和 20 个节点群集。
  • fly.io -Fly 是一个需要全局运行的应用程序的平台。它可以在靠近用户的地方运行您的代码,并在您的应用最繁忙的城市中扩展计算。编写代码,将其打包到 Docker 映像中,将其部署到 Fly 的平台上,然后执行所有工作以保持应用程序的敏捷性。附带项目免费,每月 10 美元的服务信用自动适用于任何付费服务。而且,如果您运行的是非常小的虚拟机,那么信誉将大有帮助。

a

  • ably.com-用于实时消息传递,推送通知和事件驱动的 API 创建的 API。免费计划每月有 300 万条消息,100 个并发连接,100 个并发通道。
  • back4app.com -Back4App 是基于 Parse Platform 的易于使用,灵活且可扩展的后端。
  • backendless.com —移动和 Web Baas,具有 1 GB 的免费文件存储空间,每月 50000 个推送通知和表中的 1000 个数据对象。
  • blockspring.com —云功能。每月免费运行 500 万次
  • getstream.io —在数小时而不是数小时内构建可扩展的新闻提要和活动流,每月免费更新 300 万个提要
  • hasura.io —快速构建和部署应用程序后端的平台,对单节点群集免费。
  • iron.io —具有免费层和 1 个月免费试用的异步任务处理(如 AWS Lambda)
  • netlicensing.io-一种经济高效且集成的许可即服务(LaaS)解决方案,适用于从台式机到 IoT 和 SaaS 的任何平台上的软件。学生期间免费的基本计划。
  • onesignal.com —无限的免费推送通知
  • paraio.com —具有灵活身份验证,全文搜索和缓存的后端服务 API。免费提供 1 个应用,1GB 应用数据。
  • posthook.io —作业计划服务。允许您安排特定时间的请求。每月免费提供 500 个预定的请求。
  • progress.com —移动后端入门计划每秒具有无限请求,具有 1 GB 的数据存储空间。企业应用程序支持
  • pubnub.com —免费推送通知,每月最多发送 100 万条消息,以及每天 100 台活动设备
  • pushbots.com —推送通知服务。每月免费进行 150 万次推送
  • pushcrew.com —推送通知服务。无限通知,最多 2000 个订户
  • pusher.com —为 2000 个每月活跃用户免费提供无限制的推送通知。适用于 iOS 和 Android 设备的单个 API。
  • pushtechnology.com —用于浏览器,智能手机和所有人的实时消息传递。100 个并发连接。每月免费 10 GB 数据
  • quickblox.com —用于即时消息传递,视频和语音呼叫以及推送通知的通信后端
  • simperium.com —即时,自动,多平台,无限制地发送和存储结构化数据,将数据无处不在。2500 个用户/月
  • stackstorm.com —事件驱动的应用程序,服务和工作流自动化,免费,无流量,访问控制,LDAP,…
  • streamdata.io —将任何 REST API 转换为事件驱动的流 API。免费计划多达一百万条消息和 10 个并发连接
  • tyk.io —具有身份验证,配额,监控和分析的 API 管理。免费云产品
  • zapier.com —连接您使用的应用程序以自动执行任务。每 15 分钟 5 zaps,每月执行 100 个任务
  • LeanCloud —移动后端。1GB 的数据存储空间,256MB 实例,每天 3K API 请求,每天 10K 推送是免费的。(API 与解析平台非常相似)

虚拟主机

  • 000WebHost —使用 PHP,MySQL,cPanel 且无广告的零成本网站托管!
  • Amezmo-开发人员使用 MySQL 托管 PHP。基于 Docker 容器   现代 PHP 7,带有 Git 的自动部署,针对自定义域的免费 SSL。
  • Alwaysdata -100 MB 免费网络托管,支持 MySQL,PostgreSQL,CouchDB,MongoDB,PHP,Python,Ruby,Node.js,Elixir,Java,Deno,自定义 Web 服务器,可通过 FTP,WebDAV 和 SSH 访问;包括邮箱,邮件列表和应用安装程序。
  • Awardspace.com —免费的虚拟主机+免费的短域名,PHP,MySQL,应用安装程序,电子邮件发送和无广告。
  • Bubble —通过视觉编程无需代码即可构建 Web 和移动应用程序,并且可以使用 Bubble 品牌免费。
  • Byet -Byet 为您提供了大量免费且无广告的负载平衡免费虚拟主机服务,包括 PHP,MySQL,FTP,Vistapanel 等!
  • cloudno.de — Node.js 应用程序的免费云托管。
  • devport.co —将 GitHub 项目,应用程序和网站转变为个人开发人员组合
  • Fenix Web Server-开发人员桌面应用程序,用于在本地托管站点并公开共享(实时)。使用其精美的用户界面,API 和/或 CLI,可以按自己喜欢的方式工作。
  • 免费托管 —使用 PHP 5,Perl,CGI,MySQL,FTP,文件管理器,POP 电子邮件,免费子域,免费域托管,DNS 区域编辑器,网站统计信息,免费在线支持以及许多其他功能无法免费托管由其他免费主机提供。
  • Freehostia — FreeHostia 提供免费的托管服务,包括。业界最佳的控制面板和一键安装 50 多种免费应用。即时设置。没有强制广告。
  • gitlab.com —直接从 GitLab 存储库托管静态站点
  • heliohost.org-社区提供的免费托管给所有人。
  • neocities.org —静态,1 GB 的免费存储空间和 200 GB 带宽。
  • netlify.com —构建,部署和托管静态站点或应用程序,免费提供 100 GB 数据和 100 GB /月的带宽
  • pages.github.com —直接从 GitHub 存储库托管静态站点
  • pantheon.io — Drupal 和 WordPress 托管,自动化的 DevOps 和可扩展的基础架构。开发人员和代理商免费
  • pony.icu —来自 PonyICU 的具有无限磁盘空间,无限带宽和无限网站的免费虚拟主机。包括 PHP 和 MySQL。
  • raidboxes.io —具有许多随附功能的托管 WordPress 托管。开发人员和代理机构免费提供自定义域支持。
  • readthedocs.org —具有版本控制,PDF 生成等功能的免费文档托管
  • render.com —一个统一的平台,用于构建和运行所有应用程序和 Web 应用程序,其中包括免费的 SSL,全局 CDN,专用网络和从 Git 进行的自动部署,对于静态网页免费。
  • sourceforge.net —免费查找,创建和发布开源软件
  • urge.sh —面向前端开发人员的静态 Web 发布。具有自定义域支持的无限站点
  • tilda.cc —一个站点,50 个页面,50 MB 的存储空间,只有 170 多个可用的主要预定义块,没有字体,没有网站图标,也没有自定义域
  • txti.es —使用 markdown 快速创建网页。
  • Versoly — SaaS 专注于网站构建器-无限的网站,70 多个块,5 个模板,自定义 CSS,favicon,SEO 和表单。没有自定义域。

域名解析

  • 1984.is —带有 API 的免费 DNS 服务,包括许多其他免费 DNS 功能。
  • biz.mail.ru —最多可容纳 5,000 个用户的免费电子邮件和 DNS 托管
  • Cloudflare-免费 DNS。域数量不限。
  • cloudns.net —免费 DNS 托管最多 1 个具有 50 条记录的域
  • dns.he.net —具有动态 DNS 支持的免费 DNS 托管服务
  • dnspod.com —免费的 DNS 托管。
  • duckdns.org —免费 DDNS,免费层最多包含 5 个域。带有各种设置的配置指南。
  • dynu.com —免费的动态 DNS 服务
  • fosshost.org-免费开源托管 VPS,Web,存储和镜像托管
  • freedns.afraid.org —免费的 DNS 托管
  • freenom.com —免费域名提供商。免费获取 FQDN。
  • luadns.com —免费的 DNS 托管,3 个域,所有功能都有合理的限制
  • namecheap.com —免费 DNS。域名数量无限制
  • noip —动态 dns 服务,每 30 天最多可免费提供 3 个主机名并进行确认
  • ns1.com —数据驱动 DNS,自动流量管理,500k 免费查询
  • pointhq.com — Heroku 上的免费 DNS 托管。
  • selectel.com —免费 DNS 托管,任意播
  • web.gratisdns.dk-免费的 DNS 托管。
  • Yandex.Connect —免费电子邮件和 DNS 托管,最多可容纳 1,000 个用户
  • zilore.com —免费的 DNS 托管。
  • zoneedit.com —具有动态 DNS 支持的免费 DNS 托管。
  • zonewatcher.com —自动备份和 DNS 更改监视。1 个域名免费
  • huaweicloud.com –华为免费 DNS 托管
  • dns.as207960.net —免费的 DNS 托管

IaaS

  • backblaze.com — Backblaze B2 云存储。免费 10 GB(类似于 Amazon S3)对象存储,不受时间限制
  • scaleway.com — S3 兼容的对象存储。75 GB 的免费存储空间和外部传出流量
  • www.terraform.io-地形云。免费的远程状态管理和团队协作,最多支持 5 个用户的团队。

数据库服务器

  • airtable.com —看起来像一个电子表格,但它是一个关系数据库,无限制的基础,每月 1,200 行,每月 1,000 个 API 请求
  • Elephantsql.com — PostgreSQL 即服务,免费 20 MB
  • FaunaDB —无服务器云数据库,具有本地 GraphQL,多模型访问和每日免费层达 5GB
  • graphenedb.com — Neo4j 即服务,最多 1,000 个节点和 10,000 个关系免费
  • heroku.com — PostgreSQL 即服务,最多 10,000 行和 20 个免费连接(提供为”附加组件”,但可以附加到原本为空的应用程序中并从外部访问)
  • MongoDB Atlas-免费套餐提供 512 MB
  • redsmin.com — Redis 的在线实时监视和管理服务,其中 1 个 Redis 实例免费
  • MemCachier —托管的 Memcache 服务。免费,最多 25MB,1 个代理服务器和基本分析
  • scaleo.com —主要是 PaaS,但提供了 128MB 至 192MB 的免费 MySQL,PostgreSQL 或 MongoDB 层
  • skyvia.com —云数据平台,提供免费套餐,并且处于 Beta 版时,所有计划都是完全免费的
  • remotemysql.com —远程 MySQL 数据库托管,设置是即时的,并使用 phpMyAdmin 进行管理,免费提供 100Mb 数据,免费备份,无查询限制和 99%的正常运行时间。
  • InfluxDB —时间序列数据库,最多提供 3MB / 5 分钟的写入,30MB / 5 分钟的读取和 10,000 个基数系列
  • Quickmetrics-包含仪表板的时间序列数据库,每天最多可释放 10,000 个事件,总共 5 个度量标准。
  • restdb.io-一种快速简单的 NoSQL 云数据库服务。使用 restdb.io,您可以获得架构,关系,自动 REST API(带有类似 MongoDB 的查询)以及用于处理数据的高效多用户管理 UI。免费计划允许每秒 3 个用户,2500 条记录和 1 个 API 请求。
  • 无限 -使用 Javascript 作为查询语言的 NoSQL DBaaS。免费套餐每月最多可允许 50,000 次读写。

STUN,WebRTC,Web 套接字服务器和其他路由器

  • veyor.cloud — Visual Studio 扩展,用于将 IIS Express 公开到本地网络或通过隧道公开到公共 URL。
  • Hamachi — LogMeIn Hamachi 是一项托管 VPN 服务,可让您通过免费计划将类似于 LAN 的网络安全地扩展到分布式团队,并允许最多 5 个人的无限网络
  • Radmin VPN-通过支持 LAN 状网络的 VPN 将多台计算机连接在一起。无限的同行。(Hamachi 替代)
  • localhost.run —立即共享您的 localhost 环境!无需下载。在端口 8080 上运行您的应用程序,然后运行此命令并共享 URL。
  • ngrok.com —通过隧道将本地运行的服务器公开到公共 URL。
  • segment.com-枢纽,可将事件翻译并路由到其他第三方服务。每月 100,000 个事件免费
  • serveo.net-使用 SSH 隧道将任何本地端口快速公开到伺服子域上的公共 Internet,其中包括 SSH GUI,可通过 HTTP 重放请求。
  • stun:global.stun.twilio.com:3478?transport = udp — Twilio STUN
  • stun:stun.l.google.com:19302 -Google STUN
  • webhookrelay.com —管理,调试,扇出并将所有 Webhook 代理到公共或内部(即 localhost)目标。另外,通过获取公共 HTTP 端点([http://liuyan.320.io/602721/yoursubdomain.webrelay.io](http://liuyan.320.io/602721/yoursubdomain.webrelay.io) <----> [http://liuyan.320.io/602721/localhost:8080](http://liuyan.320.io/602721/localhost:8080))来公开通过隧道在专用网络中运行的服务器。
  • ZeroTier(ZeroTier) — FOSS 管理的虚拟以太网即服务。免费计划的 100 个客户端的无限端到端加密网络。台式机/手机/ NA 的客户端;Web 界面,用于配置自定义路由规则并批准专用网络上的新客户端节点。

问题跟踪与项目管理

  • acunote.com —免费的项目管理和 SCRUM 软件,最多可容纳 5 个团队成员
  • asana.com —与合作者免费进行私人项目
  • Azure DevOps-无限的免费私人代码存储库;跟踪错误,工作项,反馈等
  • Basecamp-待办事项列表,里程碑管理,类似论坛的消息传递,文件共享和时间跟踪。最多 3 个项目,20 个用户和 1GB 的存储空间。
  • bitrix24.com —免费的内部网和项目管理工具
  • cacoo.com —实时在线图:流程图,UML,网络。最高免费  15 位使用者/图表,25 张
  • clickup.com —项目管理。具有云存储的免费高级版本。提供移动应用程序和 Git 集成
  • Cloudcraft-使用 Cloudcraft 视觉设计器在几分钟内设计出专业的架构图,该视觉设计器还针对 AWS 进行了优化,并具有可显示实时数据的智能组件。
  • 会所 -项目管理平台。永久免费,最多可容纳 10 个用户
  • Confluence -Atlassian 的内容协作工具,用于帮助团队高效地协作和共享知识。免费计划最多 10 位用户。
  • contriber.com —可定制的项目管理平台,免费的入门计划,5 个工作区
  • draw.io-在线图存储在本地,Google Drive,OneDrive 或 Dropbox 中。免费提供所有功能和存储级别
  • funretro.io —免费的简单直观的 Sprint 追溯工具
  • github.com —除了其 Git 存储功能外,GitHub 还提供基本的问题跟踪
  • Gitlab-为项目提供基本的问题跟踪。
  • gliffy.com —在线图:流程图,UML,线框,…也是 Jira 和 Confluence 的插件。5 张图和 2 MB 可用空间
  • GraphQL Inspector -GraphQL Inspector 输出两个 GraphQL 模式之间的更改列表。每次更改都经过精确解释,并标记为中断,不中断或危险。
  • huboard.com —针对 GitHub 问题的即时项目管理,免费提供开源
  • Instabug-针对移动应用程序的综合错误报告和应用程序内反馈 SDK。免费计划,最多 1 个应用程序和 1 个成员。
  • Ilograph- 交互式图表,使用户可以从多个角度和细节级别查看其基础结构。图可以用代码表示。免费套餐拥有无限的私人图表,最多可容纳 3 位观众。
  • Jira —在许多公司环境中使用的高级软件开发项目管理工具。免费计划最多 10 位用户。
  • kanbanflow.com —基于董事会的项目管理。免费的高级版本有更多选择
  • kanbantool.com —基于看板的项目管理。免费的付费计划,更多选择
  • kanrails.com —基于看板的项目管理。免费供 3 位合作者,2 个项目和 5 个曲目使用。付费计划可用于无限的合作者,项目和轨道。
  • Kumu.io —具有动画,装饰,过滤器,聚类,电子表格导入等的关系图。免费套餐允许无限的公共项目。图形大小不受限制。免费的学生私人项目。如果您不希望文件公开在线(上传,编辑,下载,丢弃),则可以使用沙盒模式。
  • LeanBoard —带有便笺的协作白板,可用于 GitHub 问题(用于示例映射和其他技术)
  • MeuScrum-具有看板的免费在线 Scrum 工具
  • Office 365 开发人员 -一年免费的 Office 365 E3 订阅,用于开发/测试。
  • Ora-敏捷任务管理和团队协作。最多可供 3 个用户免费使用,并且文件大小限制为 10 MB。
  • axisaltracker.com —免费提供无限的公共项目和两个私人项目,其中三个活动用户(读写)和无限的被动用户(只读)。
  • plan.io —具有存储库托管和更多选项的项目管理。2 位拥有 10 位客户和 500MB 存储空间的用户免费
  • planitpoker.com —免费的在线计划扑克(评估工具)
  • senseitool.com —敏捷的回顾工具-免费。
  • SpeedBoard-敏捷和 Scrum 回顾委员会-免费。
  • Tadum-专为定期会议而设计的会议议程和会议记录应用程序,最多 10 人的团队免费
  • taiga.io —适用于初创公司和敏捷开发人员的项目管理平台,免费提供给开源
  • targetprocess.com —可视项目管理,从看板和 Scrum 到几乎所有操作过程。无限用户免费使用,最多 1000 个数据实体{ 更多详细信息 }
  • taskade.com —团队的实时协作任务列表和大纲
  • taskulu.com —基于角色的项目管理。最多释放 5 个用户。与 GitHub / Trello / Dropbox / Google Drive 集成
  • testlio.com —问题跟踪,测试管理和 Beta 测试平台。免费供私人使用
  • terrastruct.com —专用于软件体系结构的在线图制作工具。每个图最多可有 4 层免费层。
  • todoist.com —协作和个人任务管理。提供免费,高级和团队计划。为符合条件的用户提供折扣。
  • trello.com —基于董事会的项目管理。无限个人董事会,10 个团队董事会。
  • ubertesters.com —测试平台,集成和人群测试器,2 个项目,5 个成员
  • vivifyscrum.com —用于敏捷项目管理的免费工具。Scrum 兼容
  • YouTrack —针对 FOSS 项目,私人项目免费托管的 YouTrack(InCloud)(3 个用户免费)。包括时间跟踪和敏捷板
  • zenhub.io — GitHub 内部唯一的项目管理解决方案。公共回购,OSS 和非营利组织免费
  • zepel.io-项目管理工具,可让您计划功能,跨学科协作以及一起构建软件。最多释放 5 名成员。没有功能限制。
  • zenkit.com —项目管理和协作工具。免费,最多 5 位成员,5 GB 附件。

存储和媒体处理

  • image4.io —使用 SDK,集成和迁移工具为网站和应用程序进行图像上传,强大的处理,存储和交付。免费套餐包括 25 个积分。1 个积分等于 1 GB 的 CDN 使用量,1GB 的存储量或 1000 个图像转换。
  • cloudimage.com —全面的图像优化和 CDN 服务,在全球拥有 1500 多个以上的站点。多种图像尺寸调整,压缩,水印功能。用于响应图像,360 图像制作和图像编辑的开源插件。25GB CDN 流量,25GB 高速缓存存储和无限制转换的免费月租计划。
  • cloudinary.com —使用 Ruby,Python,Java,PHP,Objective-C 等库,为网站和应用程序进行图像上传,强大的处理,存储和交付。永久免费套餐包括每月 7,500 张图像,2 GB 存储,5 GB 带宽
  • easyDB.io —一键式托管数据库提供程序。它们为开发目的提供了您选择的编程语言的数据库。该数据库是临时数据库,将在 24 天或 72 小时免费套餐后删除。
  • embed.ly —提供用于将媒体嵌入网页,响应图像缩放,从网页中提取元素的 API。免费,每月最多 5,000 个 URL,每秒 15 个请求
  • filestack.com —文件选择器,转换和交付,免费提供 250 个文件,500 个转换和 3 GB 带宽
  • gumlet.com图库照片调整大小。它还可以优化图像并通过 CDN 执行传送。免费套餐包括 1 GB 带宽,并在 1 年内每月提供无限数量的图像处理。
  • image-charts.com —带有水印的无限图像图表生成
  • jsonbin.io —免费的 JSON 数据存储服务,非常适合小型 Web 应用程序,网站,移动应用程序。
  • kraken.io —用于网站性能即服务的图像优化,免费计划最大文件大小为 1 MB
  • npoint.io —具有协作模式编辑的 JSON 存储
  • otixo.com —从一个位置加密,共享,复制和移动所有云存储文件。基本计划提供了最大 250 MB 的无限文件传输。文件大小,并允许 5 个加密文件
  • packagecloud.io —托管 YUM,APT,RubyGem 和 PyPI 的软件包存储库。有限的免费计划,可根据要求提供开源计划
  • piio.co —每个网站的响应式图像优化和交付。针对开发人员和个人网站的免费计划。包括免费 CDN,WebP 和延迟加载。
  • placeholder.com —快速简单的图像占位符服务
  • placekitten.com —一种快速简单的服务,用于获取小猫图片以用作占位符
  • plot.ly —图形化并共享您的数据。免费套餐包括无限的公共文件和 10 个私人文件
  • podio.com —您可以与多达五个人的团队一起使用 Podio,并尝试基本计划的功能,但用户管理除外
  • QuickChart —生成可嵌入的图像图表,图形和 QR 码
  • redbooth.com — P2P 文件同步,最多 2 个用户免费
  • 收缩 ray.io — GitHub 存储库的免费图像优化
  • tinypng.com —压缩和调整 PNG 和 JPEG 图像大小的 API,每月提供 500 次免费压缩
  • transloadit.com —处理文件上传以及视频,音频,图像,文档的编码。通过 GitHub Student Developer Pack 对开源,慈善机构和学生免费。商业应用程序可免费获得 2 GB 的测试驱动器

设计和 UI

  • Adobe XD-类似于 Sketch 的线框和原型工具。免费计划涵盖:1 个有效的共享设计规范,Adobe Fonts Free(有限字体集),2GB 的云存储。
  • Mockplus iDoc -Mockplus iDoc 是功能强大的设计协作和移交工具。免费计划包括 3 个用户和 5 个具有所有可用功能的项目。
  • AllTheFreeStock-免费的库存图片,音频和视频的精选列表。
  • clevebrush.com —免费的图形设计/照片拼贴应用程序,他们还提供付费集成作为组件。
  • cloudconvert.com —将任何内容转换为任何内容。208 种受支持的格式,包括视频到 gif。
  • CodeMyUI-带有代码片段的精选 Web 设计和 UI 灵感集合。
  • designer.io —用于 UI,插图等的设计工具。有一个本机应用程序。自由。
  • figma.com —用于团队的在线协作设计工具;免费套餐包括无限的文件和查看器,最多 2 个编辑器和 3 个项目。
  • imagebin.ca —用于图像的Pastebin
  • Invision App -UI 设计和原型制作工具。提供桌面和 webapp。可免费使用 1 个活动原型。
  • landen.co —为您的创业公司生成,编辑和发布漂亮的网站和登录页面。全部没有代码。免费套餐可让您拥有一个完全可自定义的网站,并可以在网络上发布。
  • lensdump.com-免费的云图像托管。
  • marvelapp.com —设计,原型制作和协作,免费计划仅限于一个用户和一个项目。
  • Mindmup.com —免费提供无限的思维导图,并将其存储在云中。您的思维导图可随时随地通过任何设备使用。
  • 铅笔 -使用 Electron 的开源设计工具。
  • pexels.com-商业使用的免费图片。有免费的 API,可让您按关键字搜索照片。
  • photopea.com —具有 Adobe Photoshop UI 的免费,高级在线设计编辑器,支持 PSD,XCF 和 Sketch 格式(Adobe Photoshop,Gimp 和 Sketch App)。
  • pixlr.com —具有商业水平的免费在线浏览器编辑器。
  • Proto.io-创建完全交互式的 UI 原型而无需编写代码。免费试用期结束后提供免费套餐。免费套餐包括:1 个用户,1 个项目,5 个原型,100MB 在线存储和 proto.io 应用程序中的预览。
  • resizeappicon.com —一种简单的服务,用于调整和管理应用程序图标的大小。
  • smartmockups.com —创建产品模型,200 个免费模型。
  • unDraw-不断更新的精美 svg 图像集合,您可以完全免费使用,而无需注明出处
  • unsplash.com-商业和非商业目的免费照片(随心所欲许可)。
  • vectr.com —用于 Web +桌面的免费设计应用程序。
  • walkme.com —企业级指导和参与平台,免费计划 3 次步行最多 5 步/步行。
  • Webflow-所见即所得的网站构建器,带有动画和网站托管。2 个项目免费。
  • whimsical.com-协作流程图,线框,便笺和思维导图。最多创建 4 个免费板。
  • Zeplin —设计师和开发人员协作平台。显示设计,资产和样式指南。1 个项目免费。
  • Pixelixe —在线创建和编辑引人入胜的独特图形和图像。
  • 响应式应用程序 -一个免费的开发工具,用于更快,更准确地响应式 Web 应用程序开发。
  • SceneLab-在线样机图形编辑器,包含不断扩展的免费设计模板集合
  • xLayers-将 Sketch 设计文件预览并将其转换为 Angular,React,Vue,LitElement,Stencil,Xamarin 等(在http://liuyan.320.io/602721/github.com/xlayers/xlayers 上免费和开源)

地图上的数据可视化

  • carto.com —从您的数据和公共数据创建地图和地理空间 API。
  • datamaps.world-一个简单而强大的平台,可为您提供免费层级可视化地理空间数据的工具。
  • developers.arcgis.com-适用于跨 Web,台式机和移动设备进行地图,地理空间数据存储,分析,地理编码,路由等的 API 和 SDK。1,000,000 次免费底图+地理编码交易,每月 40GB 免费图块+数据存储。
  • Foursquare-来自 Places API 和 Pilgrim SDK 的位置发现,场所搜索和上下文感知内容。
  • geocod.io-通过 API 或 CSV 上传进行地理编码。每天 2,500 个免费查询。
  • geocodify.com —通过 API 或 CSV 上传进行地理编码和地理解析。每月免费查询 1 万次。
  • giscloud.com —在线可视化,分析和共享地理数据。
  • gogeo.io —具有易于使用的 API 和对大数据的支持的地图和地理空间服务。
  • graphhopper.com为开发人员提供了免费的软件包,用于路由,路线优化,距离矩阵,地理编码,地图匹配。
  • 此处 -用于地图和位置感知应用的 API 和 SDK。每月免费进行 25 万笔交易。
  • mapbox.com —地图,地理空间服务和用于显示地图数据的 SDK。
  • maptiler.com图库矢量图片地图,地图服务和用于可视化的 sdk。具有每周更新和四种地图样式的免费矢量瓷砖。
  • opencagedata.com —整合 OpenStreetMap 和其他开放地理资源的地理编码 API。每天 2,500 个免费查询。
  • osmnames-地理编码,搜索结果按相关 Wikipedia 页面的受欢迎程度排名。
  • positionstack-用于全球位置和坐标的免费地理编码。每月有 25.000 个个人使用请求。
  • stadiamaps.com —地图图块,路线,导航和其他地理空间 API。每天有 2,500 幅免费地图视图和 API 请求,用于非商业用途和测试。

包构建系统

IDE 和代码编辑

  • Apache Netbeans-开发环境,工具平台和应用程序框架。
  • apiary.io —带有即时 API 模拟和生成的文档的协作设计 API(免费提供无限的 API 蓝图和具有一个管理员帐户和托管文档的无限用户)。
  • Atom -Atom 是一个基于 Electron 的可入侵文本编辑器。
  • cacher.io —具有标签的代码片段组织器,并支持 100 多种编程语言。
  • codesnip.com.br —具有类别,搜索和标签的简单代码段管理器。自由和无限。
  • cocalc.com —(以前是 cloud.sagemath.com 上的 SageMathCloud)—云中的协作计算。浏览器可访问具有内置协作功能的完整 Ubuntu 以及许多用于数学,科学,数据科学的免费软件,并且预装了以下软件:Python,LaTeX,Jupyter Notebooks,SageMath,scikitlearn 等。
  • codepen.io — CodePen 是 Web 前端侧的游乐场。
  • codesandbox.io — React,Vue,Angular,Preact 等的在线游乐场。
  • Eclipse Che-用于开发人员团队的基于 Web 的 Kubernetes-Native IDE,具有多语言支持。开源和社区驱动。托管版本可从che.openshift.io获得。
  • fakejson.com — FakeJSON 可帮助您使用其 API 快速生成假数据。发出一个 API 请求,描述您想要的东西和想要的方式。API 以 JSON 返回所有内容。加快进入市场的过程,寻找创意,并加以伪造,直到实现为止。
  • gitpod.io —用于 GitHub 项目的即时,可编写代码的开发环境。免费开源。
  • ide.goorm.io goormIDE 是云上的完整 IDE。多语言支持,通过功能齐全的基于 Web 的终端通过基于 Linux 的容器,端口转发,自定义 URL,实时协作和聊天,共享链接,Git / Subversion 支持。还有更多功能(免费套餐包括每个容器 1GB RAM 和 10GB 存储空间,5 个容器插槽)。
  • JDoodle —用于 60 多种编程语言的在线编译器和编辑器,并提供免费的 REST API 代码计划,每天最多可编译 200 个积分。
  • jetbrains.com —生产力工具,IDE 和部署工具(又名IntelliJ IDEAPyCharm等)。为学生,教师,开源和用户组提供免费许可证。
  • jsbin.com — JS Bin 是前端 Web 的另一个游乐场和代码共享站点(HTML,CSS 和 JavaScript。还支持 Markdown,Jade 和 Sass)。
  • jsfiddle.net — JS Fiddle 是前端 Web 的游乐场和代码共享站点,也支持协作。
  • JSONPlaceholder一些 REST API 终结点,它们以 JSON 格式返回一些虚假数据。如果要在本地运行服务器,也可以使用源代码。
  • Katacoda —用于软件工程师的交互式学习和培训平台,可帮助开发人员学习和提高公司的采用率。
  • micro-jaymock-用于生成虚假 JSON 数据的微型 API 模拟微服务。
  • mockable.io — Mockable 是一个简单的可配置服务,用于模拟 RESTful API 或 SOAP Web 服务。此在线服务使您可以快速定义 REST API 或 SOAP 端点,并使它们返回 JSON 或 XML 数据。
  • mockaroo — Mockaroo 使您可以生成 CSV,JSON,SQL 和 Excel 格式的真实测试数据。您还可以为后端 API 创建模拟。
  • Mocklets-一种基于 HTTP 的模拟 API 模拟器,可帮助您模拟 API,以实现更快的并行开发和更全面的测试,并具有终身免费使用期限。
  • repl.it —用于各种程序语言的云编码环境。
  • stackblitz.com — Angular&React 在线 VS Code IDE。
  • Visual Studio Code-重新定义和优化了代码编辑器,用于构建和调试现代 Web 和云应用程序。由 Microsoft 针对 Windows,macOS 和 Linux 开发。
  • Visual Studio 社区 —具有数千个扩展功能的全功能 IDE,跨平台应用程序开发(可从 iOS 和 Android 下载的 Microsoft 扩展程序),台式机,Web 和云开发,多语言支持(C#,C ++,JavaScript,Python, PHP 等)。
  • VSCodium-社区驱动,无需遥测/跟踪,并且免费授予 Microsoft 编辑器 VSCode 的二进制发行版
  • wakatime.com —使用文本编辑器插件免费提供有关您编码活动的量化自我指标,有限计划。

分析,事件和统计

  • howuku.com —跟踪用户的互动,参与和事件。免费,每月最多访问 5,000 次
  • 振幅.com —每月百万次事件,最多 2 个应用
  • analytics.google.com -Google Analytics(分析)
  • expensify.com —费用报告,免费的个人报告批准工作流程
  • getinsights.io-注重隐私,无 cookie 的分析,每月最多可进行 5k 次活动。
  • heap.io —自动捕获 iOS 或 Web 应用程序中的每个用户操作。免费,每月最多访问 5,000 次
  • hotjar.com —每个站点:每天 2,000 页浏览量,3 张热图,存储 3 个月的数据,…
  • imprace.com —着陆页分析,其中包含提高跳出率的建议。免费 5 个登陆页面/域
  • keen.io —用于数据收集,分析和可视化的自定义分析。每月 50,000 个事件免费
  • metrica.yandex.com —无限的免费分析
  • mixpanel.com —在您的站点上免费获得 25,000 点或 200,000 点带有其徽章的信息
  • Moesif —用于 REST 和 GraphQL 的 API 分析。(每月最多免费提供 500,000 个 API 调用)
  • optimize.com — A / B 测试解决方案,免费入门计划,1 个网站,1 个 iOS 和 1 个 Android 应用程序
  • Quantcast.com —无限的免费分析
  • sematext.com —每月最多可进行 5 万次操作,1 天数据保留,无限制仪表板,用户等,免费。
  • usabilityhub.com —在真实的人身上测试设计和模型,跟踪访客。一位用户免费,无限制测试
  • www.heatlyanalytics.com —免费的热图工具,用于了解 UI / UX。

访客会议记录

  • FullStory.com —每月 1,000 次会话,具有 1 个月的数据保留和 3 个用户席位。更多信息在这里
  • hotjar.com —每个站点:每天 2,000 页浏览量,3 张热图,存储 3 个月的数据,…
  • inspectlet.com — 1 个网站每月免费提供 100 次会话
  • livesession.io — 1 个网站每月免费 1,000 次会话
  • mouseflow.com — 1 个网站每月免费提供 100 次会话
  • mousestats.com — 1 个网站每月免费提供 100 次会话
  • smartlook.com —适用于 Web 和移动应用程序的免费软件包(每月 1500 个会话),3 个热图,1 个渠道,1 个月的数据历史记录
  • usersurge.com —个人每月有 25 万个会话。

国际手机号码验证 API 和 SDK

  • cognalys.com —通过创新和可靠的方法(而不是使用 SMS 网关)进行免费增值电话号码验证。每天免费 10 次尝试和 15 次验证
  • numverify.com —全局电话号码验证和查找 JSON API。每月 250 个 API 请求
  • veriphone.io —使用免费,快速,可靠的 JSON API 进行全局电话号码验证。每月 1000 个请求

付款和账单整合

  • currencyapi.net —实物和加密货币的实时货币汇率,以 JSON 和 XML 格式提供。免费套餐每月提供 1,250 个 API 请求。
  • currencylayer.com —为您的企业提供可靠的汇率和货币换算,每月免费提供 1,000 个 API 请求
  • currencystack.io -154 种货币的生产就绪型实时汇率。
  • exchangerate -api.com-易于使用的货币转换 JSON API。免费套餐,无请求限制。
  • 欺诈实验室 —帮助商家防止付款欺诈和拒付。每月提供 500 个查询的免费 Micro Plan。
  • mailpop.in-通过上下文信息充分利用您的 Stripe 通知。
  • vatlayer.com —即时增值税号码验证和欧盟增值税税率 API,每月免费 100 个 API 请求

Docker 相关

  • canister.io —为开发人员提供 20 个免费的私有存储库,为团队构建和存储 Docker 映像提供 30 个免费的私有存储库
  • Docker Hub —一个免费的私有存储库和无限的公共存储库,用于构建和存储 Docker 映像
  • Gitlab-每个仓库容器注册表。上限为 10GB。
  • 与 Docker 一起玩 -一个简单,互动且有趣的游乐场,以学习 Docker。
  • quay.io —使用无限的免费公共存储库构建和存储容器映像
  • 鲸鱼 -一种免费自动对您的应用程序进行泊坞工具的工具。

流浪者相关

开发博客网站

  • dev.to-程序员共享思想并互相帮助的地方。
  • hashnode.com —适用于开发人员的无忧博客软件!
  • medium.com —变得更重要。

评论平台

  • ReplyBox -ReplyBox,一个简单,诚实的评论系统。没有广告,没有狡猾的会员链接,没有绒毛。
  • Staticman -Staticman 是一个 Node.js 应用程序,它接收用户生成的内容,并使用 Pull Requests 将其作为数据文件上传到 GitHub 和/或 GitLab 存储库。
  • GraphComment -GraphComment 是一个注释平台,可帮助您从网站的受众群体建立活跃的社区。
  • 话语 -一个轻量级的评论小部件内置在 GitHub 上的问题。将 GitHub 问题用于博客评论,Wiki 页面等!
  • Disqus -Disqus 是一个网络社区平台,网络上成千上万的站点使用该平台。

屏幕截图 API

  • ApiFlash —基于Aws Lambda 和 Chrome 的屏幕截图 API。处理整页,捕获时间,视口尺寸,…
  • microlink.io –它将任何网站转换为数据,例如元标记标准化,美容链接预览,抓取功能或屏幕截图即服务。每天免费提供 250 请求。
  • ScreenshotAPI.net-屏幕快照 API 使用一个简单的 API 调用即可生成任何网站的屏幕截图。构建规模并托管在 Google Cloud 上。每月提供 100 张免费屏幕截图。
  • screenshotlayer.com —捕获任何网站的高度可定制的快照。每月免费 100 张快照
  • screenshotmachine.com —每月捕获 100 个快照,png,gif 和 jpg,包括全长捕获,而不仅仅是主页
  • WWW2PNG-通过基本自定义捕获任何网站的屏幕截图。包括自动区块链锚定和全页捕获。完全免费的服务。

  • 代码时间 -VS Code,Atom,IntelliJ,Sublime Text 等中的时间跟踪和编码指标的扩展。
  • ConfigCat-跨平台功能标志服务。适用于所有主要语言的 SDK。免费计划,每月最多 10 个标志,2 个环境,1 个产品和 5 百万个请求。无限的用户席位。学生每月免费获得 100 面旗帜和 1 亿个请求。
  • docsapp.io-免费发布开源文档的最简单方法
  • Filly-通过重复使用以前在您的应用程序上完成的手动操作来增强您的 Web 开发工作流程。填写表格以改善团队协作。
  • FOSSA-可扩展的端到端管理,用于第三方代码,许可证合规性和漏洞。
  • fullcontact.com —通过在您的应用程序中添加社交资料来帮助您的用户更多地了解他们的联系人。每月 500 次免费的 Person API 匹配
  • http2.pro -HTTP / 2 协议准备测试和客户端 HTTP / 2 支持检测 API。
  • newreleases.io-从 GitHub,GitLab,Bitbucket,Python PyPI,Java Maven,Node.js NPM,Node.js Yarn,Ruby Gems,PHP Packagist 等新版本发布的电子邮件,Slack,Telegram,Discord 和自定义 Webhooks 上接收通知。 NET NuGet,Rust Cargo 和 Docker Hub。
  • PDFMonkey —在仪表板中管理 PDF 模板,使用动态数据调用 API,下载 PDF。每月提供 1000 个免费文档。
  • readme.com —易于使用的精美文档,可免费获得开源软件:请参见此处
  • ReqBin —在线发布 HTTP 请求。流行的请求方法包括 GET,POST,PUT,DELETE 和 HEAD。支持标题和令牌认证。包括用于保存您的请求的基本登录系统。
  • superfeedr.com —实时兼容PubSubHubbub 的提要,导出,分析。免费,定制更少
  • SurveyMonkey.com —创建在线调查。在线分析结果。免费计划每次调查仅允许 10 个问题和 100 个答复。
  • videoinu —在线创建和编辑屏幕录像和其他视频

其他免费资源

模板引擎 art-template 记录

1. 关于

art-template 是一个简约、超快的模板引擎,相类似的还有百度模版引擎等。
它采用作用域预声明的技术来优化模板渲染速度,从而获得接近 JavaScript 极限的运行性能,并且同时支持 NodeJS 和浏览器。

2.安装

  • 通过 npm 安装: npm install art-template --save
  • 下载安装

2.1 编译

因为浏览器不支持文件系统,所以 template(filename, data) 不支持传入文件路径,它内部使用 document.getElementById(filename).innerHTML 来获取模板,例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
<!-- 引入template-web.js -->
<script src="./node_modules/art-template/lib/template-web.js"></script>
</head>
<body>
<div id="container"></div>
<!-- 创建 script 标签创建模板,注意下面几点 -->
<!-- 1. type="text/该斜杠后可以是 html,template... 不是script即可)" -->
<!-- 2. 给 script 标签添加 id ,此 id 即为模板 id -->
<!-- 3.模板 script 标签必须在 template() 方法调用的 script 标签之前 -->
<script type="text/html" id="tpl">
{{if user}}
<h2>{{user.name}}</h2>
{{/if}}
</script>
<script>
var user = {
name: "Template username",
};
var html = template("tpl", { user: user });
var container = document.querySelector("#container");
container.innerHTML = html;
</script>
</body>
</html>

3. 语法

art-template 同时支持两种模板语法。标准语法可以让模板更容易读写;原始语法具有强大的逻辑处理能力。

art-template 支持标准语法与原始语法。标准语法可以让模板易读写,而原始语法拥有强大的逻辑表达能力。
标准语法支持基本模板语法以及基本 JavaScript 表达式;原始语法支持任意 JavaScript 语句,这和 EJS 一样。

3.1 模版绑定

1
2
3
4
5
// 标准语法 {{if user}}
<h2>{{user.name}}</h2>
{{/if}} // 原始语法 <% if (user) { %>
<h2><%= user.name %></h2>
<% } %>

3.2 自定义输出

1
2
3
// 标准语法 {{value}} {{data.key}} {{data['key']}} {{a ? b : c}} {{a || b}} {{a
+ b}} // 原始语法 <%= value %> <%= data.key %> <%= data['key'] %> <%= a ? b : c
%> <%= a || b %> <%= a + b %>

3.3 原文输出

1
// 标准语法 {{@ value}} // 原始语法 <%- value %>

3.4 条件输出

1
2
3
4
5
6
7
8
9
10
11
12
13
// 标准语法

<!-- 单 if 判断 -->
{{if value}} ... {{/if}}

<!-- if ... else ... 判断 -->
{{if v1}} ... {{else if v2}} ... {{/if}} // 原始输出

<!-- 单 if 判断 -->
<% if (value) { %> ... <% } %>

<!-- if ... else ... 判断 -->
<% if (v1) { %> ... <% else if (v2) { %> ... <% } %>

3.5 循环输出

target是一个数组,each用于对数组遍历,$index  是数组的下标, $value是数组的值,并且target  支持  array  与object  的迭代,其默认值为  $data

1
2
// 标准语法 {{each target}} {{$index}} {{$value}} {{/each}} // 原始语法 <% for
(var i = 0; i < target.length; i++) { %> <%= i %> <%= target[i] %> <% } %>

3.6 自定义变量

1
2
// 标准语法 {{set temp = data.sub.content}} // 原始语法 <% var temp =
data.sub.content %>

3.7 模板继承

模板继承允许你构建一个包含站点共同元素的基本“模板骨架”

1
2
3
// 标准语法 {{extend './layout.html'}} {{block 'head'}} ... {{/block}} //
原始语法 <% extend ('./layout.html') %> <% block('head', function () { %> ... <%
}) %>

3.8 子模版

1
2
// 标准语法 {{include './header.art'}} {{include './header.art' data}} //
原始语法 <% include('./header.art') %> <% include('./header.art', data) %>

4. 调试器

art-template 内建调试器,能够捕获到语法与运行错误,并且支持自定义的语法。在 NodeJS 中调试模式会根据环境变量自动开启:process.env.NODE_ENV !== 'production'
设置 template.defaults.debug=true 后,等同于:

1
{ "cache": false, "minimize": false, "compileDebug": true }

5. 模板变量

template.defaults.imports模板通过 $imports 可以访问到模板外部的全局变量和导入的变量。

5.1 变量使用

template.defaults.imports.log = console.log;
<% $imports.log('Hello, template.defaults.imports.log') %>

5.2 内置变量清单

  • $data      传入模板的数据;
  • $imports 外部导入的变量以及全局变量;
  • print      字符串输出函数;
  • include   子模板载入函数
  • extend     模板继承模板导入函数
  • block      模板块生命函数

引用:https://www.jianshu.com/p/d8d8e19157e0

记录好用的VSCode扩展

记录VSCode编辑器的神级扩展们,可以在编辑器中直接搜索扩展名安装体验。

vscode-icons

插件用途: 在项目文件列表里替换默认的文件图标,图标很精美,更方便查找。

One Dark Pro

插件用途: 很漂亮的主题配色,比自带的那些配色看起来舒服,配合 mac 屏幕很实用。

Draw.io Integration

插件用途: Draw.io可以用来画“思维导图”、“流程图”、”原型图”、“UML”、“BPMN”等。它的官网域名是https://draw.io,可以直接以浏览器或者安装桌面应用使用。它保存的是矢量数据,可以导出位图。
用法示例: 创建drawio后缀名的文件即可打开使用。

Project Manager

插件用途: 可以保存常用项目到列表里,可以用点击的方式切换到不同项目。
用法示例: 本扩展的操作入口名为PROJECT MANAGER,与资源管理器搜索等按钮图标同级。

GitLens — Git supercharged

插件用途: 当用户选中当前文件代码的某一行时,自动展示当前行的上一次git commit作者、备注及时间。也可以点击资源管理器左侧的GitLens图标,查看当前文件的git commit所有历史。

Prettier - Code formatter

插件用途: 强制约束前端代码风格,适合大型团队协作。但是因为格式化后的风格并不适合所有人,所以并不推荐个人项目使用。

Beautify

插件用途: 可以格式化Javascript,JSON,CSS,Sass,HTML代码,支持的语言比Prettier少,约束更弱,不会提示代码风格的错误,使用更友好。

Quokka.js

插件用途: 实时运行,展示当前代码的结果,支持JavascriptTypeScript语言。
用法示例: 快捷键command + p,输入>quokka,选择要使用的功能。

Bracket Pair Colorizer

插件用途: 高亮显示成对的括号字符。

HTML Snippets

插件用途: 简写html代码,按Tab键自动生成代码片段。
用法示例: 如输入div + Tab生成<div></div>,或输入html:5 + Tab生成html5的页面结构。

Auto Rename Tag

插件用途: 编辑html,xml标签名时,自动修改前置或后置的对应标签名。

[Android] 读图进度条

HoverProcessView

半透明镂空、圆形、动画 的进度条,仿微信和微博

特征:

  • 仿微信和微博的镂空半透明圆形进度

  • 支持开启和关闭动画

  • 背景支持圆角矩形

  • layout

1
2
3
4
5
6
7
8
9
10
11
<com.wuadam.hoverprocess.HoverProcessView
android:id="@+id/process"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:duration="1000"
app:hoverColor="#80000000"
app:max="100"
app:progress="30"
app:radius="48dp"
app:ringWidth="4dp"
app:roundCornerRadius="8dp" />

JAVA

1
HoverProcessView process = findViewById(R.id.process);

动画模式

1
process.setProgress(50, true);

无动画模式

1
process.setProgress(50, false);

无限模式

1
2
process.startInfiniteProgress();
process.stopInfiniteProgress();

onDestroy:

1
process.stop();

转载来源:

https://github.com/hzw1199/HoverProcessView

Linux VPS 挂载磁盘

一、挂载 EXT3 格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
[root@MyVPS ~]# fdisk -l (查看磁盘分区)
Disk /dev/xvdb: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/xvdb doesn't contain a valid partition table
Disk /dev/xvda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/xvda1 * 1 13 104391 83 Linux
/dev/xvda2 14 1044 8281507+ 8e Linux LVM
/dev/xvda3 1045 1305 2096482+ 8e Linux LVM
[root@MyVPS ~]# df -hal //*查看已划分区空间使用情况*//
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
9.3G 1.2G 7.7G 13% /
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
devpts 0 0 0 - /dev/pts
/dev/xvda1 99M 29M 66M 31% /boot
tmpfs 151M 0 151M 0% /dev/shm
none 0 0 0 - /proc/sys/fs/binfmt_misc
sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs
[root@MyVPS ~]# fdisk /dev/xvdb //*对硬盘/dev/xvdb进行增加分区操作*//
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n //*输入n新建分区*//
Command action
e extended
p primary partition (1-4)
p //*输入p主分区*//
Partition number (1-4): 1 //*输入1第一个分区*//
First cylinder (1-913, default 1): //*回车跳过*//
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-913, default 913): //*回车跳过*//
Using default value 913
Command (m for help): w //*输入W保存退出*//
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@MyVPS ~]# mkfs -t ext3 /dev/xvdb1 //*将新分区xvdb1(此名称因系统而异,后缀+1)格式化为ext3格式*//
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
917504 inodes, 1833410 blocks
91670 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1879048192
56 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@MyVPS ~]# mount /dev/xvdb1 /home //*将新分区xvdb1挂载到目录/home*//
[root@MyVPS ~]# df -hal
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
9.3G 1.2G 7.7G 13% /
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
devpts 0 0 0 - /dev/pts
/dev/xvda1 99M 29M 66M 31% /boot
tmpfs 151M 0 151M 0% /dev/shm
none 0 0 0 - /proc/sys/fs/binfmt_misc
sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs
/dev/xvdb1 6.9G 144M 6.4G 3% /home
[root@MyVPS ~]# echo "/dev/xvdb1 /home ext3 defaults 1 2" >> /etc/fstab //*添加开机自动挂载*//
//*至此硬盘挂载成功*//

二、挂载 LVM 格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
[root@MyVPS ~]# fdisk -l //*查看硬盘分区情况*//
Disk /dev/xvda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/xvda1 * 1 13 104391 83 Linux
/dev/xvda2 14 1044 8281507+ 8e Linux LVM
/dev/xvda3 1045 1305 2096482+ 8e Linux LVM
Disk /dev/xvdb: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/xvdb doesn't contain a valid partition table
[root@MyVPS ~]#df -hal //*查看已划分区空间使用情况*//
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
9.3G 1.2G 7.7G 13% /
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
devpts 0 0 0 - /dev/pts
/dev/xvda1 99M 29M 66M 31% /boot
tmpfs 151M 0 151M 0% /dev/shm
none 0 0 0 - /proc/sys/fs/binfmt_misc
sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs
[root@MyVPS ~]#fdisk /dev/xvdb //*对硬盘/dev/xvdb进行增加分区操作*//
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help):n //*输入n新建分区*//
Command action
e extended
p primary partition (1-4)
p //*输入p,主分区*//
Partition number (1-4): 1 //*由于xvdb还没有分区.我们这里输入1.第1个分区*//
First cylinder (1-913, default 1)://*回车跳过*//
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-913, default 913)://*回车跳过*//
Using default value 913
Command (m for help): t //*通过t来指定分区系统格式*//
Selected partition 1
Hex code (type L to list codes):8e //*输入8e LVM系统格式*//
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help):w //*输入w保存退出*//
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@MyVPS ~]#reboot //*重启使之生效*//
Broadcast message from root (pts/0) (Mon Aug 15 00:43:03 2011):
The system is going down for reboot NOW!
[root@MyVPS ~]#
Connection closed by foreign host.
Type `help' to learn how to use Xshell prompt.
Xshell:\>
Connecting to :22...
Connection established.
Escape character is '^@]'.
Last login: Mon Aug 15 00:41:06 2011 from
[root@MyVPS1280 ~]#fdisk -l //*查看硬盘分区情况*//
Disk /dev/xvda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/xvda1 * 1 13 104391 83 Linux
/dev/xvda2 14 1044 8281507+ 8e Linux LVM
/dev/xvda3 1045 1305 2096482+ 8e Linux LVM
Disk /dev/xvdb: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/xvdb1 1 913 7333641 8e Linux LVM
[root@MyVPS1280 ~]#pvcreate /dev/xvdb1 //*创建物理卷*//
Physical volume "/dev/xvdb1" successfully created
[root@MyVPS1280 ~]#vgextend VolGroup00 /dev/xvdb1 //*将物理卷加入到组VolGroup00 *//
Volume group "VolGroup00" successfully extended
[root@MyVPS1280 ~]# vgdisplay //*查看物理卷组情况.可以看到我们有6.97G的容量可以扩展*//
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 6
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 3
Act PV 3
VG Size 16.81 GB
PE Size 32.00 MB
Total PE 538
Alloc PE / Size 315 / 9.84 GB
Free PE / Size 223 / 6.97 GB
VG UUID ONGPxy-HBvY-xrrQ-IjEW-PIiO-2cX7-tg6tuI
[root@MyVPS1280 ~]# lvresize -L +6G /dev/VolGroup00/LogVol00 //*扩容6G(我们第一次加6G)*//
Extending logical volume LogVol00 to 15.59 GB
Logical volume LogVol00 successfully resized
[root@MyVPS1280 ~]#resize2fs /dev/VolGroup00/LogVol00 //*动态扩容分区大小*//
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/VolGroup00/LogVol00 to 4087808 (4k) blocks.
The filesystem on /dev/VolGroup00/LogVol00 is now 4087808 blocks long.
[root@MyVPS1280 ~]# vgdisplay //*查看物理卷组情况.可以看到我们还有992M的容量可以扩展*//
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 3
Act PV 3
VG Size 16.81 GB
PE Size 32.00 MB
Total PE 538
Alloc PE / Size 507 / 15.84 GB
Free PE / Size 31 / 992.00 MB
VG UUID ONGPxy-HBvY-xrrQ-IjEW-PIiO-2cX7-tg6tuI
[root@MyVPS1280 ~]# lvresize -L +992M /dev/VolGroup00/LogVol00 //*扩容992M(我们第2次加992M)*//
Extending logical volume LogVol00 to 16.56 GB
Logical volume LogVol00 successfully resized
[root@MyVPS1280 ~]# resize2fs /dev/VolGroup00/LogVol00 //*动态扩容分区大小*//
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/VolGroup00/LogVol00 to 4341760 (4k) blocks.
The filesystem on /dev/VolGroup00/LogVol00 is now 4341760 blocks long.
[root@MyVPS1280 ~]#vgdisplay //*最后再查看扩容完没有 可以看到已经扩容完毕*//
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 8
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 3
Act PV 3
VG Size 16.81 GB
PE Size 32.00 MB
Total PE 538
Alloc PE / Size 538 / 16.81 GB
Free PE / Size 0 / 0
VG UUID ONGPxy-HBvY-xrrQ-IjEW-PIiO-2cX7-tg6tuI
[root@MyVPS1280 ~]# df -hal //*查看已划分区空间使用情况 可以看到我们挂载成功*//
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
17G 1.2G 15G 8% /
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
devpts 0 0 0 - /dev/pts
/dev/xvda1 99M 29M 66M 31% /boot
tmpfs 151M 0 151M 0% /dev/shm
none 0 0 0 - /proc/sys/fs/binfmt_misc
sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs
//*至此硬盘挂载成功*//

三、常见问题

Q1 挂载过程中错误如何卸载

1
2
3
4
5
6
mount /dev/xvdb1 /mnt
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 40G 1.5G 36G 4% /
tmpfs 498M 0 498M 0% /dev/shm
/dev/xvdb1 5.0G 139M 4.6G 3% /mnt

使用命令卸载:umount /dev/xvdb1  假如提示设备忙碌,无法卸载,请尝试硬卸载  fuser -km /dev/xvdb1

CentOS离线环境解决安装与依赖方案

先前提要

内网无外网需要安装环境

整理准备

下载 CentOS 光盘完整版镜像
以 CentOS 6.x 为例,因为低版本 CentOS 的 nginx 是 epel,并且缺少 everything
下载地址:https://vault.centos.org/6.5/isos/x86_64/https://mirrors.aliyun.com/centos-vault/6.9/isos/x86_64/(6.x 都行)
以 CentOS 7 为例,目前是国内环境,我们使用国内 163 源的镜像 http://mirrors.163.com/centos/7/isos/x86_64/ ,当然阿里云、华中科大的源都行。
下载地址:http://mirrors.163.com/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-2009.iso
然后将这个 iso 文件上传到服务器 /root 目录下:
cd /root && wget http://mirrors.163.com/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-2009.iso

挂载 yum 本地库

于 CentOS 6.x

1.1 查看光驱

cd /home

1.2 挂载 iso 文件
mkdir /mnt/dvd && mount -o loop CentOS-6.5-x86_64-bin-DVD1.iso /mnt/dvd
mount iso 镜像文件,关键参数为-o loop,CentOS 6 之类的版本,可以 mkdir /mnt/dvd2,再参考前面的命令将第二张挂载到 /mnt/dvd2 上,更多请查看https://www.cnblogs.com/pumpkinhlk/p/14981770.html

这样就将光盘挂载 /mnt/dvd 目录了。
当然这个挂载命令只是一次性的,系统重启或者自己 umount 后就没了,需要使用本地源 yum 安装时需要线执行这个挂载命令。

1.3 修改安装源

将/etc/yum.repos.d 目录下,将里面存在的所有 repo 文件重新命名或者备份到其他目录下
cd /etc/yum.repos.d/ && rename .repo .repo.backup *.repo

1.4 修改配置文件

在/etc/yum.repos.d 目录下新建一个配置文件来设置本地源。
名称取为 local.repo 文件内容以及命令解释如下

1
2
3
4
5
6
7
[local-media]
name=CentOS-$releasever-Media
baseurl=file:///mnt/dvd/ #(yum源目录,源地址)
enabled=1 #(是否启用该yum源,0为禁用)
gpgcheck=1 #(检查GPG-KEY,0为不检查,1为检查)
#gpgkey=file:///mnt/dvd/RPM-GPG-KEY-CentOS-6 #(gpgcheck=0时无需配置,或可后期赋权)
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

1.5 私钥权限赋值

sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

1.6 清理 yum 缓存

yum clean all
同时将服务器上的软件包信息先在本地缓存,以提高搜索安装软件的速度
yum makecache

1.7 测试 yum 源

yum list

于 CentOS 7.x

2.1 挂载

将 iso 文件拷贝到机器的某个目录下,比如  /home 目录下
cd /home
使用 mount 命令将 iso 文件挂载到某个目录下
mount -t auto /home/CentOS-7-x86_64-DVD-1611.iso /mnt

  • 这个时候使用命令 df -lh 可以看到挂载的目录。
  • 在实验环境中,命令执行完毕之后可以看到如下内容:

/dev/loop0 4.1G 4.1G 0 100% /mnt

2.2 修改安装源的配置文件

1
2
3
4
5
[centos7-local]
name=CentOS-7-x86_64
baseurl=file:///mnt/
enabled=1
gpgcheck=1

2.3 私钥权限赋值

sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

2.4 清除 yum 缓存

yum clean all

2.5 测试 yum 源

yum list

恢复 yum 网络源

倘若希望恢复网络源,可以将备份的 yum 源配置文件覆盖掉刚才生成的本地源配置文件
cd /etc/yum.repos.d/ && rename .repo.backup .repo *.repo.backup

keepalived 安装

所需前置
Keepalived_2.0.20
注意太高版本在 CentOS 无法编译安装

安装依赖

yum install -y openssl openssl-devel gcc-c++
如之前没有挂在本地 yum 库,可以参考如何离线安装 openssl-devel等方法

解压编译安装

1
2
3
4
5
tar -zxvf keepalived-2.0.20.tar.gz
cd keepalived-2.0.20
./configure --prefix=/usr/local/keepalived
make
make install

注册服务

1
2
3
4
5
6
7
8
9
mkdir /etc/keepalived
cp /usr/local/keepalived-2.0.20/keepalived/etc/init.d/keepalived /etc/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/sbin/keepalived /usr/sbin/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/

# 最后把配置文件和执行文件移到指定文件夹中
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/

修改配置文件

于/etc/keepalived/文件夹内

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
! Configuration File for keepalived

global_defs {
router_id bhz006
}

vrrp_script chk_nginx {
script "/etc/keepalived/nginx_check.sh" #运行脚本,脚本内容下面有,就是起到一个nginx宕机以后,自动开启服务
interval 2 #检测时间间隔
weight -20 #权重
}
# 定义虚拟路由,VI_1 为虚拟路由的标示符,自己定义名称
vrrp_instance VI_1 {
state MASTER #来决定主从
  interface eth0 # 绑定虚拟 IP 的网络接口,根据自己的机器填写,可通过ifconfig查询
virtual_router_id 222 # 虚拟路由的 ID 号
mcast_src_ip 68.174.25.208 #填写本机ip
priority 100 # 节点优先级,主要比从节点优先级高
nopreempt # 优先级高的设置 nopreempt 解决异常恢复后再次抢占的问题
advert_int 1 # 组播信息发送间隔,两个节点设置必须一样,默认 1s
authentication {
auth_type PASS
auth_pass 111
}
# 将 track_script 块加入 instance 配置块
track_script {
chk_nginx #执行 Nginx 监控的服务
}

virtual_ipaddress {
68.174.25.4 # 主从要一致,虚拟ip,也就是解决写死程序的ip怎么能切换的ip,也可扩展,用途广泛。可配置多个。
}
}

其中 nginx_check 脚本

1
2
3
4
5
6
7
8
9
#!/bin/bash
A=`ps -C nginx 每no-header |wc -l`
if [ $A -eq 0 ];then
/usr/local/nginx/sbin/nginx
sleep 2
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi

成功后键入
启动服务:service keepalived start
停止服务:service keepalived stop

如无法启动,请确定service iptables status是否停止运行
正常情况下,tailf /var/log/messages可以成功查看 Sending gratuitous ARP 至虚拟 IP

注册开机启动

chkconfig keepalived on

测试 ip 漂移

关闭其中一个节点的服务器测试 ip 漂移,ip a | grep ip bash 会 return init ip scope global eth0

Nginx 安装

所需前置如下:
nginx-1.20.1
pcre-8.44
zlib-1.2.11
openssl-1.1.1l

安装 zlib

nginx 使用 zlib 对 http 包的内容进行 gzip

1
2
3
4
5
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make
make install

安装 pcre

nginx 的 http 模块使用 pcre 来解析正则表达式

1
2
3
4
5
tar -zxvf pcre-8.44.tar.gz
cd pcre-8.44
./configure
make
make install

安装 openssl

OpenSSL 是一个强大的安全套接字层密码库,包含主要的密码算法,常用的密钥证书封装管理功能和 SSL 协议。Nginx 不仅支持 http 协议,还支持 https

1
2
3
4
5
tar -zxvf openssl-1.1.1l.tar.gz
cd openssl-1.1.1l
./config
make
make install

编译 Nginx

1
2
3
4
5
6
7
8
9
10
tar -zxvf nginx-1.20.1.tar.gz
./configure --sbin-path=/usr/local/nginx/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--with-http_ssl_module \
--with-pcre=/home/pcre-8.44 \
--with-zlib=/home/zlib-1.2.11 \
--with-openssl=/home/openssl-1.1.1l
make
sudo make install

开启 nginx 进程,进入目录cd /usr/local/nginx/后,./nginx即启动,观察是否有[error]错误信息,启动后键入ps -ef | gref nginx查看是否有该进程,最后访问成功即启动完毕,最后可以输入./nginx -v可以浏览版本是否正确,最后带参数再启动./nginx -s reload -c nginx.conf

注意 nginx.conf 相关配置符合预期生产环境,如 keepalive_timout 等

注册服务

因为 CentOS6.x 使用的是 sysinit,CentOS7 使用的是 systemd,以下以 CentOS6.5 为例子。
于 CentOS 6.x
vim /etc/init.d/nginx
输入以下内容注册

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# this script create it by caffreyxin at 2007.10.15.
# it is v.0.0.1 version.
# if you find any errors on this scripts, please contact caffreyxin.
# and send mail to xinyflove at sina dot com.
#
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
# It has a lot of features, but it's not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf

nginxd=/usr/local/nginx/nginx
nginx_config=/usr/local/nginx/nginx.conf

nginx_pid=/var/run/nginx.pid

RETVAL=0
prog="nginx"

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

[ -x $nginxd ] || exit 0


# Start nginx daemons functions.
start() {

if [ -e $nginx_pid ];then
echo "nginx already running...."
exit 1
fi

echo -n $"Starting $prog: "
daemon $nginxd -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
}


# Stop nginx daemons functions.
stop() {
echo -n $"Stopping $prog: "
killproc $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid
}


# reload nginx service functions.
reload() {

echo -n $"Reloading $prog: "
#kill -HUP `cat ${nginx_pid}`
killproc $nginxd -HUP
RETVAL=$?
echo

}

# See how we were called.
case "$1" in
start)
start
;;

stop)
stop
;;

reload)
reload
;;

restart)
stop
start
;;

status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac

exit $RETVAL

主要对应变量 nginxd 以及 nginx_config 根据自己实际填写,最后键入chmod 755 /etc/init.d/nginx即可享用
启动服务:service nginx start
停止服务:service nginx stop
重启服务:service nginx reload

注册开机启动

JDK 安装

所需前置
jdk1.8

准备 jdk

创建 java 文件夹
mkdir /usr/local/java
将安装包转移到 java 文件夹中
mv jdk-8u202-linux-x64.tar.gz /usr/local/java/
解压安装包
tar zxvf jdk-8u202-linux-x64.tar.gz

配置 jdk

进入文件夹键入
vim /etc/profile
在末尾加上 JAVA_HOME 和 JRE_HOME,路径如下

1
2
3
4
5
JAVA_HOME=/usr/local/java/jdk1.8.0_66
JRE_HOME=/usr/local/java/jdk1.8.0_66/jre
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$JAVA_HOME/bin:$PATH
export PATH JAVA_HOME CLASSPATH

保存并退出,重新加载环境变量 source /etc/profile
校验是否安装成功
java -version
出现版本号即可成功

Tomcat 安装

解压即安装

Redis 安装

所需前置
Redis-service

解压编译安装

1
2
3
4
tar -zxvf redis-6.2.5.tar.gz
cd redis-6.2.5
make #当前目录下执行
make install --prefix=/usr/local/reids

安装成功后进入进入 src 目录启动./redis-serve看到 redis 的 logo 证明启动成功。

后台方式启动

根目录下vi redis.conf修改其中 daemonize no 为 daemonize yes
最后再次以配置文件启动即可 ./redis-server redis.conf

Q&A

在配置编译 pcre 时出现的问题 ivalid c++ compiler or c++ compiler flags

返回到根目录输入 yum install -y gcc gcc-c++即可

cannot open shared object file: No such fileordirectory

查看缺少哪些依赖包,补充编译

关于一键部署环境

可以前往https://lnmp.org/download.html(LNMP)或者https://oneinstack.com/auto/(LNMT)一键部署

简单调优最大进程数和最大文件打开数

查看ulimit -n默认 1024
临时修改的话ulimit -HSn 16384即可,重启后失效
永久修改可以前往vim /etc/security/limits.conf 修改,最后reboot即可

1
2
3
4
5
*    soft    nofile    65536
* hard nofile 65536
* soft noproc 10240
* hard noproc 10240
# End of file

参数详解:
bash: ulimit
-H 设置硬件资源限制.
-S 设置软件资源限制.
-a 显示当前所有的资源限制.可以使用该命令查看进程占用资源的情况。
-c size:设置 core 文件的最大值.单位:blocks
-d size:设置数据段的最大值.单位:kbytes
-f size:设置创建文件的最大值.单位:blocks
-l size:设置在内存中锁定进程的最大值.单位:kbytes
-m size:设置可以使用的常驻内存的最大值.单位:kbytes
-n size:设置内核可以同时打开的文件描述符的最大值.单位:n
-p size:设置管道缓冲区的最大值.单位:kbytes
-s size:设置堆栈的最大值.单位:kbytes
-t size:设置 CPU 使用时间的最大上限.单位:seconds
-v size:设置虚拟内存的最大值.单位:kbytes 5

  • 代表针对所有用户
    soft hard 软硬
    noproc 是代表最大进程数
    nofile 是代表最大文件打开数

configure: error: C compiler cannot create executables

gcc 没有安装好

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Making all in lib
make[1]: Entering directory `/usr/local/src/keepalived-1.2.24/lib'
make all-am
make[2]: Entering directory `/usr/local/src/keepalived-1.2.24/lib'
make[2]: Leaving directory `/usr/local/src/keepalived-1.2.24/lib'
make[1]: Leaving directory `/usr/local/src/keepalived-1.2.24/lib'
Making all in keepalived
make[1]: Entering directory `/usr/local/src/keepalived-1.2.24/keepalived'
Making all in core
make[2]: Entering directory `/usr/local/src/keepalived-1.2.24/keepalived/core'
CC namespaces.o
namespaces.c: In function ‘setns’:
namespaces.c:184: error: ‘__NR_setns’ undeclared (first use in this function)
namespaces.c:184: error: (Each undeclared identifier is reported only once
namespaces.c:184: error: for each function it appears in.)
make[2]: *** [namespaces.o] Error 1
make[2]: Leaving directory `/usr/local/src/keepalived-1.2.24/keepalived/core'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/keepalived-1.2.24/keepalived'
make: *** [all-recursive] Error 1

yum update glib*

离线更新 glib

http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-2.17-55.el6.x86_64.rpm > http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-common-2.17-55.el6.x86_64.rpm > http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-devel-2.17-55.el6.x86_64.rpm > http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-headers-2.17-55.el6.x86_64.rpm

rpm -Uvh xx.rpm 升级指定包
rpm -e xx.rpm 卸载由 rpm -qa | grep xxx 指定的包

免费Https证书Let Encrypt续期

1、写在前面

关于 Let’s Encrypt  免费 SSL 证书

Let’s Encrypt 作为一个公共且免费 SSL 的项目逐渐被广大用户传播和使用,是由 Mozilla、Cisco、Akamai、IdenTrust、EFF 等组织人员发起,主要的目的也是为了推进网站从 HTTP 向 HTTPS 过度的进程,目前已经有越来越多的商家加入和赞助支持。
Let’s Encrypt 免费 SSL 证书的出现,也会对传统提供付费 SSL 证书服务的商家有不小的打击。到目前为止,Let’s Encrypt 获得 IdenTrust 交叉签名,这就是说可以应用且支持包括 FireFox、Chrome 在内的主流浏览器的兼容和支持,虽然目前是公测阶段,但是也有不少的用户在自有网站项目中正式使用起来。
Let’s Encrypt  的最大贡献是它的  ACME  协议,第一份全自动服务器身份验证协议,以及配套的基础设施和客户端。这是为了解决一直以来  HTTPS TLS X.509 PKI  信任模型,即证书权威(Certificate Authority, CA)模型缺陷的一个起步。
在客户端-服务器数据传输中,公私钥加密使得公钥可以明文传输而依然保密数据,但公钥本身是否属于服务器,或公钥与服务器是否同属一个身份,是无法简单验证的。证书权威模型通过引入事先信任的第三方,由第三方去验证这一点,并通过在服务器公钥上签名的方式来认证服务器。第三方的公钥则在事先就约定并离线准备好,以备访问时验证签名之用。这个第三方就称为证书权威,简称 CA。相应的,CA 验证过的公钥被称为证书。
问题是,如果服务器私钥泄露,CA 无法离线使对应的证书无效化,只能另外发布无效记录供客户端查询。也就是说,在私钥泄露到 CA 发布无效记录的窗口内,中间人可以肆意监控服-客之间的传输。如果中间人设法屏蔽了客户端对无效记录的访问,那么直到证书过期,中间人都可以进行监控。而由于当前 CA 验证和签发证书大多手动,证书有效期往往在一年到三年。
Let’s Encrypt  签发的证书有效期只有 90 天,甚至希望缩短到 60 天。有效期越短,泄密后可供监控的窗口就越短。为了支撑这么短的有效期,就必须自动化验证和签发。因为自动化了,长远而言,维护反而比手动申请再安装要简单。
证书的有效期,我坚持认为这是合理的。Let’s Encrypt  的证书是自动签发的,对  Let’s Encrypt  的目标用户即个人站点来说,90 天已经是一个很长的时间了。特别是个人网站,域名所有权的变动是非常快的。可能前几天域名还属于张三,后几天就属于李四了。因此自动签发一个长有效期的证书是很容易产生问题的。如果证书的有效期是两年,那么经常交易域名的人就可以长时间持有已经不属于他们的域名的证书。并且这种持有不受证书吊销列表的控制,因为签发的时候,所有权是没有问题的,即使后来所有权变更了,Let’s Encrypt  也不会知道。所以设的有效期短一点,可以减少这个问题的影响。然后是易用性,现在已经有不少的  Let’s Encrypt  自动续期脚本了,配好后就不用管了,非常方便。


2、需求环境

1.主要面向续期 Let’s Encrypt 免费证书的个人网站 2.部署环境为

  • CentOS 系统
  • Nginx

当上述了解清楚后就可以开始续期我们的 Let’s Encrypt 免费证书,亦或者重新部署 Let’s Encrypt 免费证书替代你的不佳 Https


3、安装及配置

3.1 准备 acme.sh 协议

curl [https://get.acme.sh](https://get.acme.sh) | sh
若提示无权限,请使用 sudo 运行,因为 acme 生成的路径为(root)/.acme.sh 目录下 并可以创建一个  bash  的  alias,  方便你的使用: 
`alias acme.sh=
/.acme.sh/acme.sh`

3.2 生成安全证书

acme.sh  实现了  acme  协议支持的所有验证协议.  一般有两种方式验证: http  和  dns  验证.
这里仅提供三种方式面向用户生成证书文件 【www.mydomain.com】是指自己的域名,若使用Nginx配置,请对应相应的conf配置文件下的网站域名

一、寻址根目录

需要在你的网站根目录下放置一个文件,  来验证你的域名所有权,完成验证.  然后就可以生成证书

1
acme.sh  --issue  -d mydomain.com -d www.mydomain.com  --webroot   /home/wwwroot/mydomain.com/

按照官方的话来说,只需要指定域名, 并指定域名所在的网站根目录. acme.sh 会全自动的生成验证文件, 并放到网站的根目录, 然后自动完成验证. 最后会聪明的删除验证文件. 整个过程没有任何副作用。

二、链接 Apache 服务器
1
acme.sh --issue  -d mydomain.com   --apache
三、链接 Nginx 服务器
1
acme.sh --issue  -d mydomain.com   --nginx

值得我们注意的是,无论是 Apache 还是 Nginx 生成证书模式, acme.sh 在完成验证之后, 会恢复到之前的状态, 都不会私自更改你本身的配置. 好处是你不用担心配置被搞坏, 也有一个缺点, 你还需要自己手动配置 SSL 的配置否则只能成功生成证书, 你的网站还是无法访问 Https

3.3 部署安全证书

刚刚我们用 acme.sh 命令生成了安全证书,都均存放在~/.acme.sh 目录下,但是请不要直接使用此目录下的文件,  例如:  不要直接让  nginx/apache  的配置文件使用这下面的文件.  这里面的文件都是内部使用,  而且目录结构可能会变化的。
正确方法如下:

1
2
3
4
acme.sh  --installcert  -d  <domain>.com   \
--key-file /etc/nginx/ssl/<domain>.key \
--fullchain-file /etc/nginx/ssl/fullchain.cer \
--reloadcmd "service nginx force-reload"
  • 注意,分步执行,同时看看官方的说明:

    这里用的是 service nginx force-reload, 不是 service nginx reload, 据测试, reload 并不会重新加载证书, 所以用的 force-reload
    Nginx 的配置 ssl_certificate 使用 /etc/nginx/ssl/fullchain.cer ,而非 /etc/nginx/ssl/.cer ,否则 SSL Labs 的测试会报 Chain issues Incomplete 错误

3.4 更新 acme.sh

手动更新命令:
acme.sh --upgrade

自动更新命令:
acme.sh --upgrade --auto-upgrade
自动更新命令:


4、写在后面

acme.sh --list
使用该命令,可以快速查看绑定安全证书的网站

更多的参数,可以敲击acme.sh --help来查看帮助

笔者开题缘由

因为我也在续期证书的时候遇到瓶颈,当初这个证书的确是会自动续签的,但是居然在某一天停止了,所以我就找出问题,后来发现是几年来没更新  acme  协议和  letsencrypt CA  造成的,所以一口气下来就重新部署了。由于我是 Nginx 服务器上的网站,所以这件有段小插曲也是发生在 Nginx 下,最重要还是要善用nginx -t命令和systemctl status nginx.service来判定错误位置,同时在使用生成安全证书于网站根目录方式的话,记得没有权限判断这个网站是否为你时候,记得要如此操作。
尝试生成.well-known
在你的网站根目录下新建一个目录.well-known 即可
mkdir .well-known
更改配置问题
于 Nginx 配置文件 nginx.conf 做出修改

1
2
3
location ~ /\.ht {
deny all;
}

以上删除

1
2
3
location /.well-known/ {
root /XXX/XXX.com;
}

增加上述即可


2018.11.16
今天再一次续签 https  续签 A 域名不小心覆盖了 B 域名由此大家注意 nginx 问题
贴上自检命令
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
同时需要善用几个高级的 acme.sh 命令

1.高级 debug
acme.sh --issue ..... --debug 2 2.高级 Nginx
acme.sh --issue -d domain.com -w nginx:$NGINX_HOME/conf/nginx.conf

FastDFS教程及解决方案

1、准备

本篇攻略教程基于: CentOS6.5  外网云服务器 单机版 FastDFS
在配置 FastDFS 前需要准备:
gcc 的安装
安装  nginx  需要先将官网下载的源码进行编译,编译依赖  gcc  环境,如果没有  gcc  环境,则需要安装:
yum install gcc-c++


1.1 安装 Nginx

1.  直接官网下载.tar.gz 安装包

2.  使用 wget 命令下载
wget -c [https://nginx.org/download/nginx-1.14.0.tar.gz](https://nginx.org/download/nginx-1.14.0.tar.gz)

解压后即可

1
2
tar -zxvf nginx-1.14.0.tar.gz
cd nginx-1.14.0

1.2 Nginx 相关配置及指令

仅需安装成功,毋需以下操作
1.运行测试报告指令
systemctl status nginx.service
**
2.添加模块指令

1
2
3
4
5
6
./configure \
> --with-http_stub_status_module \
> --with-http_ssl_module \
> --with-http_gzip_static_module \
make
make install

**
3.验证模块指令模版
/usr/local/nginx/sbin/nginx -V  需要对应安装地址,默认目录指定为/var/temp/nginx  否则为/usr/local/nginx/

4.查找安装路径
whereis nginx

5.启停 nginx

1
2
3
4
5
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload

或者

1
2
3
service nginx start
service nginx restart
service nginx reload

6.查询 nginx 进程
ps aux|grep nginx

1.2.1 配置 Nginx

1.  下载并解压 fastdfs-nginx-module

Clone or Download > https://github.com/happyfish100/fastdfs-nginx-module/

解压  tar -xf fastdfs-nginx-module.tar

2.  添加 fastdfs-nginx-module 模块

1
2
3
4
5
6
7
./configure \
> --with-http_stub_status_module \
> --with-http_ssl_module \
> --with-http_gzip_static_module \
> --add-module=/data/wwwroot/ftp/fastdfs-nginx-module/src
make
make install
  • 注意:add-module=/data/wwwroot/ftp/XXX 是当前 fastdfs-nginx-module 解压出来的路径,由于我是 FTP 上传所以为此。请按部就班执行命令(本处使用 V1.16)

这里需要 http_stub_status_module 、 http_ssl_module 、 http_gzip_static_module 作为支撑,不然部分访问会 404 验证是否添加模块成功:
 /usr/local/nginx/sbin/nginx -V 
*本 Nginx 安装在/usr/local/  请按部就班执行命令_

1
2
3
4
5
nginx version: nginx/1.14.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --add-module=/data/wwwroot/ftp/fastdfs-nginx-module/src

看到以上提示即添加成功。


3、浅入理解 FastDFS

3.1.  什么是 FastDFS

FastDFS 是用 C 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS 很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

3.2 文件上传流程

2.3 文件下载流程

2.3 文件访问流程

客户端上传文件后存储服务器将文件 ID 返回给客户端,此文件 ID 用于以后访问该文件的索引信息。文件索引信息包括:组名,虚拟磁盘路径,数据两级目录,文件名。

  • **组名:**文件上传后所在的 storage 组名称,在文件上传成功后有 storage 服务器返回,需要客户端自行保存。
  • **虚拟磁盘路径:**storage 配置的虚拟路径,与磁盘选项 store_path*对应。如果配置了 store_path0 则是 M00,如果配置了 store_path1 则是 M01,以此类推。
  • **数据两级目录:**storage 服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据文件。
  • **文件名:**与文件上传时不同。是由存储服务器根据特定信息生成,文件名包含:源存储服务器 IP 地址、文件创建时间戳、文件大小、随机数和文件拓展名等信息。

2.4 FastDFS 图片服务器搭建

其拓扑图如下:
 


4、FastDFS 文件准备

4.1 文件准备

前面已经提及并加载了 fastdfs-nginx-module  这里是一个。
另外需要:

FastDFS_v5.08.tar > libfastcommon-1.0.7.tar.gz

还有先安装 libevent 工具
 yum -y install libevent


5、安装 FastDFS

5.1 安装 libfastcommonV1.0.7 工具包`

`

  • 解压缩

tar zxf libfastcommonV1.0.7.tar.gz

  • 安装
1
2
3
cd libfastcommonV1.0.7/
./make.sh
./make.sh install

Install 后把/usr/lib64/libfastcommon.so 文件向/usr/lib/下复制一份

可以使用下列该指令完成寻找

ll libfastcommon*

5.2 安装 Tracker 服务

  • 解压缩

tar zxf FastDFS_V5.08.tar.gz

  • 安装
1
2
3
cd libfastcommonV1.0.7/
./make.sh
./make.sh install

Install 后在/usr/bin/目录下有以 fdfs 开头的文件都是编译出来的
Install 后的配置文件都放到/etc/fdfs 文件夹

可以使用下列该指令完成新建文件夹

mkdir fdfs/
把/data/wwwroot/ftp/FastDFS/conf 目录下的所有的配置文件都复制到/etc/fdfs 下

1
2
cd /data/wwwroot/ftp/FastDFS/conf
cp * /etc/fdfs

5.3 配置并启动 Tracker 服务

修改/etc/fdfs/tracker.conf 文件  vi tracker.conf  编辑代码 键盘按下“i”键入,开始修改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# is this config file disabled
# false for enabled
# true for disabled
disabled=false
# bind an address of this host
# empty for bind all addresses of this host
bind_addr=
# the tracker server port
port=22122
# connect timeout in seconds
# default value is 30s
connect_timeout=30
# network timeout in seconds
# default value is 30s
network_timeout=60
# the base path to store data and log files
base_path=/data/wwwroot/fastdfs/tracker
  • 值得注意,base_path=换成你需要的存放服务路径,实际存在的

修改完毕后
键盘按下“ESC”键入,结束修改
并且输入
:wq保存并退出
或者
:q!强制关闭并退出

5.4 启动 Tracker 服务

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

5.5 安装 Storage 服务

单机版无需另外安装 Storage 服务

5.6 配置并启动 Storage 服务

修改/etc/fdfs/storage.conf 文件  vi storage.conf  编辑代码 键盘按下“i”键入,开始修改
值得注意几个地方:

1
2
# the port of the web server on this storage server
http.server_port=8888
  • 注意,Server 的 port 端口为 8888
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# true for binding the address configed by above parameter: "bind_addr"
# false for binding any address of this host
client_bind=true
# the storage server port
port=23000
# connect timeout in seconds
# default value is 30s
connect_timeout=30
# network timeout in seconds
# default value is 30s
network_timeout=60
# heart beat interval in seconds
heart_beat_interval=30
# disk usage report interval in seconds
stat_report_interval=60
# the base path to store data and log files
base_path=/data/wwwroot/fastdfs/storage

base_path 依旧换成你需要的存放图片路径,实际存在的

1
2
3
# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
store_path0=/data/wwwroot/fastdfs/storage

base_path0 换成你需要的首要存放图片路径,于上面相对应,实际存在的

1
2
3
# tracker_server can ocur more than once, and tracker_server format is
# "host:port", host can be hostname or ip address
tracker_server=139.129.30.222:22122
  • 注意 Tracker 服务器 IP 地址填写外网地址,注意端口 22122

以上结束修改。

5.7 启动 Storage 服务

/usr/bin/fdfs_trackerd /etc/fdfs/Storage.conf restart


5.8 配置 Client 连接服务

修改/etc/fdfs/client.conf 文件  vi client.conf  编辑代码 键盘按下“i”键入,开始修改

1
2
3
4
5
6
7
8
9
10
11
# connect timeout in seconds
# default value is 30s
connect_timeout=30
# network timeout in seconds
# default value is 30s
network_timeout=60
# the base path to store log files
base_path=/data/wwwroot/fastdfs/client
# tracker_server can ocur more than once, and tracker_server format is
# "host:port", host can be hostname or ip address
tracker_server=139.129.30.222:22122

base_path 依旧换成你需要的存放连接池的路径,实际存在的

  • 注意 Tracker 服务器 IP 地址填写外网地址,注意端口 22122

以上结束修改。

5.9 fastdfs-nginx-module 再配置

回看第二章步骤,我们已经成功编译到 NGINX 中并且验证添加模块成功,可以进行以下操作:  将/data/wwwroot/ftp/fastdfs-nginx-module/src/mod_fastdfs.conf 文件复制到/etc/fdfs 目录下再修改  vi mod_fastdfs.conf  编辑代码 键盘按下“i”键入,开始修改 值得注意几个地方:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# specify storage ids filename, can use relative or absolute path
# same as tracker.conf
# valid only when load_fdfs_parameters_from_tracker is false
# since V1.13
storage_ids_filename = storage_ids.conf
# FastDFS tracker_server can ocur more than once, and tracker_server format is
# "host:port", host can be hostname or ip address
# valid only when load_fdfs_parameters_from_tracker is true
tracker_server=139.129.30.222:22122
# the port of the local storage server
# the default value is 23000
storage_server_port=23000
# the group name of the local storage server
group_name=group1
# if the url / uri including the group name
# set to false when uri like /M00/00/00/xxx
# set to true when uri like ${group_name}/M00/00/00/xxx, such as group1/M00/xxx
# default value is false
url_have_group_name = true
  • 注意的是,Tracker 服务器 IP 地址填写外网地址,注意端口 22122,而后 url_have_group_name 需要开启不然 HTTP 访问 404
1
2
# the base path to store log files
base_path=/tmp

base_path 换成你需要的存放日志路径,实际存在的

1
2
3
4
5
# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
# must same as storage.conf
store_path0=/data/wwwroot/fastdfs/storage
#store_path1=/home/yuqing/fastdfs1

base_path 还是换成你需要的首要存放图片路径,于上面相对应,实际存在的

以上结束修改。

5.10 配置 Nginx

进入存放 Nginx 配置根目录  cd /usr/local/nginx/conf  编辑配置文件  vi nginx.conf  值得注意几个地方

1
2
user root;
worker_processes auto;

开头添加 ROOT 权限

1
2
3
4
server {
listen 80;
listen 8888;
server_name _;

添加一个 listen

1
2
3
location /group1/M00/{
ngx_fastdfs_module;
}

最后添加一个 Server,以上操作均无报错或者异常请执行复制:
/usr/lib64/libfastcommon.so 文件向/usr/lib/下复制一份
cp /usr/lib64/libfdfsclient.so /usr/lib/
然后请记得 Nginx 服务重启!


6、测试 FastDFS

1.  测试 Client 连接服务

上传一个图片(.JPG)和文字(.TXT)到 FTP 文件夹
/usr/bin/fdfs_test /etc/fdfs/client.conf upload XXX.jpg
/usr/bin/fdfs_test /etc/fdfs/client.conf upload XXX.txt
执行命令如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
This is FastDFS client test program v5.08
Copyright (C) 2008, Happy Fish / YuQing
FastDFS may be copied only under the terms of the GNU General
Public License V3, which may be found in the FastDFS source kit.
Please visit the FastDFS Home Page http://www.csource.org/
for more detail.
[2018-06-04 14:47:01] DEBUG - base_path=/data/wwwroot/fastdfs/client, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0
tracker_query_storage_store_list_without_group:
server 1. group_name=, ip_addr=139.129.109.222, port=23000
group_name=group1, ip_addr=139.129.109.222, port=23000
storage_upload_by_filename
group_name=group1, remote_filename=M00/00/00/i4Ee3lsU4GWAbt8wABBiM_6UMxA671.jpg
source ip address: 139.129.109.222
file timestamp=2018-06-04 14:47:01
file size=1073715
file crc32=4271125264
example file url: http://139.129.109.222/group1/M00/00/00/i4Ee3lsU4GWAbt8wABBiM_6UMxA671.jpg
storage_upload_slave_by_filename
group_name=group1, remote_filename=M00/00/00/i4Ee3lsU4GWAbt8wABBiM_6UMxA671_big.jpg
source ip address: 139.129.109.222
file timestamp=2018-06-04 14:47:01
file size=1073715
file crc32=4271125264
example file url: http://139.129.109.222/group1/M00/00/00/i4Ee3lsU4GWAbt8wABBiM_6UMxA671_big.jpg

若看到以上的滚动执行,现在可以跳到浏览器,键入下面的 URL

http://139.129.109.222/group1/M00/00/00/i4Ee3lsU4GWAbt8wABBiM_6UMxA671.jpg

看得到图片即表示搭建完毕。


7、结语  —  问题解决方案

Q1 访问图片报 404,而文字却没有
详细请查看 Nginx 错误和执行文件,解决问题的根本所在 切入点 Nginx 配置文件 conf

1
2
3
4
location ~ .*\.(gif|jpeg|png|bmp|swf|flv|mp4|ico|jpg)$ {
expires 30d;
access_log off;
}

查看是否有此延迟死亡配置,将 JPG 删除掉,即可成功执行。


更多问题咨询请留言,有幸看到即回复 :-)